Caddy は、シンプルで高速なウェブサーバーとして広く利用されています。特に、HTTPS を標準でサポートし、設定が簡単であることが特徴です。ここでは、Ubuntu 16.04 に Caddy をインストールし、設定する手順を詳しく説明します。
1. 必要なパッケージのインストール
Caddy をインストールするために、まずはシステムを最新の状態に更新します。ターミナルを開き、次のコマンドを実行して必要なパッケージをインストールします。
bashsudo apt update sudo apt upgrade -y sudo apt install -y curl
これにより、必要なパッケージがインストールされ、システムが最新の状態になります。
2. Caddy のインストール
Caddy は公式のリポジトリからインストールできます。まず、Caddy のリポジトリをシステムに追加します。次のコマンドを実行します。
bashcurl -s https://api.caddyserver.com/install.sh | bash -s personal
このコマンドは、Caddy のインストールスクリプトをダウンロードし、インストールを自動で行います。「personal」オプションは、Caddy を個人用にインストールするための設定です。
インストールが完了したら、Caddy が正しくインストールされたことを確認するために、次のコマンドを実行します。
bashcaddy -v
これで、Caddy のバージョン情報が表示されれば、インストールは成功です。
3. Caddy をサービスとして設定
Caddy をシステムサービスとして設定することで、システム起動時に自動的に起動するように設定できます。次に、systemd
のサービスファイルを作成します。
まず、サービスファイルを作成するために、以下のコマンドで caddy.service
ファイルを編集します。
bashsudo nano /etc/systemd/system/caddy.service
以下の内容を caddy.service
ファイルに追加します。
ini[Unit]
Description=Caddy web server
After=network.target
[Service]
User=root
ExecStart=/usr/local/bin/caddy run --environ --config /etc/caddy/Caddyfile
Restart=on-failure
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
この設定ファイルは、Caddy を root ユーザーで実行し、システム起動時に自動的に起動するようにします。
サービスファイルを保存したら、次のコマンドを実行してサービスをリロードし、Caddy を起動します。
bashsudo systemctl daemon-reload
sudo systemctl enable caddy
sudo systemctl start caddy
これで、Caddy がサービスとして実行されるようになります。Caddy が正しく起動したかどうかを確認するには、次のコマンドを実行します。
bashsudo systemctl status caddy
Caddy が正常に動作していることが確認できれば、設定は完了です。
4. Caddy の設定
Caddy の設定ファイルは /etc/caddy/Caddyfile
にあります。このファイルを編集して、ウェブサイトの設定を行います。例えば、以下のような設定を追加することができます。
textyourdomain.com { root /var/www/html gzip log /var/log/caddy/access.log errors /var/log/caddy/error.log }
この設定では、yourdomain.com
のリクエストを受け付け、/var/www/html
ディレクトリにあるファイルを提供します。また、ログファイルも設定しています。
設定を変更した後は、Caddy を再起動して変更を反映させます。
bashsudo systemctl restart caddy
5. ファイアウォールの設定
もし Ubuntu のファイアウォールが有効になっている場合、Caddy が外部からアクセスできるようにファイアウォール設定を変更する必要があります。次のコマンドを実行して、HTTP および HTTPS のトラフィックを許可します。
bashsudo ufw allow 80,443/tcp sudo ufw reload
これにより、ポート 80(HTTP)および 443(HTTPS)での通信が許可されます。
6. SSL 証明書の設定
Caddy は、HTTPS を簡単に設定できるため、SSL 証明書の取得と設定が簡単に行えます。Caddy が自動で Let’s Encrypt を使用して SSL 証明書を取得してくれます。上記の Caddyfile の設定を以下のように変更すれば、Caddy は自動で HTTPS 設定を行います。
textyourdomain.com { root /var/www/html gzip log /var/log/caddy/access.log errors /var/log/caddy/error.log tls [email protected] }
この設定では、Caddy は自動的に SSL 証明書を取得し、HTTPS を有効にします。tls
オプションには、証明書を発行するためのメールアドレスを指定します。
設定を変更した後、再度 Caddy を再起動して設定を反映させます。
bashsudo systemctl restart caddy
7. Caddy の停止と再起動
Caddy を停止するには、次のコマンドを実行します。
bashsudo systemctl stop caddy
Caddy を再起動するには、以下のコマンドを使用します。
bashsudo systemctl restart caddy
8. Caddy のログ確認
Caddy の動作ログやエラーログは、指定したログファイルに保存されます。ログファイルを確認することで、問題が発生した場合にトラブルシューティングができます。
bashtail -f /var/log/caddy/access.log
tail -f /var/log/caddy/error.log
これにより、Caddy のアクセスログおよびエラーログがリアルタイムで表示されます。
結論
Caddy は、シンプルで高速なウェブサーバーであり、Ubuntu 16.04 に簡単にインストールして設定できます。HTTPS を標準でサポートしており、設定も直感的で非常に簡単です。このガイドに従うことで、Ubuntu 16.04 上に Caddy をインストールし、基本的なウェブサイトのホスティングを行うことができます。