CentOS 7.5 に H2O 最新版を yum インストールする

CentOS 構築

HTTP/2 に対応した高速 Web サーバー「H2O」をインストールします。
今回は外部リポジトリを活用して yum インストールを行います。

本手順で使用したサーバー環境は以下の通りです。

  • CentOS 7.5
  • H2O



H2O のリポジトリを yum に追加する

CentOS 7.5 の標準リポジトリでは H2O をインストールできません。
非公式ではあるものの公認されているリポジトリ bintray-tatsushid-h2o を使用します。

yum のリポジトリファイルを新規作成します。

# vi /etc/yum.repos.d/bintray-tatsushid-h2o-rpm.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=1

yum info でパッケージ情報を確認します。
H2O のパッケージが認識されていれば問題ありません。

$ yum info h2o
Available Packages
Name      : h2o
Arch      : x86_64
Version   : 2.2.5
Release   : 1.el7
Size      : 2.6 M

CentOS 7.5 に H2O を yum インストールする

yum インストールを実行します。

# yum install h2o

CentOS の起動時に、H2O も自動起動するように設定します。

# systemctl enable h2o

H2O サーバーを起動します。

# systemctl start h2o

H2O のバージョン情報を確認します。
今回は H2O 2.2.5 がインストールされました。

$ h2o --version
h2o version 2.2.5
OpenSSL: LibreSSL 2.4.5
mruby: YES

Web サーバー「H2O」の動作確認

H2O の起動状態を確認します。
staus: active(running) となっていれば OK です。

$ systemctl status h2o
● 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)

http://<サーバーのIPアドレス> にアクセスします。
AWS などのクラウドを利用している場合、ファイアウォールやポート開放設定も必要です。

 
ブラウザでアクセスした後、アクセスログの出力を確認します。
アクセス時刻や、User-Agent 情報などが正常に記録されています。

# tail /var/log/h2o/access.log
xxx.yyy.zzz.55 - - [17/Nov/2018:09:50:02 +0000] "GET / HTTP/1.1" 200 177 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"

HTML ファイルの格納場所は /var/www/html となっています。

$ ls -l /var/www/html
-rw-r--r--. 1 root root 177 Jun  1 10:25 index.html

各種設定を変更する場合、/etc/h2o/h2o.conf を編集後に H2O を再起動すれば OK です。

H2O セットアップのまとめ

CentOS 7.5 に Web サーバーの H2O をセットアップしました。
外部リポジトリを登録することで、yum コマンドでのインストールが可能です。

独自ドメインおよび HTTPS を設定することで、HTTP/2 にも対応します。
環境が揃っている場合は、高速な HTTP/2 もぜひお試しください。

【関連記事】
nginx のインストール手順 (CentOS)
MySQL のインストール手順 (CentOS)
Go 言語のインストール手順 (CentOS)
Docker のインストール手順 (CentOS)