h2oのバージョンが上がっていたので、新しいバージョンのh2oのrpmファイルを作り、アップデート作業を行う。
@tatsushid さんが h2oをビルドするためのスペックファイルを準備してくれているので、こちらに甘えることとする。
また、コンパイルにはmakeが必要なので、 cmake
をインストールしておく。
1 | # yum install cmake |
そもそもh2oとは?と疑問になる方は作者のKazuhoさんの記事なぜ今、新しいHTTPサーバが必要なのかをご覧ください。
rpm作成手順
h2o-rpmをcloneする
1 | # git clone https://github.com/tatsushid/h2o-rpm.git |
rpmbuild をする。すると必要ファイルがデフォルトだとホームディレクトリに作成される。
1 | # cd h2o-rpm/rpmbuild/SPECS/ |
なお、rpmbuildコマンドがない場合は以下実行。
1 | # yum -y install rpm-build |
執筆時点で、h2oの最新安定版は1.7.0だが、specファイルを少し触りたいので一つ前のバージョンを使用する。
こちらのtarballファイルを/root/rpmbuil/SOUCES
配下に配置する。
1 | # wget https://github.com/h2o/h2o/archive/v1.6.3.tar.gz |
デフォルトだと、v1.7.0をビルドしようとするので、specファイルの
Version:
を 1.6.3
にする。
1 | # diff -ur h2o.spec_old h2o.spec |
h2o-rpm
の SOURCESにはあらかじめ必要なconfや起動ファイルがあるのでこれを丸ごと、先ほど作った /root/rpmbuild/SOURCES/
にコピーする。
1 | # ls -l ../SOURCES/ |
再度、rpmbuildをする。
1 | # rpmbuild -ba h2o.spec |
問題なければ、以下RPMファイルが作成できる。
1 | # ls -l /root/rpmbuild/RPMS/x86_64/ |
h2oアップデート
あとはrpmコマンドでアップデートするだけ。
1 | # rpm -Uvh /root/rpmbuild/RPMS/x86_64/h2o-1.6.3-1.el7.centos.x86_64.rpm |
すでに起動している場合は、 daemonのリロードが必要なので、以下コマンドを実行。
1 | # systemctl daemon-reload |