ウェブサイト検索

Caddy と PHP 8.1 を Ubuntu 22.04 に簡単にインストールする


このガイドでは、Ubuntu 22.04 に Caddy と PHP 8.1 をインストールし、無料の SSL 証明書を取得するための手順を段階的に説明します。

Caddy は、Go で書かれた、セキュリティを重視した HTTP/2 対応の無料 Web サーバーで、シンプル、効率的、ポータブルになるように設計されています。仮想ホストのサポート、リバース プロキシ機能などの最新の機能を提供します。さらに、Caddy は、Let’s Encrypt を使用して SSL/TLS 証明書を自動的に取得および更新する最初の Web サーバーです。

はい、Nginx は、その超高速なパフォーマンスと多くの機能により、近年 Web サーバーの推奨選択肢として最高の地位を占めています。ただし、比較的新しいプロジェクトであるにもかかわらず、使いやすさ、速度、ネイティブ SSL サポートなどの特徴により、Caddy の人気は急上昇しています。そのため、多くの開発者やシステム管理者にとって、Web サーバーとして急速に選ばれています。

Caddy のセットアップと管理が初めての場合、このプロセスは難しく思えるかもしれませんが、心配しないでください。簡単にできるようにしました。このガイドの手順に従うことで、Ubuntu 22.04 LTS で PHP 8.1 をサポートする Caddy サーバーを迅速かつ簡単に起動して実行できるようになり、Web サイトのセットアップが簡単になります。それでは、仕事に取り掛かりましょう。

ステップ 1: Ubuntu 22.04 に Caddy Web サーバーをインストールする

Web サーバーはデフォルトでは Ubuntu リポジトリに含まれていないため、まず、Caddy の公式外部リポジトリをシステムに追加する必要があります。ただし、その前に、いくつかのパッケージの依存関係をインストールする必要があります。

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https

次に、次の 2 つの cURL コマンドを実行して Caddy リポジトリを追加します。

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

最後に、パッケージ リストを更新し、Ubuntu 22.04 システムに Caddy Web サーバーをインストールします。

sudo apt update
sudo apt install caddy

これで、以下のコマンドを使用して Caddy サービスのステータスを確認できるようになります。 Caddy が稼働していることを確認する必要があります。

sudo systemctl status caddy

ステップ 2: HTTP(S) ファイアウォール ポートを有効にする

次の手順では、ファイアウォールが Web サーバーへのアクセスをブロックしていないことを確認し、ブロックしている場合は、ポート 80 (HTTP) および 443 (HTTPS) でのトラフィックを有効にするために必要なルールを追加します。

まず、ファイアウォールの現在のステータスを確認します。以下に示すように、結果が「非アクティブ」の場合は、次の手順をスキップできます。

sudo ufw status verbose

ただし、結果が異なる場合は、ファイアウォールがアクティブであるため、次のルールを追加して、ポート 80 および 443 での Caddy Web サーバーへの接続を許可する必要があります。

sudo ufw allow proto tcp from any to any port 80,443

ここで、ブラウザで Caddy がサービスを提供するドメインを指定すると、Caddy のデフォルト Web ページが表示されます。このガイドでは、一時的に作成したサブドメイン「caddy.tmplinux.com」を使用します。もちろん、あなたのケースに合わせて交換してください。

ご覧のとおり、Caddy は稼働しており、期待どおりに動作しています。次の手順では、PHP サポートを追加し、ドメインの仮想ホストを作成し、無料の SSL Let’s Encrypt 証明書を自動的に取得します。

ステップ 3: Ubuntu 22.04 に PHP をインストールする

Caddy で PHP サポートを有効にするには、まず Ubuntu 22.04 システムに PHP-FPM をインストールする必要があります。Caddy はこれを使用して PHP ファイルを実行します。さらに、完全かつフル機能の PHP 機能を利用するには、最も一般的に使用される PHP モジュールのいくつかをインストールする必要があります。

sudo apt install php-fpm php-mysql php-gd php-cli php-curl php-mbstring php-zip php-opcache php-xml php-xmlrpc

ステップ 4: PHP と SSL を使用するように Caddy を構成する

続行する前に、Web サイトのファイルを格納するディレクトリを作成します。言い換えれば、Web サイトのルート ディレクトリとして Caddy に指定するものです。たとえば、「/srv/www/caddy」です。

sudo mkdir -p /srv/www/caddy

プロセスの最も楽しい部分、つまり Caddy Web サーバーがその栄光を最大限に発揮する部分、つまり構成に到達しました。 Apache または Nginx 構成の複雑さに慣れているシステム管理者は、魅了されるでしょう。さらに、Ubuntu 22.04 システム上で PHP サポートと SSL 証明書の自動発行を備えた Caddy を簡単にセットアップできることは驚くべきことです。

任意のテキスト エディタを使用して Caddy 設定ファイル「Caddyfile」を開き、すべての行を削除して次の行を追加します。それらの目的を理解するのに助けが必要な場合でも、心配する必要はありません。以下で詳しく説明します。

sudo vim /etc/caddy/Caddyfile
caddy.tmplinux.com {
        root * /srv/www/caddy
        tls [email 
        encode gzip zstd
        php_fastcgi unix//run/php/php8.1-fpm.sock
}

最終結果は次のようになります。

  • caddy.tmplinux.com: Caddy Web サーバーが提供するドメイン名。
  • root * /srv/www/caddy: Web サイトのファイルが含まれるルート ディレクトリへのフル パス。
  • tls [email : 無料の Let’s Encrypt SSL 証明書を自動的に発行するように Caddy に指示し、所有者宛ての通知の送信先となる電子メール アドレスを指定します。
  • encode gzip zstd: 高速パフォーマンスのために圧縮の使用を指定します。
  • php_fastcgi unix//run/php/php8.1-fpm.sock: PHP-FPM サービスがリッスンするソケット ファイルへのパス。

すべての準備が整いました。ファイルを保存して終了します。残っているのは、Caddy サービスを再起動して新しい構成設定を適用することだけです。

sudo systemctl restart caddy

ステップ 5: Caddy PHP および SSL サポートを確認する

Ubuntu 22.04 で PHP および SSL をサポートする Caddy のインストールが完了しました。そこで、テスト PHP ファイルを作成して、PHP-FPM が動作し、Caddy と正常に統合されていることを確認しましょう。

echo "<?php phpinfo(); ?>" | sudo tee /srv/www/caddy/index.php

最後に、プロセスの最も楽しい部分、つまり努力の結果を楽しむ段階に到達しました。そこで、ドメイン アドレスをブラウザに読み込みましょう。この場合は「caddy.tmplinux.com」です。

よくやった!ご覧のとおり、PHP のインストールに関する完全な情報を含む Web ページが表示されます。また、Caddy はドメインの SSL 証明書を自動的に発行し、Web サイトへの通信を安全にします。しかし、Caddy と Let’s Encrypt 証明書の組み合わせはどの程度安全なのでしょうか? Qualys SSL Labs で確認してみましょう。そう、最高得点です!

最後に、必要な説明をしておきたいと思います。トラフィックのプロキシ方法の詳細により、サーバーが Cloudflare、DigitalOcean、または同様のサービスによって提供されるプロキシ サービスの背後にある場合、Caddy は SSL 証明書を発行できません。

つまり、この機能を使用するには、いくつかの追加モジュールを使用して Caddy をプリコンパイルする必要があります。手順は簡単ですが、本記事の範囲外なので別記事で詳しく説明します。

結論

このガイドでは、PHP 8.1 と SSL サポートを備えた Caddy Web サーバーを Ubuntu 22.04 LTS にインストールして、PHP ベースの Web アプリをサーバー上で実行できるようにする方法を説明しました。 certbot ツールは、無料の Let’s Encrypt SSL 証明書を取得するためのもう 1 つのオプションです。私たちのハウツーガイドがその方法を説明します。

Caddy には、そのコアに直接組み込まれた強力な SSL サポートが付属しています。さらに、SSL 証明書を自動的に発行し、SSL セットアップを安全に構成します。したがって、Caddy に関するさらに詳しい情報については、プロジェクトのウェブサイトとドキュメントを確認してください。

全体として、Caddy は信頼できる Nginx の代替品です。 PHP 8.1 サポート付きの Ubuntu 22.04 にインストールして Let’s Encrypt SSL 証明書を取得するのは簡単かつ効率的であり、Ubuntu システム上に高速で安全で信頼性の高い Web サーバーをセットアップしたい人にとっては優れた選択肢となります。

関連記事: