Rocky Linux 9/AlmaLinux 9 への Caddy と PHP 8 のインストール
このステップバイステップのガイドでは、PHP 8 をサポートする Caddy を Rocky Linux 9/AlmaLinux 9 にインストールし、無料の SSL 証明書を取得する方法を示します。
Caddy は、Go で書かれた、セキュリティを重視した HTTP/2 対応の無料 Web サーバーで、シンプル、効率的、ポータブルになるように設計されています。仮想ホストのサポート、リバース プロキシ機能などの最新の機能を提供します。さらに、Caddy は、Let’s Encrypt を使用して SSL/TLS 証明書を自動的に取得および更新する最初の Web サーバーです。
Caddy は、その使いやすさ、速度、ネイティブ SSL サポートにより、ここ数年で人気が急上昇しました。そのため、多くの開発者やシステム管理者にとって、Web サーバーとして急速に選ばれています。
Caddy のセットアップと管理が初めての場合、このプロセスは難しく思えるかもしれませんが、心配しないでください。簡単にできるようにしました。このガイドの手順に従うことで、Rocky Linux 9 または AlmaLinux 9 上で PHP 8 サポートを使用して Caddy サーバーを迅速かつ簡単に起動して実行できるようになり、Web サイトのセットアップが簡単になります。それでは、仕事に取り掛かりましょう。
前提条件
このガイドを完了するには、Rocky Linux 9 または AlmaLinux 9 サーバーにアクセスする必要があります。さらに、表示されているすべてのコマンドは、sudo
実行権限を持つ通常のユーザーによって実行されます。したがって、あなたはそれを所有する必要があります。
もちろん、コマンドの sudo
部分をスキップして、root ユーザーとして直接実行することもできます。どちらの場合でも結果は同じになります。
さらに、サーバー上でファイアウォールを使用している場合は、ポート 80 と 443 がブロックされていないことを確認してください。
sudo firewall-cmd --permanent --add-service={http,https}
sudo firewall-cmd --reload
firewalld への対処に懸念がある場合は、当社の包括的なガイドが役立ちます。
ステップ 1: COPR リポジトリを有効にする
Caddy Web サーバーは、デフォルトの Rocky または Alma リポジトリでは使用できません。ただし、COPR (Cool Other Package Repo) リポジトリ経由でインストールできます。ということで、まずは追加してみましょう。
sudo dnf install 'dnf-command(copr)'
次のコマンドを実行した後、「Y」と答えて有効にします。
sudo dnf copr enable @caddy/caddy
ステップ 2: Rocky Linux 9/AlmaLinux 9 に Caddy Web サーバーをインストールする
Caddy Web サーバーをインストールします。
sudo dnf install caddy
インストール中に、COPR リポジトリ GPG キーを受け入れるように求められます。 「Y」と答えて「Enter」を押します。
ステップ 3: Caddy のサービスを有効にして開始する
Caddy がインストールされたら、自動起動を有効にしてサービスを開始します。
sudo systemctl enable caddy
sudo systemctl start caddy
次のコマンドを実行して、Caddy サービスのステータスを確認できます。
sudo systemctl status caddy
結果は以下のようになります。
ここで、ブラウザで Caddy がサービスを提供するドメインを指定すると、Caddy のデフォルト Web ページが表示されます。このガイドでは、一時的に作成したサブドメイン「caddy.tmplinux.com 」を使用します。もちろん、あなたのケースに合わせて交換してください。
Caddy Web サーバーのデフォルト ページが表示されます。
ご覧のとおり、Caddy は稼働しており、期待どおりに動作しています。次の手順では、PHP サポートを追加し、ドメインの仮想ホストを作成し、無料の SSL Let’s Encrypt 証明書を自動的に取得します。
ステップ 4: Rocky Linux 9/AlmaLinux 9 に PHP 8 をインストールする
Caddy ウェブサーバーに PHP サポートを追加するには、PHP-FPM をインストールして使用し、PHP ファイルを実行する必要があります。したがって、最も広く使用されているいくつかの PHP モジュールと一緒にインストールするには、以下のコマンドを入力し、プロンプトが表示されたら「Y 」と入力して確認します。
sudo dnf install php-fpm php-mysqlnd php-gd php-cli php-curl php-mbstring php-bcmath php-zip php-opcache php-xml php-json php-intl
次に、「/etc/php-fpm.d/www.conf」ファイルを開きます。
sudo vim /etc/php-fpm.d/www.conf
そこから次の 3 行を見つけて変更します。
user = apache
group = apache
listen.acl_users = apache,nginx
これに対して:
user = caddy
group = caddy
listen.acl_users = apache,nginx,caddy
最終結果は次のようになります。
最後に、ファイルを保存して終了し、システム起動時に PHP-FPM サービスが開始できるようにして開始します。
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
ステップ 5: PHP と SSL を使用するように Caddy を構成する
続行する前に、Web サイトのファイルを格納するディレクトリを作成します。言い換えれば、Web サイトのルート ディレクトリとして Caddy に指定するものです。たとえば、「/srv/www/caddy」です。 」
sudo mkdir -p /srv/www/caddy
SELinux を使用している場合は、このディレクトリのファイル セキュリティ コンテキストを変更する必要があります。
sudo chcon -t httpd_sys_content_t /srv/www/caddy -R
sudo chcon -t httpd_sys_rw_content_t /srv/www/caddy -R
プロセスの最も楽しい部分、つまり Caddy Web サーバーがその栄光を最大限に発揮する部分、つまり構成に到達しました。 Apache または Nginx 構成の複雑さに慣れているシステム管理者は、魅了されるでしょう。さらに、PHP サポートと自動 SSL 証明書発行を備えた Caddy を Rocky Linux 9 または AlmaLinux 9 システム上で簡単にセットアップできることは驚くべきことです。
任意のテキスト エディタを使用して Caddy 設定ファイル「Caddyfile」を開き、すべての行を削除して次の行を追加します。それらの目的を理解するのに助けが必要な場合でも、心配する必要はありません。以下で詳しく説明します。
sudo vim /etc/caddy/Caddyfile
caddy.tmplinux.com {
root * /srv/www/caddy
tls [email
encode gzip zstd
php_fastcgi unix//run/php-fpm/www.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-fpm/www.sock
: PHP-FPM サービスがリッスンするソケット ファイルへのパス。
すべての準備が整いました。ファイルを保存して終了します。残っているのは、Caddy サービスを再起動して新しい構成設定を適用することだけです。
sudo systemctl restart caddy
ステップ 6: Caddy PHP および SSL サポートを確認する
Rocky Linux 9/AlmaLinux 9 で 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 と SSL サポートを備えた Caddy Web サーバーを Rocky Linux 9 または AlmaLinux 9 にインストールして、PHP ベースの Web アプリをサーバー上で実行できるようにする方法を説明しました。 certbot
ツールは、無料の Let’s Encrypt SSL 証明書を取得するためのもう 1 つのオプションです。 その方法については、ハウツー ガイドをご覧ください。
Caddy には、そのコアに直接組み込まれた強力な SSL サポートが付属しています。さらに、SSL 証明書を自動的に発行し、SSL セットアップを安全に構成します。したがって、Caddy に関するさらに詳しい情報については、プロジェクトのウェブサイトとドキュメントを確認してください。
全体として、Caddy は信頼できる Nginx の代替品です。 Rocky または Alma で PHP 8 サポートを使用してインストールし、Let’s Encrypt SSL 証明書を取得することは簡単かつ効率的であり、エンタープライズ Linux システム上に高速で安全で信頼性の高い Web サーバーをセットアップしたいと考えているユーザーにとっては優れた選択肢となります。