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 行削除しておいた.謎.