Apache + PHP
某所で新しくウェブサーバを立ち上げることになったんだが,PukiWiki を使いたいという声があったので PHP を組み込むことにした.
まず HTTP サーバ Apache のインストール.実はサーバには Apache がプリインストールされていたんだけど,設定を変更するのがかなり大変そうだし,そもそも最新版ではなかったので,新しくインストールし直した.その際,./configure で --enable-module=so オプションをつけて,動的モジュール組み込みができるようにする.これをしないと PHP が使えない.
続いて PHP のインストール.
% ./configure --with-apxs=/usr/apache/bin/apxs --with-pgsql=/usr/local/pgsql --without-mysql --enable-mbstring --enable-mbregex % make # make install Installing PHP SAPI module: apache apxs:Error: Activation failed for custom /usr/apache/conf/httpd.conf file. apxs:Error: At least one `LoadModule' directive already has to exist. make: *** [install-sapi] Error 1
あ,先に書かないとだめなのか.というわけで httpd.conf に
LoadModule php4_module libexec/libphp4.so
を足してから再度 make install.さらに httpd.conf に
AddType application/x-httpd-php .php
を追加し,DirectoryIndex に index.php を追加.
DirectoryIndex index.html index.php
続いて
# cp php.ini-dist /usr/local/lib/php.ini
して適当に編集.
mbstring.language = Japanese
のコメントを外すくらいかな.凝りたい人ははいろいろぐぐると出て来る.
最後に,
<?php phpinfo(); ?>
という内容のファイル phpinfo.php を作って,ブラウザでアクセスして確認する.
なお,Apache のエラーログに
[warn] module php4_module is already loaded, skipping
というのが出ていたので,httpd.conf を見たら
LoadModule php4_module libexec/libphp4.so
がなぜか 2 行もあったので,make install 時に追加されたのかも知れない.1 行削除しておいた.謎.