
CaddyはGo言語で書かれた強力なオープンソースWebサーバーで、本番環境でWebアプリケーションをホストするために使用できます。Caddyには、TLS証明書の自動更新、OSCP Stapling、静的ファイル配信、リバースプロキシ、Kubernetes Ingressなどの機能が組み込まれています。Caddyは、スタンドアロンWebサーバー、アプリケーションサーバー、さらにはコンテナ内でも実行できます。
このチュートリアルでは、Ubuntu Server 22.04 に Caddy をインストールする手順と、シンプルな静的サイトを作成する方法について説明します。
参照: 知っておくべきオープンソースと Linux の用語 40 選 (TechRepublic Premium)
必要なもの
Caddyを起動するには、Ubuntu Server 22.04のインスタンスとsudo権限を持つユーザーが必要です。これら2つが準備できたら、インストールしましょう。
Caddyのインストール方法
Ubuntu Server のインスタンスにログインし、次のコマンドで必要な依存関係を追加します。
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https -y
インストールが完了したら、次のようにして公式の Caddy GPG キーを追加します。
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o
/usr/share/keyrings/caddy-stable-archive-keyring.gpg
次のコマンドでリポジトリ ファイルを作成します。
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
apt を更新:
sudo apt-get update
最後に、次のコマンドで Caddy をインストールします。
sudo apt-get install caddy -y
次のコマンドで Caddy サービスを起動して有効にします。
sudo systemctl enable --now caddy
これで、ブラウザで http://SERVER (SERVER
ホスティング サーバーの IP アドレスまたはドメイン) にアクセスして、Caddy のデフォルトのウェルカム ページ (図 A ) を表示できるようになります。
図A

最初のCaddyサイトを作成する方法
Caddyのドキュメントルートはデフォルトでは/usr/share/caddyですが、より標準的なディレクトリに変更します。Caddyを設定する前に、以下のコマンドで新しいドキュメントルートを作成してください。
sudo mkdir -p /var/www/html
次に、次の基本的な静的サイト ファイルを作成しましょう。
sudo nano /var/ww/html/index.hml
そのファイルに次の内容を貼り付けます。
<!DOCTYPE html>
<html>
<head>
<title>Hello, TechRepublic!</title>
</head>
<body>
<h1 style="font-family: sans-serif">Hello, TechRepublic, from the Caddy web server!</h1>
</body>
</html>
ファイルを保存して閉じます。
次のコマンドで Caddy 構成ファイルを開きます。
sudo nano /etc/caddy/Caddyfile
そのファイルの上部近くに、次のセクションがあります。
:80 {
# Set this path to your site's directory.
root * /usr/share/caddy
Change that to:
:80 {
# Set this path to your site's directory.
root * /var/www/html/
ファイルを保存して閉じます。
次のコマンドで Caddy 構成をリロードします。
sudo systemctl reload caddy
ウェブブラウザで http://SERVER (SERVER
ホスティングサーバーの IP アドレスまたはドメイン) にアクセスすると、新しいウェルカム メッセージが表示されます (図 B )。
図B

Caddyには、静的ウェブサイト向けのもう一つの面白いトリックがあります。Hello, TechRepublicというメッセージを出力するページをもう一つ作成し、curlを使ってCaddyサーバーにアップロードしてみましょう。
次の内容で新しいファイルを作成します。
nano caddy.json
そのファイルに次の内容を貼り付けます。
{
"apps": {
"http": {
"servers": {
"example": {
"listen": [":2015"],
"routes": [
{
"handle": [{
"handler": "static_response",
"body": "Hello, TechRepublic!"
}]
}
]
}
}
}
}
}
ファイルを保存して閉じます。
次のコマンドを使用して、caddy.json ファイルを Caddy サーバーにアップロードします。
curl localhost:2019/load -X POST -H "Content-Type: application/json" -d @caddy.json
アップロードは瞬時に完了します。完了したら、ブラウザで http://SERVER:2015 (SERVER
ホスティングサーバーのIPアドレスまたはドメイン)にアクセスすると、「Welcome, TechRepublic!」というメッセージが表示されます(図C)。
図C

おめでとうございます。これで、軽量で超高速なCaddyウェブサーバーが稼働しました。このプラットフォームをさらに活用する方法については、後ほど改めて説明します。
Jack Wallen によるビジネス プロフェッショナル向けの最新のテクノロジー アドバイスをすべて知るには、YouTube で TechRepublic の How To Make Tech Work を購読してください。