PHPインストール奮闘記 [PC/Internet]
※このブログ記事では、WindowsXP上のVMWare PlayerにインストールしたFedoraCore5をベースに書いていますので、あらかじめご了承くださいませ。
http://www.php.net/downloads.phpからダウンロードすれば良い。
(2006年10月29日現在、最新バージョンは5.1.6でした)
/usr/local/src/ディレクトリへ保存。
tar -xzvf php-5.1.6.tar.gzで解答。
php-5.1.6ディレクトリへ移動して、以下のコマンドを実行。
./configure --without-mysql --with-apxs=/usr/local/apache2/bin/apxs --enable-mbstr-enc-trans --enable-mbstring --enable-mbregex --enable-versioning
これで、DBインターフェースとしてのmysqlを無効にし、共有ライブラリ作成用のApache2補助ツールapxsの場所を指定し、HTTPからの入力を自動的にPHPが試用する内部文字コードに変換する機能を有効にし、日本語処理を行う関数を有効にし、PHP3のモジュールとPHP4のもモジュールが同居することを可能にします。
make
make install
cp /usr/local/php-5.1.6/php.ini-dist /usr/local/lib/php.ini
これで、PHP5モジュールがインストールされ、/usr/local/apache2/conf/httpd.confに
LoadMocule php5_module libexec/libphp5.so
が書き込まれたハズ。
PHPの拡張子である".php"をApacheに認識させるため、/usr/loca/apache2/conf/mime.typesに以下の2行を追記。
application/x-httpd-php php
application/x-httpd-php-source phps
Apacheを再起動するため、/etc/init.d/httpd restartコマンドを実行すると・・・
「Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied」などとエラーメッセージが・・・(T-T)
このエラーメッセージをそのままGoogleってみたら・・・FedoraCore5などの最新のOSでは、SElinux基準になっておりセキュリティーがかなりタイトになっているため、このエラーはlibphp5.soライブラリのセキュリティーコンテキストがOSとあっていないらしい。(実行権がない)ここをを変更してやる必要があります。
で、そのコマンドは、以下のとおり。
chcon -c -v -R -u system_u -r object_r -t lib_t /usr/local/apache2/modules/libphp5.so
これでApacheを再起動できるハズ。
・・・Apache起動せず。やはり同じエラーメッセージが表示されます。(´Д`|||)
う~ん・・・どうすればいいんだろう?
とりあえず・・・
/etc/init.d/iptables stopコマンドでファイアウォールを停止して
chkconfig iptabels offコマンドでファイアウォールの自動起動をOFFにする。
setenforce 0コマンドで、SElinuxをpermissiveモードにする。
/etc/selinux/configをviエディタで開いて、SELINUX=enforcingの行を=disableにする。
これでSElinuxが勝手に動作しないようになる。
セキュリティは落ちるけど・・・
これでApacheを起動すると、ちゃんと起動しました。
ふぅ・・・ (〃´o`)=3
ホストOS(WindowsXP Professional)で、IEなどのブラウザからhttp://ゲストOSのIPアドレス/info.phpを開くと・・・ちゃんとPHPの情報が表示されました。
これで、ApacheのモジュールとしてのPHPインストールは終了。
次は、コマンドラインとしてのPHPインストール。
/usr/local/src/ディレクトリ内にphp-bin/ディレクトリを作成して、そこへphp-5.1.6.tar.gzを/usr/local/src/からコピー。
tar -xzvf php-5.1.6.tar.gzで解答。
php-5.1.6ディレクトリへ移動して、以下のコマンドを実行。
./configure --without-mysql --enable-mbstr-enc-trans --enable-mbstring --enable-mbregex --enable-force-cgi-redirect
make
make install
これで、コマンドライン版PHPが/usr/local/bin/phpとしてインストールされました。
さてさて・・・
この後は、postgreSQLのインストールですが・・・
続きは、また今度です。
コメント 0