元RX-7乗りの適当な日々 このページをアンテナに追加 RSSフィード Twitter

RX-7(FD3S)』関連のキーワードで検索されて来られた方へ。
右サイドのカテゴリ『』をクリックすると関連する項目だけが表示されます。
日々の写真は『Flickr』で公開しています。『MyMiniCity』もお願いします。

2014/12/02

Apache

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


最近すっかりブログを書く頻度が落ちてしまっているので、このブログで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)

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/rx7/20141202/p1

オススメ (一部は、最近読んでいる本とも言う)
Chef実践入門 ~コードによるインフラ構成の自動化 (WEB+DB PRESS plus) クラウド Amazon EC2/S3のすべて~実践者から学ぶ設計/構築/運用ノウハウ~ [Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ) エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド [24時間365日] サーバ/インフラを支える技術 ~スケーラビリティ、ハイパフォーマンス、省力運用 Linux-DB システム構築/運用入門 (DB Magazine SELECTION) キャパシティプランニング ― リソースを最大限に活かすサイト分析・予測・配置 スケーラブルWebサイト 実践ハイパフォーマンスMySQL 第3版 ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE) SQLアンチパターン インターネットのカタチ―もろさが織り成す粘り強い世界― ハイパフォーマンス ブラウザネットワーキング ―ネットワークアプリケーションのためのパフォーマンス最適化 Linuxの教科書―ホントに読んでほしいroot入門講座 (IDGムックシリーズ)