Apache2, MySQL, PHP4をインストール
Debianを素で(追加のモジュールを選択しないで)インストールした後に、kon2とsudoの2つのモジュールをインストールした状態で、Apache2、MySQL、PHP4をインストールした。
konで日本語を表示できる状態で作業している。
最初は、Apache2、MySQL、PHP4のインストールである。
sudo apt-get install apache2
sudo apt-get install php4 php4-dev
sudo apt-get install mysql-server
php4-devは必要ないかもしれない。後で書くように、PHP4からmysqlのモジュールが見れなかったので、php4-devを入れてしまった。これを入れないとどうなるかはわからない。
mysql-serverモジュールをインストールすると、mysql-commonやmysql-clientもインストールされる。
MySQLのインストール時にrootのパスワードを設定するように警告がでるので、それに従っておくほうがよい。
次にapaecheがphp4を認識するようにする。
sudo apt-get install libapache2-mod-php4
/etc/apache2/apache2.confの次の2行のコメントを外す。
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
PHP4がMySQLを扱えるようにするためにphp4-mysqlモジュールをインストールする。
sudo apt-get install php4-mysql
Apache2を再起動する。
sudo /etc/init.d/apache2 restart
動作確認
次の内容のファイルを拡張子をphpとして、/var/www配下の適当な場所に置く。
以下、/var/www/phptest/test.phpとして保存したとする。
<html>
<head>
<title>php information</title>
</head>
<body>
<?php phpinfo(); ?>
</body>
</html>
Webブラウザから上記のファイル(http://Webサーバのアドレス/phptest/test.php)をアクセスし、スクロールして次のような部分があれば、PHP4にmysqlモジュールがインストールされていることになる。
不思議なこと
上記のとおりインストールして、php4にMySQLのモジュールがインストールされるときとされないときがある。
具体的には、あるコンピュータ(A)に2.4のカーネルでDebianをインストールした場合は、上記の方法でうまくいった。
ところが、別のコンピュータ(B)に2.6のカーネルでDebianをインストールした場合は、上記の方法ではApacheがPHP4は認識するが、PHP4がMySQLを認識しない状態になった。
sumihiroの作業ノート(
ここ)に/etc/php4/apache2/php.iniの次の行のコメントを外すように指示があった。
ためしにコメントを外してApache2を再起動すると、確認で示した画面が表示されてPHP4がMySQLを認識した。
;extension=mysql.so
コンピュータAの/etc/php4/apache2/php.iniを見ると上記の箇所はコメントされた状態である。ちなみに、2つのコンピュータの上記でインストールしたモジュールはすべて同じバージョンである。
ただし、インストールした順序が異なるかもしれない。謎である。