====== 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]]\\