PHPをソースからインストールする
debian sarge にPHP5.2.0をソースからインストールした記録
構成はapache2+PHP5.2.0
apache2はdebianパッケージのものを利用
postgresqlが入っていることも前提です。
postgresql8.1.5のインストール方法は先回書きましたのでそちらを参考にしてください。
PostgreSQL8.1.5をソースからインストールする方法
準備
ここからphp-5.2.0.tar.gzをダウンロード
http://jp2.php.net/get/php-5.2.0.tar.gz/from/a/mirror
展開
$tar zxvf php-5.2.0.tar.gz $cd php-5.2.0
configureオプションでapxs2を指定するので、あらかじめapache2-prefork-devを入れておきます。
またlibxml2とlibxml2-devも入れておきましょう。
さらに、今回はGDも有効にしたいのでlibjpeg,libpngも入れておきます。
さらに、さらに、mcryptも有効にしたいのでこれもまた入れておきます。
#apt-get install apache2-prefork-dev #apt-get install libxml2 libxml2-dev #apt-get install libjpeg62 libjpeg62-dev libpng3 libpng3-dev #apt-get install mcrypt libmcrypt-dev
aptサイコー
configure
$./configure --with-apxs2=/usr/bin/apxs2 \ --enable-mbstring \ --enable-mbregex \ --enable-mbstr-enc-trans \ --enable-track-vars --with-bz2 \ --with-zlib --with-mcrypt \ --with-openssl \ --with-gd --with-pgsql=/usr/local/pgsql (実際は1行です。)
インストール
$su #make install
Apacheの設定
make install 時に勝手に以下の一文がhttp.confに追加されるので、これをコメントアウトしておきます。
#LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
/etc/apache2/mods-available/
にphp5.loadというファイルを作成
#vi /etc/apache2/mods-available/php5.load
内容は以下
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
同じディレクトリに以下の内容のphp5.confを作成
AddType application/x-httpd-php .php .phtml .php3 AddType application/x-httpd-php-source .phps
最後にApache2の起動時に先ほどの設定ファイルを読み込むようにする
# a2enmod php5 Module php5 installed; run /etc/init.d/apache2 force-reload to enable.
あとはApacheを再起動して完了です。
追記
phpinfo()を表示させようとしたら真っ白な画面しか表示されませんwww
まず、apacheのログを調べてみたら、以下のログがはかれていました。
[notice] child pid 24201 exit signal Segmentation fault (11)
何でだろーとよくログを見てみたら、ちょっと上のログに
Apache/2.0.54 (Debian GNU/Linux) mod_python/3.1.3 Python/2.3.5 PHP/4.3.10-18 PHP/5.2.0 mod_perl/1.999.21 Perl/v5.8.4 c
とありなぜか、PHP4が有効になって入るではありませんか!
ということで無効にします。
# a2dismod php4 Module php4 disabled; run /etc/init.d/apache2 force-reload to fully disable.
もう一度Apacheを再起動しphpinfo()を表示させてみたところ問題なく動きました。
ふー
完了