// 
//     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サーバー(IIS、Xitamiなど)に追加できますが、最も一般的に使用されるのは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デバッガのインストールと有効化>>

Apache、MySQL、およびPHPのインストールについては、link:https://help.ubuntu.com/community/ApacheMySQLPHP[+Ubuntuコミュニティ+]を参照してください。


[[lamp]]
=== ソフトウェア・パッケージを同時にインストール

Ubuntuには、PHP環境に必要なパッケージがすべて含まれるLinux AMP (LAMP)パッケージがあります。ターミナル・ウィンドウのコマンド・プロンプトで次のコマンドを実行することで、ソフトウェアをインストールできます。


[source,bash]
----

sudo tasksel install lamp-server
----

 ``lamp-server`` パッケージには、最適なバージョンのPHP、Apache 2、MySQL、およびPHP5-MySQLが含まれます。


[[separate-packages]]
=== ソフトウェア・パッケージを別々にインストール

LAMPパッケージのセット全体をインストールするかわりに、パッケージを別々にインストールすることもできます。これは、Apacheサーバーや、MySQLデータベース・サーバーなど、いずれかのコンポーネントをインストール済である場合に便利です。コマンド行ツールまたはSynapticパッケージ・マネージャのGUIを使用できます。

インストールする個々のパッケージは次のとおりです。

* apache2
* php5
* mysql-server
* php5-mysql


===  


=== インストールの確認

PHP Web Stackを設定した後に、正しくインストールされていること、およびApacheサーバーでPHPエンジンが認識されていることを確認します。

ApacheとPHPがインストールされ、実行されていることを確認するには、NetBeans IDEを開き、link:./project-setup.html[+PHPプロジェクトを作成+]します。 ``index.php`` ファイルに、PHPメソッド ``phpinfo()`` を入力します。ファイルを実行します。標準のPHP情報ページが表示されます。

image::images/ubuntu-phpinfo.png[]


[[troubleshooting]]
=== トラブルシューティング

次に、UbuntuでPHPスタックのインストールを確認する際に頻繁に発生する問題をいくつか示します。

* *ブラウザ・ウィンドウに ``~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
----


.  ``gedit`` アプリケーションを実行し、そこで新しい構成ファイル( ``mysite`` )を編集します。

[source,bash]
----

gksudo gedit /etc/apache2/sites-available/mysite 
----
要求された場合は、オペレーティング・システムのインストール時にルート・ユーザー用に指定したパスワードを入力します。


. ドキュメント・ルートを変更し、新しい場所を指定します。

[source,bash]
----

/home/<user>/public_html/
----


. Directoryディレクティブを変更します。

[source,bash]
----

<Directory /var/www/>
----
次と置き換えます。

[source,bash]
----

<Directory /home/user/public_html/>
----

image::images/ubuntu-change-directory-root.png[]



. ファイル ``mysite`` を保存します。


=== 新規仮想ホストのアクティブ化

1. デフォルトのホストを非アクティブ化し、新しいホストをアクティブ化するには、<<launchTerminal,ターミナルを起動>>し、ターミナル・ウィンドウで次の2つのユーティリティを実行します。

[source,bash]
----

sudo a2dissite default &amp;&amp; sudo a2ensite mysite
----


. Apache HTTPサーバーを再起動します。

[source,bash]
----

sudo /etc/init.d/apache2 reload
----


== MySQLデータベース・サーバーの構成

MySQLデータベース・サーバーのインストール時に、ルート・ユーザーが作成されます。インストール中に、ルート・ユーザーのパスワードを設定するダイアログが開きます。このダイアログが開かなかったか、このダイアログでパスワードを設定しなかった場合は、MySQLのルート・ユーザーのパスワードを今すぐ作成する必要があります。他のMySQLサーバー・ユーザーを作成するには、パスワードが必要になります。



. MySQLサーバーに接続するには、<<launchTerminal,ターミナルを起動>>し、ターミナル・ウィンドウで次のコマンドを入力します。

[source,bash]
----

mysql -u root -p
----
MySQLコマンド・プロンプトが表示されます。


. コマンド・プロンプトで次のコマンドを入力し、[Enter]を押します。

[source,sql]
----

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<yourpassword>');
----
コマンドが正常に実行されると、次のメッセージが表示されます。

[source,bash]
----

Query OK, 0 rows affected (0.00 sec)
----


== XDebugデバッガのインストールと有効化

次の手順は、XDebugを使用する場合にのみ必要です(これはPHP開発のオプションです)。XDebugはPHPの拡張機能です。これがPHP Web Stack用に正しく構成されている場合は、NetBeans IDEで自動的に使用されます。XDebugとNetBeans 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 DevelopmentとPEARという2つの追加モジュールが必要です。

1. <<startSynapticPackageManager,Synapticパッケージ・マネージャ>>を起動します。
2. 「インストール済」パネルに切り替え、makeモジュールがすでにインストールされていることを確認します。
3. 「すべて」タブに切り替え、次のパッケージの横にあるチェックボックスを選択します。
* php5-dev
* php-pear
各項目で、コンテキスト・メニューからインストールの「マーク」を選択します。


. 依存パッケージの一覧が表示された「依存により要求された変更を追加しますか?」ダイアログ・ボックスが開きます(依存パッケージも、ソフトウェアの機能を有効にするためにインストールされます)。「マーク」をクリックします。


. システムが「Synapticパッケージ・マネージャ」パネルに戻ると、選択したパッケージにインストールのマークが付いています。


. ツールバーで「適用」を選択します。インストール対象として選択したパッケージの一覧が表示された「次の変更を適用のサマリー」パネルが開きます。「適用」をクリックします。


. ダウンロードとインストールが正常に完了したら、「変更を適用」パネルが開きます。「閉じる」をクリックします。

NOTE:  ターミナル・ウィンドウで次のコマンドを実行することで、モジュールをインストールすることもできます。 ``aptitude install php5-dev php-pear`` 



. これでXDebugをダウンロードし、インストールできます。ターミナル・ウィンドウに次のコマンドを入力します。

[source,bash]
----

sudo pecl install xdebug
----


=== XDebugの有効化

XDebugを有効にするには、<<gedit, ``gedit`` >>テキスト・プロセッサでphp.iniファイルを編集する必要があります。

1.  ``gedit`` テキスト・プロセッサを起動するには、<<launchTerminal,ターミナル>>を起動し、コマンド・プロンプトで次のコマンドを入力します。

[source,bash]
----

gksudo gedit
----
要求された場合は、オペレーティング・システムのインストール時にルート・ユーザー用に指定したパスワードを入力します。


. ファイル ``/etc/php5/apache2/php.ini`` を開きます。


. ファイルに次の行を追加します。

[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の学習に戻る+] 

