ウェブサイト検索

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


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

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

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

Caddyの設定と管理が初めての場合、このプロセスは daunting に思えるかもしれませんが、心配しないでください - 私たちはそれを簡単にしました。このガイドのステップに従うことで、Ubuntu 22.04 LTS で PHP 8.1 をサポートする Caddy サーバーを簡単かつ迅速に立ち上げることができ、ウェブサイトの設定が楽になります。それでは、作業を始めましょう。

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

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

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

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

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

Caddyのリポジトリを追加する

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

sudo apt update
sudo apt install caddy

Ubuntu 22.04にCaddyウェブサーバーをインストールする

次のコマンドを使用して、Caddyサービスの状態を確認できます。Caddyが正常に稼働していることを確認できるはずです。

sudo systemctl status caddy

キャディサービスのステータスチェック

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

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

まず、ファイアウォールの現在の状態を確認してください。結果が「非アクティブ」の場合、次のステップはスキップできますので、以下のようになります。

sudo ufw status verbose

ファイアウォールの状態を確認する

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

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

ファイアウォールルールの一覧

さて、ブラウザをCaddyが提供するドメインに向けると、Caddyのデフォルトのウェブページがあなたを迎えます。このガイドでは、一時的に作成されたサブドメイン「caddy.tmplinux.com」を使用します。当然のことながら、あなたのケースに合わせてそれを置き換えてください。

Caddyのデフォルトウェブページ

ご覧のとおり、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

Ubuntu 22.04にPHPサポートをインストールする

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

進む前に、あなたのウェブサイトファイルが保存されるディレクトリを作成してください。言い換えれば、Caddyがあなたのウェブサイトのルートディレクトリを指すものです。例えば、「/srv/www/caddy」です。

sudo mkdir -p /srv/www/caddy

私たちはプロセスの最も楽しい部分に達しました。ここでは、Caddyウェブサーバーがその栄光を放っています - 設定です。ApacheやNginxの複雑な設定に慣れているシステム管理者は魅了されるでしょう。さらに、Ubuntu 22.04システム上でPHPサポートと自動SSL証明書の発行を簡単に設定できることは素晴らしいです。

お気に入りのテキストエディタを使用して、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
}

最終結果はこのようになるべきです:

Ubuntu 20.04で設定されたPHP 8.1とSSLサポートを持つキャディ
  • caddy.tmplinux.com: Caddyウェブサーバーが提供するドメイン名です。
  • root * /srv/www/caddy: あなたのウェブサイトファイルを含むルートディレクトリへの完全なパス。
  • tls [email :Caddyに無料のLet’s Encrypt SSL証明書を自動的に発行するよう指示し、所有者への通知が送信されるメールアドレスを指定します。
  • エンコード 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-FPMが動作しており、Caddyと正常に統合されていることを確認するためのテストPHPファイルを作成しましょう。

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

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

Ubuntu 22.04にPHPおよびSSLサポート付きでCaddyが正常にインストールされました

素晴らしい仕事です!ご覧の通り、PHPインストールに関する完全な情報が含まれたウェブページが表示されています。Caddyは、ドメインのために自動的にSSL証明書も発行しており、ウェブサイトへの通信が安全になっています。しかし、CaddyとLet’s Encrypt証明書の組み合わせはどれほど安全なのでしょうか?Qualys SSL Labsで確認してみましょう。はい、可能な最高のスコアです!

Qualys SSL Labs で Let’s Encrypt 証明書を使って Caddy のセキュリティを確認してください。

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

言い換えれば、Caddyはこの機能を使用するためにいくつかの追加モジュールと一緒に事前コンパイルされる必要があります。その手順は簡単ですが、この記事の範囲外であるため、別の記事で詳しく説明されます。

結論

このガイドでは、Ubuntu 22.04 LTS に PHP 8.1 と SSL サポートで Caddy ウェブサーバーをインストールする方法を示しました。これにより、PHP ベースのウェブアプリがサーバーで実行できるようになります。certbot ツールは、無料の Let's Encrypt SSL 証明書を取得するための別のオプションです。私たちのハウツーガイドがその方法を示します。

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

全体として、Caddyは信頼性の高いNginxの代替品です。Ubuntu 22.04でPHP 8.1のサポートを有効にしてインストールし、Let's EncryptのSSL証明書を取得するのは簡単かつ効率的で、Ubuntuシステム上に迅速で安全、かつ信頼性の高いウェブサーバーを構築したい人にとって素晴らしい選択肢となります。

関連記事: