PHPのインストール(Apache2.0 Linux編)



Webメールとして、SquirrelMailというPHPベースのものを入れることにしたので、ApacheもPHP対応することにしました。PHPについては、これから勉強していく状況ですので、取りあえずSquirrelMailを動かす最低限のことしかしてありませんのであしからず。

■Apacheの再コンパイル

まず、ApacheでDSOモジュールとしてPHPを組み込むため、再コンパイルします。改めて書くほどのこともないのですが、Apache+SSLApacheのページを参考に、./configure時に「--enable-so」オプションをつけて再コンパイルするだけです。コンパイル後、make、make installしてApacheを再起動すれば、DSOモジュールを組み込めるようになります。

■PHP関係

ここでは、PHPのインストールと設定を行います。

◆PHP関係のrpmの削除

RedHat8.0のRPMは、mbstring付きでコンパイルされていないため使えないのでソースから入れなおすことにしました。まず、PHPのrpmパッケージがインストールされているか確認し、インストールされていたら削除します。

 # rpm -qa | grep php
 php-4.2.2-8.0.5
 php-imap-4.2.2-8.0.5
 php-ldap-4.2.2-8.0.5
 php-pgsql-4.2.2-8.0.5
 # rpm -qa | grep php | xargs rpm -e


◆PHPのインストール

PHPのソースファイルを、初め本家からダウンロードしてきましたが、PHP 4.3.2 のprintf/sprintf/vprintf/vsprintf関数に問題があるとのことなので、こちらからダウンロードしなおしました。ダウンロードしたのは、php4-STABLE-200306300130.tar.gzです。ソースファイルを展開し、configureを実行し、Makeしてインストールします。
少し調査不足ですが、環境によってMySQL関係でconfigureがうまくいかないことがあります。本質的な対処ではないですがMySQLをインストールして、シンボリックリンクを張っておくことで回避しました。

 $ tar zxfv php4-STABLE-200306300130.tar.gz
 $ cd php-4.3.2
 $ ln -s /usr/include/mysql /usr/mysql
 $ ./configure \
  --with-apxs2=/usr/local/apache2/bin/apxs \
  --enable-mbstring \
  --enable-mbregex \
  --enable-zend-multibyte \
  --with-gd \
  --enable-gd-native-ttf \
  --with-freetype-dir=/usr \
  --with-png-dir=/usr \
  --with-zlib \
  --with-jpeg-dir=/usr \
  --with-pgsql=/usr \
  --with-mysql=/usr
 $ make
 $ su
 # make install

configureのオプションは、以下を選択しました

◆PHPの設定

PHPの設定は、下記のようにソースディレクトリにあるphp.ini-distを/usr/local/lib/php.iniにコピーし設定します。設定変更したところ(大半はコメントアウトを外すだけ)を中心に記載します。

 # cp php.ini-dist /usr/local/lib/php.ini
 # vi /usr/local/lib/php.ini

  output_buffering = On
  output_handler = mb_output_handler
  default_charset = Shift_JIS
  session.save_path = /tmp/php
  [mbstring]
  mbstring.language = Japanese
  mbstring.internal_encoding = EUC-JP
  mbstring.http_input = auto
  mbstring.http_output = SJIS
  mbstring.encoding_translation = On
  mbstring.detect_order = auto
  mbstring.substitute_character = none;
  mbstring.script_encoding = auto

 [Esc]、[:]、[w]、[q]で保存。

php.iniの設定の概要は、以下のとおりです。


■ApacheのPHP関連の設定

ここで、ApacheのPHP関係の設定を行います。/usr/local/apache2/conf/httpd.confを開き、下記を設定します。通常なら、LoadModuleに関してはインストール時にDSOモジュールのところに追加されているはずなので、AddTypeのみ追加すれば大丈夫です。
また、DirectoryIndexにindex.phpを追加しておきます。なお、inde.htmは、おやじが基本でを.htmを使用しているため追加しています。設定が完了したらApacheを再起動しておきます。

 # vi /usr/local/apache2/conf/httpd.conf

  LoadModule php4_module modules/libphp4.so
  AddType application/x-httpd-php .php

  DirectoryIndex index.html index.htm index.html.var index.php

 [Esc]、[:]、[w]、[q]で保存。

 # /etc/rc.d/init.d/httpd2 restart


◆PHPの動作確認

ここで、PHPが正常に動作しているか確認しておきます。下記のように適当な名前のphpファイルを作成しDocumentrootに置き、ブラウザで http://www.aconus.com/test.php とアクセスすると、PHPが使えるようになっていればサーバのPHP関係の情報が表示されます。

 # vi /home/test.php

  <?php phpinfo(); ?>

 [Esc]、[:]、[w]、[q]で保存。



Top Pageへ