最近すっかりブログを書く頻度が落ちてしまっているので、このブログで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)
- 作者: 鶴長鎮一
- 出版社/メーカー: 技術評論社
- 発売日: 2012/03/23
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 109回
- この商品を含むブログ (14件) を見る