らくがきちょう

なんとなく

CentOS8 に caddy2 (beta6) をインストールする

Caddyプラグインで拡張可能な高機能 Web サーバです。 但し、公式サイトからダウンロード出来るバイナリをそのまま使う場合は商用ライセンスの購入が必要なんだそうです。 Caddy は現在、バージョン 2 系が開発中だそうですが、今回はバージョン 2 をインストールしてみます。 ただ、現状で Caddy2 は開発中の為、ドキュメントが少なく、またバージョン 1 から大幅に設定方法も変更されている為、安定して使いたい方にはお勧め出来ないかも知れません…

インストール

GitHub からバイナリをダウンロードし、実行権限を付与したら Well Known Port を Listen 出来るようにしておきます。

curl -L https://github.com/caddyserver/caddy/releases/download/v2.0.0-beta6/caddy2_beta6_linux_amd64 -o /usr/local/bin/caddy
chmod 755 /usr/local/bin/caddy
setcap cap_net_bind_service=+ep /usr/local/bin/caddy

関連ディレクトリの作成

以下、2 つのディレクトリを作成しておきます。

  1. コンフィグ保存用ディレクト
  2. コンテンツ保存用ディレクト
mkdir -p /etc/caddy/
mkdir -p /var/www/html/

設定ファイル

以下の内容で設定ファイルを保存します。

cat << EOF > /etc/caddy/Caddyfile
{
    "apps": {
        "http": {
            "servers": {
                "myserver": {
                    "listen": [
                        ":80"
                    ],
                    "routes": [
                        {
                            "handle": [
                                {
                                    "handler": "file_server",
                                    "root": "/var/www/html"
                                }
                            ]
                        }
                    ]
                }
            }
        }
    }
}
EOF

開始する

caddy を開始します。

caddy start -config /etc/caddy/Caddyfile

実際には以下のように表示されます。 start オプションでは無く、run オプションを指定するとフロントエンドで動作します。

# caddy start -config /etc/caddy/Caddyfile
2019/10/27 22:19:19 Caddy 2 admin endpoint listening on localhost:2019
2019/10/27 22:19:19 [INFO] Server myserver is only listening on the HTTP port 80, so no automatic HTTPS will be applied to this server
2019/10/27 22:19:19 [INFO] tls: Cleaned up storage unit(s)
2019/10/27 22:19:19 Caddy 2 serving initial configuration
2019/10/27 22:19:19 [INFO][cache:0xc00009b090] Started certificate maintenance routine
Successfully started Caddy (pid=1766)

参考