第2回:Apache+PHPをインストール


Apache のインストール

Web サーバの Apache を入れて Web からポスグレに接続したい訳やけど、 RedHat Linux 7.2 のインストール・オプションで Apache をチェックすれば勝手に入れてくれるので省略。 ちなみに Apache のバージョンは 1.3.22 が入ってた。 検索すればインストール解説は山んごと出てくるので詳しくはそちらを。

PHP のインストール

PHP を使って CGI を動かしたい。Perl でもいいんやけど、なんか PHP がはやってるから PHP を入れてみる。 RedHat のインストールで PHP も同様に勝手に入れてくれるけど PostgreSQL を使うにはコンパイルし直さないといけないようです。 既にインストールされてるか RPM を調べて PHP を削除する。 詳細は忘れちまいましたが・・
root# rpm -qa | grep php*
みたいにしてインストールされてる PHP を調べーの、
root# rpm -e php-3.0.18-8
みたいにして RPM から削除しーの、
次に、PHP をどこからら取ってきて、/usr/local/src/ にでも解凍する。今回は php-4.1.2 を取ってきた。 詳細は省略。それで、コンフィグ。
root# cd /usr/local/src/
root# ./configure --enable-mbstring --enable-mbstr-enc-trans --with-apxs=/usr/sbin/apxs --with-pgsql=/usr/local/pgsql
インストール時のコンフィグ・オプションはそこらへんの本とかネット情報を参考にして設定したんで詳細は不明。 やけど、このままやってみると /usr/sbin/apxs がねぇえですぜ旦那、とおこられた。 色々調べたら Apache の apache-devel-*.rpm なにやらをインストールする必要があるらしい。 こいつをインストールCDかネットでとってきて、
root# rpm -ivh apache-devel-1.3.22-2.i386.rpm
はい。それでもう一度コンフィグしてエラー無しと。最後にメイク&インストールでおしまい。
root# cd /usr/local/src/
root# ./configure --enable-mbstring --enable-mbstr-enc-trans --with-apxs=/usr/sbin/apxs --with-pgsql=/usr/local/pgsql
root# make
root# make install

httpd.conf をいじる

PHP を Web から実行できるように httpd.conf をいじる。 httpd.conf は /etc/httpd/conf にある。
AddType application/x-httpd-php みたいな設定を書き込まないといけないけど、デフォルトで書き込まれてるみたい。 そりゃそうか、インストール時に PHP の rpm が入ってたからね。 とりあえず Apache を再起動。
root# apachectl restart
PHP が使えるか確認してみる。
自分の public_html ディレクトリとかに index.php みたいなファイルを作り
<?php phpinfo() ?>
上の一文を書いてブラウザからのぞいて見る。設定値が色々とでてきたね。成功。
気になるのは index.php のファイル・パーミッション。 普通の CGI スクリプトは 755(-rwxr-xr-x) じゃないと実行できないけど、 PHP の場合は 644(-rw-rw-r--) でも動いた。実行権がなくても動くらしい。

('02.11.21)

Back