Apache 2.4系のRPMファイルを作成する

Apache



最近すっかりブログを書く頻度が落ちてしまっているので、このブログで1人アドベントカレンダーをやろうとしてたら、早速12/1から欠損してしまう程度にはダメ人間の私でございます。こんにちは。


ということで、ライトなネタと言えばメモ整理ということで、3ヶ月以上前にやったことのhistoryを逃がすべくエントリに書いておく。タイトル通り、Apache 2.4系RPMファイルを作ったメモ。
ちなみに作った環境は CentOS 6.5 です。

ダウンロード&準備

Apache 2.4の最新版を公式のダウンロードページで確認しましょう。今日現在の最新バージョンは2.4.10です。

# wget http://ftp.jaist.ac.jp/pub/apache//httpd/httpd-2.4.10.tar.bz2

こんな感じでダウンロードしてきます。

# yum groupinstall -y "Development Tools"

ビルドするので、必要そうなものをまるっとインストールします。

httpd(Apache)をビルド

# rpmbuild -ta --clean --rmspec httpd-2.4.10.tar.bz2
error: Failed build dependencies:
	zlib-devel is needed by httpd-2.4.10-1.x86_64
	libselinux-devel is needed by httpd-2.4.10-1.x86_64
	libuuid-devel is needed by httpd-2.4.10-1.x86_64
	apr-devel >= 1.4.0 is needed by httpd-2.4.10-1.x86_64
	apr-util-devel >= 1.4.0 is needed by httpd-2.4.10-1.x86_64
	pcre-devel >= 5.0 is needed by httpd-2.4.10-1.x86_64
	openldap-devel is needed by httpd-2.4.10-1.x86_64
	lua-devel is needed by httpd-2.4.10-1.x86_64
	libxml2-devel is needed by httpd-2.4.10-1.x86_64
	distcache-devel is needed by httpd-2.4.10-1.x86_64
	openssl-devel is needed by httpd-2.4.10-1.x86_64

早速ビルドしてみると、色々と依存しているパッケージが足りないみたい。

足りないものをインストールしていく

# yum install -y zlib-devel libselinux-devel libuuid-devel pcre-devel openldap-devel lua-devel libxml2-devel openssl-devel

で、yumで入れられそうな依存パッケージはインストールして、、、

# rpm -Uvh http://195.220.108.108/linux/fedora/linux/development/rawhide/source/SRPMS/a/apr-1.5.1-3.fc22.src.rpm
# rpm -Uvh http://195.220.108.108/linux/fedora/linux/development/rawhide/source/SRPMS/a/apr-util-1.5.4-1.fc22.src.rpm
# rpm -Uvh http://195.220.108.108/linux/fedora-secondary/development/rawhide/source/SRPMS/distcache-1.4.5-23.src.rpm

無いものはRPMファイルを作るべく、src.rpmをダウンロードしてきます。ファイルは"Rpmfind"とかで探してきます。

# yum install -y lksctp-tools-devel postgresql-devel mysql-devel sqlite-devel unixODBC-devel nss-devel db4-devel expat-devel

面倒くさくなってきたので先に書いておきますが、この後、rpmbuildを実行しますが、その際に足りなかった依存パッケージを事前に入れておきますw

# rpmbuild -ba ~/rpmbuild/SPECS/apr.spec
# yum localinstall -y ~/rpmbuild/RPMS/x86_64/{apr-devel-1.5.1-3.el6.x86_64.rpm,apr-1.5.1-3.el6.x86_64.rpm}

aprをビルドして、作成されたaprやapr-develをインストール。

# rpmbuild -ba ~/rpmbuild/SPECS/apr-util.spec
# rpmbuild -ba ~/rpmbuild/SPECS/distcache.spec
# yum localinstall -y ~/rpmbuild/RPMS/x86_64/{apr-util-devel-1.5.4-1.el6.x86_64.rpm,apr-util-1.5.4-1.el6.x86_64.rpm,distcache-devel-1.4.5-23.x86_64.rpm,distcache-1.4.5-23.x86_64.rpm}

そしてapr-utilやdistcacheも同様に。

再度、httpdをビルド

# rpmbuild -ta --clean --rmspec httpd-2.4.10.tar.bz2

・・・・・省略・・・・・

Wrote: /root/rpmbuild/SRPMS/httpd-2.4.10-1.src.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/httpd-2.4.10-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/httpd-devel-2.4.10-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/httpd-manual-2.4.10-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/httpd-tools-2.4.10-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/mod_authnz_ldap-2.4.10-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/mod_lua-2.4.10-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/mod_proxy_html-2.4.10-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/mod_socache_dc-2.4.10-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/mod_ssl-2.4.10-1.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/httpd-debuginfo-2.4.10-1.x86_64.rpm

・・・・・省略・・・・・

+ exit 0


こんな感じで、rpmbuildが通って、複数のRPMファイルが作成されるはずなので、

# yum localinstall -y ~/rpmbuild/RPMS/x86_64/{httpd-2.4.10-1.x86_64.rpm,httpd-tools-2.4.10-1.x86_64.rpm,mod_proxy_html-2.4.10-1.x86_64.rpm,mod_ssl-2.4.10-1.x86_64.rpm}

あとは、このように必要なRPMファイルをインストールしてやればOKでございます。
ちなみに、Apache 2.4系のネタはしばらく続きます。
それでは! =͟͟͞͞(๑•̀=͟͟͞͞(๑•̀д•́=͟͟͞͞(๑•̀д•́๑)=͟͟͞͞(๑•̀д•́


サーバ構築の実際がわかる Apache[実践]運用/管理 (Software Design plus)

サーバ構築の実際がわかる Apache[実践]運用/管理 (Software Design plus)