CentOs7 Caddyでwebサーバーを構築する

CentOs7 Caddyでwebサーバーを構築する

caddyのwebサーバーの構築手順です。アクセスログやエラーログの設定、常時https化までの手順を記載してます。起動時に少し問題ありましたが、簡単に常時https化が実現できます。

環境

  • OS  CentOS Linux release 7.7.1908 (Core)
  • サーバー さくらのクラウド
  • Caddy 1.0.3

パッケージのアップデート

まずアップデートから行う

Caddyインストール

curlでインストールを行う

ユーザーの作成

ユーザーと必要なディレクトリを作成していく

Caddy.serviceをダウンロードする

caddy.serviceの変更箇所は下記

設定ファイルの再読込を行う

Caddyfile編集

確認用のhtmlを作成しておく

Caddy起動

caddyを起動してみる。まずはfirewall設定を変更

caddy起動

起動してない。エラーを見ると-log-timestamps が怪しいので、/usr/local/bin/caddyを実行してみる

-log-timestampsが定義されていない。-log-timestampsなしで実行してみる

とりあえず、起動はできたようなのでブラウザから確認してみる。

なぜ定義されていないものが実行されるのかわからないが、caddy.serviceを編集しておく

既存をコメントアウトして、下記のように編集

設定を反映させる

active (running)になっていることが確認できました

アクセスログとエラーログの設定

アクセスログとエラーログを指定したディレクトリに出力する

Caddyfileを下記のように編集する

ディレクトリを作成する

caddyを再起動して確認する

/var/log/caddyにログファイルが作成されていることが確認できる

https化

httpsでアクセス可能に設定する

下記のようにhttpからドメイン名だけに変更し、tlsを追加する

設定を反映

httpsでブラウザからアクセスしてみると、Let’s Encryptの証明書が適応されていることが確認できます

常時SSL化

最後に常時SSL化の設定を行う

redirを追加する

後は再起動すればhttpでアクセスしてもhttpsで接続されるようになります。

Caddyfileの設定サンプル

こちらにたくさんサンプルあるので参考にして下さい。
※公式はこちら