目次

CentOS5.2でApache2.2インストール

環境

コンフィグ

 # tar zxvf httpd-2.2.9.tar.gz
 # cd httpd-2.2.9
 # ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite=shared --enable-ssl --enable-speling=shared
 ・
 ・
 ・
 configure: error: ...No recognized SSL/TLS toolkit detected

enable-speling=sharedはmod_spelingを使用する場合に。

エラー対処

これでコンフィグ通ります。

 # yum install openssl-devel

起動スクリプト用意

 # cp /usr/local/src/httpd-2.2.14/build/rpm/httpd.init /etc/init.d/httpd
 # chmod 755 /etc/init.d/httpd

-PATHの修正

 # vi /etc/init.d/httpd
     54 #apachectl=/usr/sbin/apachectl
     55 apachectl=/usr/local/apache2/bin/apachectl
     56 #httpd=${HTTPD-/usr/sbin/httpd}
     57 httpd=${HTTPD-/usr/local/apache2/bin/httpd}
     58 prog=httpd
     59 #pidfile=${PIDFILE-/var/log/httpd/httpd.pid}
     60 pidfile=${PIDFILE-/usr/local/apache2/logs/httpd.pid}

-chkconfigに登録

 # /sbin/chkconfig --add httpd
 # /sbin/chkconfig httpd on

-スタート

 # /sbin/service httpd start

Apache起動で変なエラー

 httpd: Syntax error on line 55 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server: /usr/local/apache2/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

「SELinuxポリシーが適用されて、エラーの出たライブラリの

セキュリティコンテキストが適切に設定されていない」ことを意味するそうです。

対処

SELinuxを無効にするか、下のコマンド

 chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t libphp5.so

PHP

 ./configure --with-apxs2=/usr/local/apache2/bin/apxs \
 --with-mysql=/usr/local \
 --with-pgsql=/usr/local/pgsql \
 --enable-cli \
 --enable-pear \
 --with-tsrm-pth \
 --with-gd --with-zlib \
 --with-freetype-dir=/usr/local \
 --with-jpeg-dir=/usr/local \
 --with-png-dir=/usr/local \
 --enable-force-cgi-redirect \
 --enable-mbstring \
 --enable-mbstr-enc-trans \
 --enable-trans-sid \
 --enable-versioning \
 --enable-gd-native-ttf \
 --enable-gd-jis-conv

httpd.confに追加

 AddType application/x-httpd-php .php .html