本節には、UnixもしくはWindowsプラットフォームで
Apache 2.0にPHPをインストールするための説明や
ヒントがあります。
| 警告 |
Apache 2.0とPHPの組み合わせを(Unix、Windows
どちらのプラットフォームでも)実運用環境で使用しないでください。
|
Apache 2.0サーバに関する基本的な知識を得るために、Apache Documentationを一読することを
お勧めします。
PHP 4.3.0がリリースされるまでの間は、Apache 2.0の最新バージョンと
以下のいずれかのリリースとの組み合わせで使用することをお勧めします。
上記の
PHPバージョンはApache 2.0.40以降と
互換性があります。
注意:
Apache 2.0 SAPIサポートはPHP 4.2.0から開始されて
おり、PHP 4.2.3はApache 2.0.39との組み合わせで動作することが
確認されています。ただし他のApache 2バージョンとの組み合わせでの
動作は保証されていません。PHP 4.2.3とApache 2.0.39との組み合わせに
ついてもお勧めはしません。
上記で触れている全てのPHPバージョンはApache 1.3.x
では問題なく動作します。
最新バージョンのApache 2.0を
ダウンロードして上述のいずれかのバージョンのPHPを用意してください。
このクイックガイドはApache 2.0でPHPを動作させるための
基本的な部分しかカバーしていません。更なる情報についてはApache Documentationをご覧ください。
情報が古く不正確になってしまうため、ここには詳細なバージョン番号は
記述されていません。'NN'という文字列をご使用のバージョンに適宜置き換えて
ください。
例 3-6.
インストールガイド(Apache 2 Shared Module Version)
1. gzip -d httpd-2_0_NN.tar.gz
2. tar xvf httpd-2_0_NN.tar
3. gunzip php-NN.tar.gz
4. tar -xvf php-NN.tar
5. cd httpd-2_0_NN
6. ./configure --enable-so
7. make
8. make install
この状態でApache 2.0.NNが/usr/local/apache2で使用可能になっており、
モジュールのダイナミックロードと標準MPMのpreforkがサポートされている
はずです。正しくインストールされたかどうかをテストするために
Apacheサーバを起動するには:
/usr/local/apache2/bin/apachectl start
とします。PHPの設定を開始するためにサーバを停止するには:
/usr/local/apache2/bin/apachectl stop
とします。
9. cd ../php4-NN
10. ./configure --with-apxs2=/usr/local/apache2/bin/apxs
11. make
12. make install
13. cp php.ini-dist /usr/local/lib/php.ini
php.iniファイルを編集してPHPオプションを適宜設定して
ください。もしphp.iniを他の場所で使用したい場合は
--with-config-file-path=/pathをステップ10で指定して
ください。
14. httpd.confを編集して以下の行が記述されていることを確認して
ください。
LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php
拡張子は自由に設定することが出来ます。.phpというのは私たちが
挙げた例の一つ過ぎません。
LoadModule文の右項に記述するパスにあなたのシステム上でのPHPモジュールの
位置を記述します。これまでのステップ通り実行すれば上記の値のままで
問題ないではずです。
15. Apacheサーバを起動してください:
/usr/local/apache2/bin/apachectl start |
|
上記の手順で、PHPSAPIモジュールサポートを有効にして
Apache 2.0を動作させることが出来ます。もちろん、Apacheと
PHP共にもっと多くのconfigureオプションを指定することが出来ます。
詳しい情報を得るにはそれぞれのソースツリーディレクトリで./configure
--helpを実行してください。マルチスレッド版のApache 2.0を
構築する場合は、標準MPM-Moduleであるpreforkを
workerもしくはperchildで
上書きする必要があります。このためには、上記のステップ6で--with-mpm=workerもしくは--with-mpm=perchildを指定します。マルチ
スレッド版については、その動作に関して十分注意してください。
詳細はApacheドキュメントのMPM-Modules
を参照してください。
注意:
マルチスレッド版のApacheを構築する場合は、あなたのシステムがスレッドを
サポートしている必要があります。また、この場合PHPを
実験的なステータスにあるZend Thread Safety(ZTS)で構築することを意味します。
従って全ての拡張モジュールを使用できるわけではありません。
preforkMPM-Moduleでの構築をお勧めします。
まずWindows特有の事柄を
読むことをお勧めします。
| 警告 |
Apache 2.0はWindows NT 4.0, Windows 2000, Windows XPでの動作を
想定してデザインされており、現時点ではWindows 9xのサポートは
不完全です。これらのプラットフォームでの動作は保証されません。
|
最新バージョンのApache
2.0をダウンロードして上記のいずれかのPHPのバージョンを
用意します。まずマニュアル
インストールの手順の手順に従ってから、PHPと
Apacheの統合を開始します。
Windows上のApache 2.0でPHPを動作させるには2つの
方法があります。一つはCGIバイナリを使用する方法、もう一つはApache
モジュールDLLを使用する方法です。前者の場合は一旦Apacheサーバを
停止してhttpd.confをPHPと
動作するように編集します。
CGIバイナリを有効にするにはApacheの
httpd.confに以下の3行を追加します。
例 3-7. CGI版PHPとApache 2.0 ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe" |
|
PHPをApache 2.0のモジュールとして使用したい場合は、
まずphp4ts.dllをwinnt/system32
(Windows NT/2000)もしくはwindows/system32(Windows
XP)に移動します(既存のファイルは全て上書きしてください)。次に
PHPモジュールを有効にするため、Apacheの
httpd.confに以下の2行を追加します。
例 3-8. モジュール版PHPとApache 2.0 LoadModule php4_module c:/php/sapi/php4apache2.dll
AddType application/x-httpd-php .php |
|
注意:
c:/php/はあなたが実際にPHPを
インストールしたパスに置き換えてください。
LoadModuleディレクティブにはphp4apche.dll
ではなくphp4apache2.dll
を使用するように注意してください。前者はApache1.3.x用です。
| 警告 |
インストール時に異なったPHPバージョンのDLLを
混同しないように気をつけてください。
|