CentOSにWebサーバH2Oをインストールする方法

WebサーバのH2Oをcentos7.3にインストールしたときの手順を紹介します。

インストール方法

yumからインストールしますので非常に簡単です。 標準リポジトリにはありませんので、bintray-tatsushid-h2oリポジトリを追加してインストールします。

yumリポジトリの追加

以下のファイルを新規で作成します。 (同ディレクトリ内で拡張子が.repoであればファイル名は変更しても大丈夫です。)

vi /etc/yum.repos.d/h2o.repo

h2o.repoに以下の内容を記載して保存します。

[bintray-tatsushid-h2o-rpm]
name=bintray-tatsushid-h2o-rpm
baseurl=https://dl.bintray.com/tatsushid/h2o-rpm/centos/$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=0

今回はリポジトリを自動で有効にしないようにするため、enabled=0を指定していますが、 自動更新したい場合はenabled=1でもいいと思います。 また、1行目の[bintray-tatsushid-h2o-rpm]は任意の文字列でもOKです。 変更した場合は次のインストールコマンドの引数enablerepoも同じものに変更してください。

yumインストール

以下のコマンドを実行してh2oをインストールします。

sudo yum install h2o --enablerepo=bintray-tatsushid-h2o-rpm

サービスの起動

まず、OS再起動時に自動起動するようにします。

systemctl enable h2o.service

次に、h2oサービスを起動します。

systemctl start h2o.service

最後に、h2oサービスが起動したことを確認します。

systemctl status h2o.service
● h2o.service - H2O - the optimized HTTP/1, HTTP/2 server
   Loaded: loaded (/usr/lib/systemd/system/h2o.service; enabled; vendor preset: disabled)
   Active: active (running) since 水 2017-11-15 23:34:47 JST; 1 weeks 4 days ago
  Process: 96393 ExecStop=/bin/kill -TERM ${MAINPID} (code=exited, status=0/SUCCESS)
  Process: 55685 ExecReload=/bin/kill -HUP ${MAINPID} (code=exited, status=0/SUCCESS)
 Main PID: 96397 (perl)
   CGroup: /system.slice/h2o.service
           tq55686 /usr/sbin/h2o -c /etc/h2o/h2o.conf
           tq55689 /usr/sbin/h2o -c /etc/h2o/h2o.conf
           tq55695 perl -x /usr/share/h2o/annotate-backtrace-symbols
           mq96397 perl -x /usr/share/h2o/start_server --pid-file=/var/run/h2...

上から3行目にActive: active (running)と表示されれば正常に起動しています。