Linux で独自の Caddy Web サーバーを作成する方法

Linux で独自の Caddy Web サーバーを作成する方法
緑色のバックライトが付いたテーブルの上に置かれたコンピューターモニターの写真。

Caddy は、Linux 用の最新の使いやすい Web サーバーです。サイト構成ファイルと SSL 証明書の作成プロセスを効率化することで機能します。この記事では、Ubuntu Linux サーバーに Caddy をインストールする手順について説明します。さらに、Caddy を使用して簡単な Web ページと SSL リバース プロキシを展開する方法も説明します。

Caddy を Web サーバーとして使用する理由

NginxApacheは強力な Web サーバー デーモンですが、初心者にとっては扱いにくく複雑すぎる場合があります。Caddy は、初心者でも簡単に習得できるシンプルな構文を持つ単一のフラット ファイルである「Caddyfile」を提供することで、その複雑さを軽減します。

Caddyfile の例を表示する端末。

Caddy のもう 1 つのセールス ポイントは、すぐに Web サーバーに HTTPS を提供できることです。これは、Webサイトの SSL 設定が面倒で複雑だと感じるユーザーにとって便利です。そのため、Caddy は、管理と使用が簡単な Linux の「手間のかからない」Web サーバーを探している場合に最適です。

Caddyのインストール

Ubuntu Linux に Caddy をインストールする最初のステップは、リポジトリ キーと情報をインポートするためのツールがあることを確認することです。

開発者の Web サイトから Caddy のリポジトリ署名キーを取得します。

Caddy プロジェクトのリポジトリ ファイルをダウンロードし、マシンの「sources.list.d」ディレクトリに保存します。

次のコマンドを実行して、システムの apt リポジトリをリロードします。

次のコマンドを使用して、システムに Caddy パッケージをインストールしますapt install

最初のキャディウェブサイトを運営する

最初の Web サイトを実行するには、ホーム ディレクトリにサイトのルート フォルダーを作成します。

お気に入りのテキスト エディターを使用して index.html ファイルを作成します。

新しい HTML ファイル内に次のコード ブロックを貼り付けます。

index.html ファイルを保存し、次のコマンドを実行します。

ブラウザを使用して Web サーバーにアクセスし、Web サーバーが正常に動作していることを確認します。

localhost:8080 で実行されているサンプル Web サイトを示すスクリーンショット。

Caddyfiles を使用した Web サイトの作成

CLI ツールはシンプルな Web ページを提供するのに最適ですが、Caddy はより複雑な設定のために使いやすい「Caddyfile」も提供しています。まず、お気に入りのテキスト エディターを使用して、「/etc/caddy」の下に新しい Caddyfile を作成します。

新しい Caddyfile 内に次のコード ブロックを貼り付けます。

ホームディレクトリからシステムの「/var/www」にindex.htmlファイルをコピーします。

DNS レジストラにアクセスし、ルート サブドメインと www サブドメインに、マシンの IPv4 アドレスと IPv6 アドレスを指す A レコードまたは AAAA レコードがあることを確認します。

マシンの IP アドレスを指す 2 つの A レコードを示すスクリーンショット。

マシンに組み込まれている Caddy サービスを有効にします。

ドメイン名に移動して、Web サイトが正しく動作しているかどうかを確認します。

外部ドメイン名で動作するサンプル Web サイトを示すスクリーンショット。

Caddy で SSL リバース プロキシを作成する

Nginx や Apache と同様に、Caddy をマシン上の内部サービスのリバース プロキシとして使用することもできます。これを行うには、システムの Caddyfile を開きます。

Caddyfile 内に次のコード ブロックを貼り付けます。

「LOCAL-PORT」を Web アプリケーションのポートに置き換えます。私の場合は、3001 に置き換えて、すべての受信トラフィックをUptime Kuma サーバーにリダイレクトします。

変更された Caddy リバース プロキシ構成を表示する端末。

Caddyfile を保存し、Caddy サービスを再ロードして新しい設定を適用します。

Web ブラウザを使用してドメインに移動し、リバース プロキシが正しく動作しているかどうかをテストします。

Caddy を介してプロキシされている Uptime Kuma インスタンスを示すスクリーンショット。

Caddy を使用して複数の Web サイトとサービスを展開する

同じ Caddyfile を使用して、同じホストで Web サイトとプロキシの両方を提供することもできます。これにより、Web サーバーの設定ディレクトリが乱雑になることなく、複数の異なるサービスを簡単に管理できます。

まず、Caddy のダウンロード ページにアクセスし、検索バーに「caddy-dns」と入力します。

Caddy ダウンロード ページの caddy-dns 検索ボックスを強調表示したスクリーンショット。

ドメイン名を管理している DNS プロバイダーを探します。私の場合は、DigitalOceanを使用しています。

DNS プロバイダーを選択し、ページの右上隅にある「ダウンロード」をクリックします。これにより、DNS プロバイダーに適したモジュールを含むカスタム Caddy バイナリがダウンロードされます。

DigitalOcean の caddy-dns ビルドを選択した後の「ダウンロード」ボタンを強調表示したスクリーンショット。

systemctl を使用して Caddy サービスを停止します。

元の Caddy バイナリ ファイルのバックアップを作成し、カスタム バイナリを「/usr/bin/」ディレクトリにコピーします。

バージョンを確認して、カスタム Caddy バイナリが正しく動作しているかどうかをテストします。

ワイルドカードドメインでCaddy SSLを有効にする

お気に入りのテキスト エディターを使用してシステムの Caddyfile を開きます。

Caddyfile 内に次のコード ブロックを貼り付けます。

DNS プロバイダーから API キーを取得します。DigitalOcean では、DigitalOcean ダッシュボードに移動し、ページの左側のサイドバーにある [API] をクリックすると、API キーを取得できます。

DigitalOcean ダッシュボードの API ボタン​​を強調表示したスクリーンショット。

「新しいトークンの生成」をクリックし、API キーの詳細を入力します。

自動 SSL ワイルドカード証明書のトークンの詳細を示すスクリーンショット。

API シークレットをコピーし、Caddyfile の「API-KEY」変数に貼り付けます。

特定の設定に合わせて Caddyfile をカスタマイズし、保存します。

変更されたマルチサイト Caddy 構成ファイルを表示する端末。

ドメイン名に、ドメインとサブドメインの適切な A レコードと AAAA レコードがあることを確認してください。

新しい設定を適用するには、無効になっている Caddy デーモンを再起動します。

Web ブラウザで両方のドメインを開いて、「マルチサービス」設定が正しく動作するかどうかをテストします。

Caddy を使用して SSL で実行されている 2 つのサービスを示すスクリーンショット。

Caddy を使用してシンプルで安全な Web サービスを展開する方法を学ぶことは、Linux でのセルフホスティングの素晴らしい世界を探索するための第一歩にすぎません。SimpleLogin を使用して独自の電子メール エイリアス サーバーを作成し、この世界をさらに深く探索してください。

画像クレジット: Jonathan Ybema (UnsplashおよびWikimedia Commons経由) 。すべての変更とスクリーンショットは Ramces Red によるものです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です