最新版のApache2.2.11 を RPMでインストールする

◆2.0系Apache最新版のソースを取得してRPMを作成方法。

① 下記のパッケージが入っていた場合はすべて削除。

# yum remove httpd 
# yum remove apr-util
# yum remove apr 

② 下記の最新版のソースをDL。

# cd /usr/src/redhat/SOURCES
# wget http://ftp.kddilabs.jp/infosystems/apache/apr
/apr-1.3.3.tar.gz
# wget http://ftp.kddilabs.jp/infosystems/apache/apr
/apr-util-1.3.4.tar.gz
# wget http://www.meisei-u.ac.jp/mirror/apache/httpd
/httpd-2.2.11.tar.gz

③ SPECファイルを取り出してコピー。

# tar zxf apr-1.3.3.tar.gz
# tar zxf apr-util-1.3.4.tar.gz
# tar zxf httpd-2.2.11.tar.gz
# cp apr-1.3.3/apr.spec ../SPECS
# cp apr-util-1.3.4/apr-util.spec ../SPECS
# cp httpd-2.2.11/httpd.spec ../SPECS

apr系を全てビルドしてインストール。

# cd ../SPECS
# rpmbuild -bb apr-util.spec

ここでこんなエラーが出てしまったら…

 エラー: ビルド依存性の失敗:
apr-devel >= 0:{version}-{release} は 
apr-util- 1.3.4-1.x86_64 に必要とされています。

該当RPMを作成するのに必要なパッケージがインストールされていないことが原因
→不足しているパッケージをyumでインストール
→rpmbuildを再実行。

上記例の場合は、
apr-util- 1.3.4-1.x86_64のRPM作成に必要なapr-devel >= 0:{version}-{release}がインストールされていないことを示している。

yum -y install apr-devel >= 0:{version}-{release}でapr-devel
 >= 0:

{version}-{release}をインストールしてから
rpmbuildを再実行。

# rpmbuild -bb apr.spec
# rpm -ivh /usr/src/redhat/RPMS/i386/apr*.rpm

apacheをビルドしてインストール

# rpmbuild -bb httpd.spec

こんなエラーが出たらviで開いてやり、コメントアウトする。

エラー: 旧来の構文はサポートされません: serial
エラー: 63 行目: 不明なタグ: Serial: 1

# rpm -ivh /usr/src/redhat/RPMS/i386/httpd
必要なパッケージ

apacheRPMで起動

service httpd start

$ /usr/sbin/httpd -f ~/httpd/conf/httpd.conf -t
httpd: Syntax error on line 99 of 
/home/usu/httpd/conf/httpd.conf: 
\ Cannot load /etc/apache2/modules/mod_ssl.so into server: \
 /etc/apache2/modules/mod_ssl.so: 
cannot open shared object file: 
\ No such file or directory

のように言われた場合、mod_ssl.so がない、該当する行をコメントアウト
(上記では、99行目)