RHEL6.1にhttpd-2.2.19(2011/05/29最新版)をインストールした時の備忘録です。
■説明
最新版のApacheをインストールするために、aprのバージョンアップも同時に行います。
Apache、aprの最新版は共にrpmパッケージ化してインストールします。
■使用OS
RHEL 6.1 64bit
■Apacheバージョン
httpd-2.2.19
■aprバージョン
apr-1.4.5
apr-devel-1.4.5
apr-util-1.3.12
■distcacheバージョン
distcache-1.5.1
※distcacheのパッケージは、RHEL6で提供されていないっぽいので以下アドレスで作成したものを使用します。
http://www.kurobuti.com/blog/?p=3878
■OSインストール方法
「基本サーバ」を選択し、追加パッケージで「開発ツール」を追加。
(1)必要のないパッケージを削除
[root@example ~]# rpm -e apr apr-util subversion※subversionが必要な場合は、後からインストールする。
(2)必要なソフトウェアのダウンロード
[root@example ~]# wget http://ftp.kddilabs.jp/infosystems/apache//apr/apr-1.4.5.tar.gz [root@example ~]# wget http://ftp.kddilabs.jp/infosystems/apache//apr/apr-util-1.3.12.tar.gz [root@example ~]# wget http://ftp.jaist.ac.jp/pub/apache//httpd/httpd-2.2.19.tar.gz [root@example ~]# wget http://www.kurobuti.com/download/distcache/1.5.1/distcache-1.5.1-1.src.rpm
(3)必要なパッケージをインストール
[root@example ~]# mount /dev/cdrom /media/ [root@example ~]# cd /media/Packages [root@example Packages]# rpm -ivh expat-devel-2.0.1-9.1.el6.x86_64.rpm openldap-devel-2.4.23-15.el6.x86_64.rpm cyrus-sasl-devel-2.1.23-8.el6.x86_64.rpm db4-devel-4.7.25-16.el6.x86_64.rpm db4-cxx-4.7.25-16.el6.x86_64.rpm openssl-devel-1.0.0-10.el6.x86_64.rpm krb5-devel-1.9-9.el6.x86_64.rpm zlib-devel-1.2.3-25.el6.x86_64.rpm keyutils-libs-devel-1.4-1.el6.x86_64.rpm libcom_err-devel-1.41.12-7.el6.x86_64.rpm libselinux-devel-2.0.94-5.el6.x86_64.rpm libsepol-devel-2.0.41-3.el6.x86_64.rpm pcre-devel-7.8-3.1.el6.x86_64.rpm
(4)ビルド環境を整える
[root@example ~]# mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
(5)aprをrpmパッケージ化
[root@example ~]# mv apr-1.4.5.tar.gz rpmbuild/SOURCES/ [root@example ~]# cd rpmbuild/SOURCES/ [root@example SOURCES]# tar zxvf apr-1.4.5.tar.gz apr-1.4.5/apr.spec apr-1.4.5/apr.spec [root@example SOURCES]# mv apr-1.4.5/apr.spec ../SPECS/ [root@example SOURCES]# rmdir apr-1.4.5 [root@example SOURCES]# cd ../SPECS/ [root@example SPECS]# vi apr.spec Source0: http://www.apache.org/dist/apr/%{name}-%{version}.tar.bz2 ↓ # 修正 Source0: http://www.apache.org/dist/apr/%{name}-%{version}.tar.gz [root@example SPECS]# sed -i "s/Prereq/Requires/g" apr.spec [root@example SPECS]# rpmbuild -bb apr.spec※「Prereq」を「Requires」に置換しているのは以下URLの(6)参照
http://www.kurobuti.com/blog/?p=3379
(6)aprのパッケージをインストール
[root@example SPECS]# rpm -ivh ../RPMS/x86_64/apr-1.4.5-1.x86_64.rpm ../RPMS/x86_64/apr-devel-1.4.5-1.x86_64.rpm 準備中... ########################################### [100%] 1:apr ########################################### [ 50%] 2:apr-devel ########################################### [100%] [root@example SPECS]# cd
(7)apr-utilをrpmパッケージ化
[root@example ~]# mv apr-util-1.3.12.tar.gz rpmbuild/SOURCES/ [root@example ~]# cd rpmbuild/SPECS/ [root@example SPECS]# wget http://www.kurobuti.com/download/apr-util/1.3.12/apr-util.spec [root@example SPECS]# rpmbuild -bb apr-util.spec※デフォルトのspecファイルを使用すると「mysql」のパッケージなども作成してしまう。
※ここでは、「apr-util」「apr-util-devel」「apr-util-ldap」のみパッケージ化を行うため修正したspecファイルを利用する。
※「apr-util-ldap」を作る理由は、apacheのビルド時に怒られるため。まぁ、apacheのspecファイルを編集してldap認証を無効化すればいいだけの話だが・・・。なるべくそのまま使いたいので今回は作成。
(8)apr-utilインストール
[root@example SPECS]# rpm -ivh ../RPMS/x86_64/apr-util-1.3.12-1.x86_64.rpm ../RPMS/x86_64/apr-util-devel-1.3.12-1.x86_64.rpm 準備中... ########################################### [100%] 1:apr-util ########################################### [ 50%] 2:apr-util-devel ########################################### [100%]
(9)distacheをrpmパッケージ化
[root@example ~]# rpm -ivh distcache-1.5.1-1.src.rpm 1:distcache 警告: ユーザ devel は存在しません - root を使用します 警告: グループ devel は存在しません - root を使用します 警告: ユーザ devel は存在しません - root を使用します 警告: グループ devel は存在しません - root を使用します ########################################### [100%] 警告: ユーザ devel は存在しません - root を使用します 警告: グループ devel は存在しません - root を使用します [root@example ~]# cd rpmbuild/SPECS/ [root@example SPECS]# rpmbuild -bb distcache.spec※「devel」ユーザでsrc.rpmを作成したため警告が出るが問題ない。
(10)distcacheインストール
[root@example SPECS]# rpm -ivh ../RPMS/x86_64/distcache-1.5.1-1.x86_64.rpm ../RPMS/x86_64/distcache-devel-1.5.1-1.x86_64.rpm 準備中... ########################################### [100%] 1:distcache ########################################### [ 50%] 2:distcache-devel ########################################### [100%] [root@example SPECS]# cd
(11)httpdのパッケージ化
[root@example ~]# mv httpd-2.2.19.tar.gz rpmbuild/SOURCES/ [root@example ~]# cd rpmbuild/SOURCES/ [root@example SOURCES]# tar zxvf httpd-2.2.19.tar.gz httpd-2.2.19/httpd.spec httpd-2.2.19/httpd.spec [root@example SOURCES]# mv httpd-2.2.19/httpd.spec ../SPECS/ [root@example SOURCES]# cd ../SPECS/ [root@example SPECS]# sed -i "s/Prereq/Requires/g" httpd.spec [root@example SPECS]# rpmbuild -bb httpd.spec
(12)httpdインストール
[root@example SPECS]# rpm -ivh ../RPMS/x86_64/httpd-2.2.19-1.x86_64.rpm ../RPMS/x86_64/httpd-devel-2.2.19-1.x86_64.rpm ../RPMS/x86_64/mod_ssl-2.2.19-1.x86_64.rpm 準備中... ########################################### [100%] 1:httpd ########################################### [ 33%] 2:httpd-devel ########################################### [ 67%] 3:mod_ssl ########################################### [100%]
(13)一応yumのアップデートパッケージから対象外にする
[root@example ~]# vi /etc/yum.conf # -- 最終行にでも追加 -- exclude=apr* exclude=httpd* exlude=mod_ssl exlude=distcache*
後は、apacheが起動するか確認する。