====== RPM パッケージを作成して Fedora 18 に最新の nginx をインストールする ======
===== rpmbuild 環境を整える =====
$ sudo yum install @development-tools
$ sudo yum install fedora-packager
===== rpmbuild を行うためのディレクトリ構造を作成 =====
必ず root 以外で作業すること。
$ rpmdev-setuptree
ホームディレクトリに以下の構造が作成される。
rpmbuild
+-- BUILD
+-- BUILDROOT
+-- RPMS
+-- SOURCES
+-- SPECS
+-- SRPMS
===== nginx の srpm をダウンロード =====
$ sudo yum install yum-utils
$ cd ~/rpmbuild/SOURCES/
$ yumdownloader --source nginx
===== srpm の中身を取り出す =====
$ rpm2cpio nginx-1.2.9-1.fc18.src.rpm | cpio -id
1499 blocks
===== nginx の最新ソースを取得 =====
[[http://nginx.org/en/download.html|nginx: download]] で最新ソースの URL を調べる。(ここでは 1.5.13 を利用)
$ curl -O http://nginx.org/download/nginx-1.5.13.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 750k 100 750k 0 0 164k 0 0:00:04 0:00:04 --:--:-- 175k
===== nginx.spec のバージョンを修正 =====
$ vi nginx.spec
ダウンロードした最新ソースのバージョンに修正する。
Version: 1.5.13
===== 署名ファイルをリネーム =====
$ mv nginx-1.2.9.tar.gz.asc nginx-1.5.13.tar.gz.asc
===== nginx のビルドに必要な依存パッケージのインストール =====
nginx.spec でも確認できますが、以下のパッケージを予めインストールする。
$ sudo yum install GeoIP-devel gd-devel libxslt-devel pcre-devel openssl-devel \
gperftools-devel perl-devel perl-ExtUtils-Embed zlib-devel systemd
===== RPM パッケージをビルド =====
$ rpmbuild -ba nginx.spec
===== 作成した RPM パッケージでインストール =====
ビルドが終わったら ~/rpmbuild/RPMS/x86_64/ に作成されたパッケージでインストールする。
$ cd ~/rpmbuild/RPMS/x86_64/
$ sudo rpm -ivh nginx-1.5.13-1.fc18.x86_64.rpm
準備しています... ################################# [100%]
更新中 / インストール中...
1:nginx-1:1.5.13-1.fc18 ################################# [100%]
===== nginx の自動起動設定 =====
$ sudo systemctl enable nginx
ln -s '/usr/lib/systemd/system/nginx.service' '/etc/systemd/system/multi-user.target.wants/nginx.service'
nginx.service; enabled を確認する。
$ sudo systemctl status nginx
nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled)
===== nginx の起動 =====
$ sudo systemctl start nginx
===== 動作確認 =====
[[http://localhost/]] にブラウザでアクセスして動作を確認する。\\
{{:linux:fedora_nginx_rpmbuild.png?640|}}
===== 参考文献 =====
[[http://fedoraproject.org/wiki/How_to_create_an_RPM_package|How to create an RPM package - FedoraProject]]\\