ウェブサイト検索

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 サーバーをセットアップしたいと考えているユーザーにとっては優れた選択肢となります。

関連記事: