Debian Tips

Apache2、MySQL、PHP4のインストール

このページは、Debian(Sarge)でApache2, MySQL, PHP4をインストールしたときの出来事を書いている。

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モジュールがインストールされていることになる。
phpinfoの出力画面(抜粋)

不思議なこと

上記のとおりインストールして、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つのコンピュータの上記でインストールしたモジュールはすべて同じバージョンである。 ただし、インストールした順序が異なるかもしれない。謎である。

最終更新日:2006.6.10