yumでは入れられないPHP4をインストールしたい。
インストールされていたApache2.2とPHP5は事前にアンインストールした。
インストールされていたApache2.2とPHP5は事前にアンインストールした。
- gccをインストール(コンパイルに必要)
yum install gcc
- OpenSSL-develをインストール(ApacheでSSLを使う場合に必要)
yum install openssl-devel
- (OpenSSL1.0が標準的なyumでインストールできるようになるのはいつだろう)
- (OpenSSL1.0が標準的なyumでインストールできるようになるのはいつだろう)
- Apache2.0をインストール
- 下記のconfigure~make installまでを参考にする
- 2010年4月現在、Apache2.0系の最新バージョンは2.0.63
- PHPを使う場合、MPMはpreforkでないといけないらしい → ウノウラボ Unoh Labs: Apache MPM の基礎をしっかりと理解しよう!
- Apache2.2系ではPHP4は動かない?(設定方法が分からなかったので2.0系にした)
- 試しに動かしてみる
/usr/local/apache2/bin/apachectl start
- /usr /local/apache2/conf/httpd.confのServerNameを設定しないと警告っぽいのが表示されるが、起動はされるみたい
- /usr /local/apache2/conf/httpd.confのServerNameを設定しないと警告っぽいのが表示されるが、起動はされるみたい
- flexをインストール(PHPのインストールに必要)
yum install flex
- PHP4をインストール
- 下記のconfigure~make installまでを参考にする
- configureのオプションは欲しい環境に合わせて変える
- PHP4.2以降では--enable-trans-sidは不要らしい
- 詳細は下記を参考に
- Apache2(with mod_deflate) + PHP4のインストール (主なオプションの説明)
- PHP: 中心となる configure オプションのリスト - Manual (全オプションのリスト)
- 試しに動かしてみる
/usr/local/php/bin/php -v
- SELinuxが有効な場合、Apache用PHPモジュールのラベル(セキュリティコンテキスト)を変更する
chcon -t textrel_shlib_t /usr/local/apache2/modules/libphp4.so
- 参考:cannot restore segment prot after reloc: Permission denied - Linuxシステム設定
- SELinuxが有効な場合、これを変更しないとApache(再)起動時に下記のようなエラーが出る
Syntax error on line 232 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied
- 参考:cannot restore segment prot after reloc: Permission denied - Linuxシステム設定
- Apacheの設定
vi /usr/local/apache2/conf/httpd.conf
- AddTypeを追加
AddType application/x-httpd-php .php
- DirectoryIndexを変更(index.phpを追加)
DirectoryIndex index.php index.html index.html.var
- Webコンテンツのディレクトリを変更(/var/www/htmlにする)
#DocumentRoot "/usr/local/apache2/htdocs"
DocumentRoot "/var/www/html" - Apacheを再起動
/usr/local/apache2/bin/apachectl restart
- AddTypeを追加
0 件のコメント:
コメントを投稿