Apache 2.0.55 のRPM ファイルを作って入れ替え

えーと、かなり色々と迷走してたので本日15:15頃 - 16:00頃 までの間、Web サービスが止まっておりました。
さて、その色々な経緯を書くととても長くなるので、ウチのRHL9 環境でうまく行った(と思われる) 方法を書いておくことにします。当然ながら、他の環境でうまく行くかどうかは無保証です。

apr 関連のパッケージをインストール

ftp://ftp.kddilabs.jp/Linux/packages/fedora/core/development/SRPMS/ から、"apr-0.9.7-2.src.rpm" と"apr-util-0.9.7-3.src.rpm" をダウンロードしてビルド、インストールします。


wget ftp://ftp.kddilabs.jp/Linux/packages/fedora/core/development/SRPMS/apr-0.9.7-2.src.rpm
wget ftp://ftp.kddilabs.jp/Linux/packages/fedora/core/development/SRPMS/apr-util-0.9.7-3.src.rpm
rpmbuild --rebuild apr-0.9.7-2.src.rpm
rpmbuild --rebuild apr-util-0.9.7-3.src.rpm

出来上がったらまとめてインストール。もし依存関係でエラーが出たら、"--force" を追加。


rpm -Uvh /usr/src/redhat/RPMS/i386/apr-0.9.7-2.i386.rpm /usr/src/redhat/RPMS/i386/apr-devel-0.9.7-2.i386.rpm /usr/src/redhat/RPMS/i386/apr-util-0.9.7-3.i386.rpm /usr/src/redhat/RPMS/i386/apr-util-devel-0.9.7-3.i386.rpm

Apache をインストール

オフィシャルのSRPM ファイルがいつの間にか用意されているのでこれを利用します。ftp://ftp.kddilabs.jp/infosystems/apache/httpd/binaries/rpm/SRPMS/ から"httpd-2.0.55-1.src.rpm" をダウンロード、ビルドしてインストール。


ftp://ftp.kddilabs.jp/infosystems/apache/httpd/binaries/rpm/SRPMS/httpd-2.0.55-1.src.rpm
rpmbuild --rebuild --target i686 httpd-2.0.55-1.src.rpm
rpm -Uvh /usr/src/redhat/RPMS/i686/httpd-2.0.55-1.i686.rpm /usr/src/redhat/RPMS/i686/httpd-devel-2.0.55-1.i686.rpm

あとは"/etc/httpd/conf/httpd.conf" とかを編集したりとかして、最後に


/etc/rc.d/init.d/httpd start

して問題なく起動できればOK です。

エラー対策など

Apache 2.0.55 では"apr" と"apr-util" のバージョンが低いとhttpd サービスを上げるときにエラーが出たりするようです。以下はエラーの一例。


httpdを起動中: Syntax error on line xxx of /etc/httpd/conf/httpd.conf:
Cannot load /usr/lib/httpd/modules/mod_cgi.so into server: /usr/lib/httpd/modules/mod_cgi.so: undefined symbol: apr_procattr_addrspace_set

この件について困ってる人もいるみたいなのだけど根本的解決がよく分からず、結局"apr" と"apr-util" のバージョンをそれぞれ"0.9.7" に上げたら解決してしまったのでこれはこれで。