blob: bff090cd0ff0b7d82812420cf54e449e55c6c9ff [file] [log] [blame]
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
//
= Linux UbuntuでのPHP開発環境の構成
:jbake-type: tutorial
:jbake-tags: tutorials
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Linux UbuntuでのPHP開発環境の構成 - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Linux UbuntuでのPHP開発環境の構成
このチュートリアルでは、Ubuntuオペレーティング・システム(7.10以降)でPHP開発環境を構成する方法を示します。これには、PHPエンジン、MySQLデータベース、Apache Webサーバー、およびXDebugデバッガのインストールと構成が含まれます。
*このチュートリアルに従うには、次のソフトウェアとリソースが必要です。*
|===
|ソフトウェアまたはリソース |必須バージョン
|link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |PHPダウンロード・バンドル
|PHPエンジン |バージョン5
|Webサーバー |Apache HTTP Server 2.2 (推奨)
|データベース・サーバー |MySQL Server 5.0 (推奨)
|PHPデバッガ(オプション) |XDebug 2.0以降
|===
一般に、ローカルWebサーバーで開発およびデバッグが実行され、リモートWebサーバーに本番環境が置かれます。リモートWebサーバーの設定は、link:./remote-hosting-and-ftp-account.html[+NetBeans IDEを使用したリモートWebサーバーへのPHPアプリケーションのデプロイ+]で説明されています。このチュートリアルでは、ローカルWebサーバーの設定を行います。PHPのサポートは、いくつかのローカルWebサーバー(IISXitamiなど)に追加できますが、最も一般的に使用されるのはlink:http://httpd.apache.org/download.cgi[+Apache HTTP Server+]です。
== ソフトウェアのインストール
このチュートリアルでは、Ubuntu 7.04以降でPHP開発環境を構成する方法を示します。次の作業を行う必要があります。
1. Apache2 HTTPサーバー、PHP5エンジン、MySQL 5.0データベース・サーバー、およびPHP5-MySQLモジュールをインストールします。これらのパッケージは、<<lamp,LAMPスタックとして同時にインストール>>するか、<<separate-packages,別々にインストール>>できます。
2. <<specifyDocumentRoot,Apache2 HTTPサーバーのドキュメント・ルートの指定>>
3. <<configureMySQL,MySQLデータベース・サーバーの構成>>
4. <<installXDebug,XDebug 2.0デバッガのインストールと有効化>>
ApacheMySQL、およびPHPのインストールについては、link:https://help.ubuntu.com/community/ApacheMySQLPHP[+Ubuntuコミュニティ+]を参照してください。
[[lamp]]
=== ソフトウェア・パッケージを同時にインストール
Ubuntuには、PHP環境に必要なパッケージがすべて含まれるLinux AMP (LAMP)パッケージがあります。ターミナル・ウィンドウのコマンド・プロンプトで次のコマンドを実行することで、ソフトウェアをインストールできます。
[source,bash]
----
sudo tasksel install lamp-server
----
``lamp-server`` パッケージには、最適なバージョンのPHPApache 2MySQL、およびPHP5-MySQLが含まれます。
[[separate-packages]]
=== ソフトウェア・パッケージを別々にインストール
LAMPパッケージのセット全体をインストールするかわりに、パッケージを別々にインストールすることもできます。これは、Apacheサーバーや、MySQLデータベース・サーバーなど、いずれかのコンポーネントをインストール済である場合に便利です。コマンド行ツールまたはSynapticパッケージ・マネージャのGUIを使用できます。
インストールする個々のパッケージは次のとおりです。
* apache2
* php5
* mysql-server
* php5-mysql
===  
=== インストールの確認
PHP Web Stackを設定した後に、正しくインストールされていること、およびApacheサーバーでPHPエンジンが認識されていることを確認します。
ApachePHPがインストールされ、実行されていることを確認するには、NetBeans IDEを開き、link:./project-setup.html[+PHPプロジェクトを作成+]します。 ``index.php`` ファイルに、PHPメソッド ``phpinfo()`` を入力します。ファイルを実行します。標準のPHP情報ページが表示されます。
image::images/ubuntu-phpinfo.png[]
[[troubleshooting]]
=== トラブルシューティング
次に、UbuntuPHPスタックのインストールを確認する際に頻繁に発生する問題をいくつか示します。
* *ブラウザ・ウィンドウに ``~USER/PROJECT/index.php`` が見つからないというエラーが表示される。*URLから文字列 ``~USER`` を除去します。たとえば、URL ``~ubuntu/test1/index.php`` のときにこのエラーが表示される場合は、URL ``test1/index.php`` に変更します。PHPプロジェクトのURLは、NetBeans IDEでプロジェクトを作成するときに、またはプロジェクト・ノードを右クリックして「プロパティ」>「実行構成」を選択することで設定できます。
* *PHPエンジンが認識されていないかのように、ブラウザのポップアップが表示され、ファイルを開くように求められる。* ``php5-common`` パッケージに問題があります。 ``php5`` ``phpmyadmin`` に置き換えます。 ``php5-common`` を置き換えるには、次の2つのコマンドを実行します。
[source,bash]
----
apt-get --purge remove php5-commonapt-get install php5 phpmyadmin
----
== Apache2 HTTPサーバーのドキュメント・ルートの指定
ドキュメント・ルートは、Apache HTTPサーバーがブラウザで表示するファイルを取得するディレクトリです。ドキュメント・ルートは、仮想ホストを定義するファイルで指定されます。デフォルトの仮想ホストの構成ファイルは次のとおりです。
[source,bash]
----
/etc/apache2/sites-available/default
----
ドキュメント・ルートは次のとおりです。
[source,bash]
----
/var/www/
----
デフォルトの仮想ホストを編集するのではなく、独自の仮想ホストを作成して有効にすることをお薦めします。
* <<createDocumentRootLocation,ドキュメント・ルートの場所の作成>>
* <<createNewVirtualHost,新規仮想ホストでの新規ドキュメント・ルートの指定>>
* <<activateNewVirtualHost,新規仮想ホストのアクティブ化>>
=== ドキュメント・ルートの場所の作成
1. 「場所」>「ホーム・フォルダ」を選択します。
2. コンテキスト・メニューから、「フォルダを作成」を選択します。
3. フォルダ名に、たとえば「public_html」と入力します。
=== 新規仮想ホストの作成
1. ターミナルを起動するには、「アプリケーション」>「アクセサリ」>「ターミナル」を選択します。ターミナル・ウィンドウが開きます。
2. デフォルトの仮想ホストの構成ファイルを新しいファイル( ``mysite`` )にコピーするには、コマンド・プロンプトで次のコマンドを入力します。
[source,bash]
----
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite
----
[start=3]
. ``gedit`` アプリケーションを実行し、そこで新しい構成ファイル( ``mysite`` )を編集します。
[source,bash]
----
gksudo gedit /etc/apache2/sites-available/mysite
----
要求された場合は、オペレーティング・システムのインストール時にルート・ユーザー用に指定したパスワードを入力します。
[start=4]
. ドキュメント・ルートを変更し、新しい場所を指定します。
[source,bash]
----
/home/<user>/public_html/
----
[start=5]
. Directoryディレクティブを変更します。
[source,bash]
----
<Directory /var/www/>
----
次と置き換えます。
[source,bash]
----
<Directory /home/user/public_html/>
----
image::images/ubuntu-change-directory-root.png[]
[start=6]
. ファイル ``mysite`` を保存します。
=== 新規仮想ホストのアクティブ化
1. デフォルトのホストを非アクティブ化し、新しいホストをアクティブ化するには、<<launchTerminal,ターミナルを起動>>し、ターミナル・ウィンドウで次の2つのユーティリティを実行します。
[source,bash]
----
sudo a2dissite default &amp;&amp; sudo a2ensite mysite
----
[start=2]
. Apache HTTPサーバーを再起動します。
[source,bash]
----
sudo /etc/init.d/apache2 reload
----
== MySQLデータベース・サーバーの構成
MySQLデータベース・サーバーのインストール時に、ルート・ユーザーが作成されます。インストール中に、ルート・ユーザーのパスワードを設定するダイアログが開きます。このダイアログが開かなかったか、このダイアログでパスワードを設定しなかった場合は、MySQLのルート・ユーザーのパスワードを今すぐ作成する必要があります。他のMySQLサーバー・ユーザーを作成するには、パスワードが必要になります。
[start=1]
. MySQLサーバーに接続するには、<<launchTerminal,ターミナルを起動>>し、ターミナル・ウィンドウで次のコマンドを入力します。
[source,bash]
----
mysql -u root -p
----
MySQLコマンド・プロンプトが表示されます。
[start=2]
. コマンド・プロンプトで次のコマンドを入力し、[Enter]を押します。
[source,sql]
----
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<yourpassword>');
----
コマンドが正常に実行されると、次のメッセージが表示されます。
[source,bash]
----
Query OK, 0 rows affected (0.00 sec)
----
== XDebugデバッガのインストールと有効化
次の手順は、XDebugを使用する場合にのみ必要です(これはPHP開発のオプションです)。XDebugPHPの拡張機能です。これがPHP Web Stack用に正しく構成されている場合は、NetBeans IDEで自動的に使用されます。XDebugNetBeans IDEの詳細は、link:./debugging.html[+NetBeans IDEでのPHPソース・コードのデバッグ+]を参照してください。link:http://wiki.netbeans.org/HowToConfigureXDebug[+XDebugに関するNetBeans Wikiページ+]も参照してください。
[[xdebug-package]]
=== XDebugパッケージのインストール(Ubuntu 8.05以降)
Ubuntu 8.05以降では、 ``php5-xdebug`` というXDebugパッケージが使用できます。XDebugのサポートされているバージョンは2.0.3-1です。コマンド行ツールまたはSynapticパッケージ・マネージャのUIを使用してインストールできます。XDebugをインストールした後に、<<enableXDebug,XDebugの有効化>>で説明しているように、 ``php.ini`` を変更する必要があります。
=== ソースからのXDebugのビルド(Ubuntu 7.10)
ソースからXDebugをビルドするには、PHP5 DevelopmentPEARという2つの追加モジュールが必要です。
1. <<startSynapticPackageManager,Synapticパッケージ・マネージャ>>を起動します。
2. 「インストール済」パネルに切り替え、makeモジュールがすでにインストールされていることを確認します。
3. 「すべて」タブに切り替え、次のパッケージの横にあるチェックボックスを選択します。
* php5-dev
* php-pear
各項目で、コンテキスト・メニューからインストールの「マーク」を選択します。
[start=4]
. 依存パッケージの一覧が表示された「依存により要求された変更を追加しますか?」ダイアログ・ボックスが開きます(依存パッケージも、ソフトウェアの機能を有効にするためにインストールされます)。「マーク」をクリックします。
[start=5]
. システムが「Synapticパッケージ・マネージャ」パネルに戻ると、選択したパッケージにインストールのマークが付いています。
[start=6]
. ツールバーで「適用」を選択します。インストール対象として選択したパッケージの一覧が表示された「次の変更を適用のサマリー」パネルが開きます。「適用」をクリックします。
[start=7]
. ダウンロードとインストールが正常に完了したら、「変更を適用」パネルが開きます。「閉じる」をクリックします。
NOTE: ターミナル・ウィンドウで次のコマンドを実行することで、モジュールをインストールすることもできます。 ``aptitude install php5-dev php-pear``
[start=8]
. これでXDebugをダウンロードし、インストールできます。ターミナル・ウィンドウに次のコマンドを入力します。
[source,bash]
----
sudo pecl install xdebug
----
=== XDebugの有効化
XDebugを有効にするには、<<gedit, ``gedit`` >>テキスト・プロセッサでphp.iniファイルを編集する必要があります。
1. ``gedit`` テキスト・プロセッサを起動するには、<<launchTerminal,ターミナル>>を起動し、コマンド・プロンプトで次のコマンドを入力します。
[source,bash]
----
gksudo gedit
----
要求された場合は、オペレーティング・システムのインストール時にルート・ユーザー用に指定したパスワードを入力します。
[start=2]
. ファイル ``/etc/php5/apache2/php.ini`` を開きます。
[start=3]
. ファイルに次の行を追加します。
[source,ini]
----
zend_extension=/usr/lib/php5/<DATE+lfs>/xdebug.so
xdebug.remote_enable=on
----
XDebugの構成の詳細は、link:http://2bits.com/articles/setting-up-xdebug-dbgp-for-php-on-debian-ubuntu.html[+ここ+]を確認してください。
link:../../../community/lists/top.html[+users@php.netbeans.orgメーリング・リストに登録する+]ことによって、NetBeans IDE PHP開発機能に関するご意見やご提案を送信したり、サポートを受けたり、最新の開発情報を入手したりできます。
link:../../trails/php.html[+PHPの学習に戻る+]