GNU/Linux >> Linux の 問題 >  >> Linux

RockyLinux8でPHPを使用してCaddyWebサーバーをインストールおよび構成する方法

Caddyは、Go言語で記述された、無料のオープンソースの軽量で最新のWebサーバーです。 Caddyは、ファイルサーバー、動的サーバー、およびスケーラブルなリバースプロキシとして使用できます。プラグインを介してサーバー機能を拡張できます。キャディにはさまざまな機能があり、その一部を以下に示します。

  • 仮想ホスティング
  • Let'sEncryptによる自動HTTPS
  • HTTP/2をサポート
  • プラグインで拡張可能
  • 外部依存関係なしで実行

この投稿では、RockyLinux8にPHPをサポートするCaddyWebサーバーをインストールする方法を紹介します。

前提条件

  • Atlantic.NetクラウドプラットフォームでRockyLinux8を実行しているサーバー
  • サーバーで構成されているrootパスワード

ステップ1-Atlantic.Netクラウドサーバーを作成する

まず、Atlantic.Netクラウドサーバーにログインします。 2GB以上のRAMを搭載したオペレーティングシステムとしてRockyLinux8を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。

サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。

dnf update -y

ステップ2–CaddyWebサーバーをインストールする

dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy

リポジトリを有効にしたら、次のコマンドを使用してCaddyWebサーバーをインストールできます。

dnf install caddy -y

キャディがインストールされたら、次のコマンドを使用してキャディのバージョンを確認します。

caddy version

サンプル出力:

v2.4.6 h1:HGkGICFGvyrodcqOOclHKfvJC0qTU7vny/7FhYp9hNw=

次に、Caddyサービスを開始し、システムの再起動時に開始できるようにします。

systemctl start caddy
systemctl enable caddy

次に、Webブラウザーを開き、URL http:// your-server-ipを使用してCaddyWebサーバーにアクセスします。 。次の画面にキャディテストページが表示されます。

ステップ3–キャディーに新しいサイトを作成する

まず、次のコマンドを使用して、新しいWebサイトのディレクトリ構造を作成します。

mkdir -p /var/www/example.com
mkdir /var/log/caddy

次に、新しいWebサイトに適切な所有権を設定します:

chown caddy:caddy /var/www/example.com
chown caddy:caddy /var/log/caddy

次に、新しいWebサイトのindex.htmlページを作成します。

nano /var/www/example.com/index.html

次の行を追加します:

<!DOCTYPE html>
<html>
<head>
<title>Caddy Web Server</title>
</head>
<body>
<h1>This is my first web page on Caddy!</h1>
</body>
</html>

終了したら、ファイルを保存して閉じます。

ステップ4–仮想ホスト構成ファイルを作成する

次に、新しいWebサイトをホストするためにCaddy構成ファイルを編集する必要があります。次のコマンドで編集できます:

nano /etc/caddy/Caddyfile

すべての行を削除し、次の行を追加します:

test.example.com:80 {
        root * /var/www/example.com
        file_server
        encode gzip

        log {
             	output file /var/log/caddy/example.access.log
        }

	@static {
                file
                path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.pdf *.webp
        }
	header @static Cache-Control max-age=5184000

}

終了したら、ファイルを保存して閉じます。次に、Caddy構成ファイルを検証します。

caddy validate --adapter caddyfile --config /etc/caddy/Caddyfile

次の出力が表示されます。

2021/11/17 09:59:04.997	INFO	using provided configuration	{"config_file": "/etc/caddy/Caddyfile", "config_adapter": "caddyfile"}
2021/11/17 09:59:05.000	WARN	input is not formatted with 'caddy fmt'	{"adapter": "caddyfile", "file": "/etc/caddy/Caddyfile", "line": 27}
2021/11/17 09:59:05.000	INFO	http	server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS	{"server_name": "srv0", "https_port": 443}
2021/11/17 09:59:05.001	INFO	http	enabling automatic HTTP->HTTPS redirects	{"server_name": "srv0"}
2021/11/17 09:59:05.001	INFO	tls.cache.maintenance	started background certificate maintenance	{"cache": "0xc00057a8c0"}
2021/11/17 09:59:05.001	INFO	tls.cache.maintenance	stopped background certificate maintenance	{"cache": "0xc00057a8c0"}
Valid configuration

次に、Caddyサービスを再起動して、変更を適用します。

systemctl restart caddy

次のコマンドを使用して、Caddyサービスを確認することもできます。

systemctl status caddy

次の出力が得られます:

● caddy.service - Caddy
   Loaded: loaded (/usr/lib/systemd/system/caddy.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-11-17 10:00:23 UTC; 4s ago
     Docs: https://caddyserver.com/docs/
 Main PID: 20077 (caddy)
    Tasks: 6 (limit: 11411)
   Memory: 24.9M
   CGroup: /system.slice/caddy.service
           └─20077 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile

Nov 17 10:00:23 rockylinux systemd[1]: Started Caddy.
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8054335,"logger":"tls.cache.maintenance","msg":"started background c>
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8054764,"logger":"tls","msg":"cleaning storage unit","description":">
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8055048,"logger":"tls","msg":"finished cleaning storage units"}
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8060036,"logger":"tls.obtain","msg":"lock acquired","identifier":"ex>
Nov 17 10:00:24 rockylinux caddy[20077]: {"level":"error","ts":1637143224.0880945,"logger":"tls.obtain","msg":"could not get certificate from>
Nov 17 10:00:24 rockylinux caddy[20077]: {"level":"info","ts":1637143224.4512274,"logger":"tls.issuance.zerossl","msg":"generated EAB credent>
Nov 17 10:00:25 rockylinux caddy[20077]: {"level":"info","ts":1637143225.7558215,"logger":"tls.issuance.acme","msg":"waiting on internal rate>
Nov 17 10:00:25 rockylinux caddy[20077]: {"level":"info","ts":1637143225.755876,"logger":"tls.issuance.acme","msg":"done waiting on internal >
Nov 17 10:00:27 rockylinux caddy[20077]: {"level":"info","ts":1637143227.8956456,"logger":"tls.issuance.acme.acme_client","msg":"trying to so

次に、Webブラウザーを開き、URL http://test.example.comを使用してCaddyWebサイトにアクセスします。 。次の画面にWebサイトが表示されます。

ステップ5–CaddyWebサーバーでPHPサポートを有効にする

まず、PHPおよびその他の必要な拡張機能をサーバーにインストールする必要があります。次のコマンドですべてをインストールできます:

dnf install php-fpm php-cli php-gd -y

すべてのパッケージがインストールされたら、Caddy構成ファイルを編集します。

nano /etc/caddy/Caddyfile

以下に示すように、php_fastcgiの場所を定義します。

test.example.com:80 {
        root * /var/www/example.com
	php_fastcgi unix//run/php-fpm/www.sock
        file_server
        encode gzip

        log {
             	output file /var/log/caddy/example.access.log
        }

	@static {
                file
                path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.pdf *.webp
        }
	header @static Cache-Control max-age=5184000

}

ファイルを保存して閉じてから、PHP-FPMファイルを編集します。

nano /etc/php-fpm.d/www.conf

次の行を変更します:

user = caddy
group = caddy
listen.acl_users = apache,nginx,caddy

ファイルを保存して閉じてから、PHP-FPMサービスを開始し、システムの再起動時に開始できるようにします。

systemctl start php-fpm
systemctl enable php-fpm

次に、サンプルのinfo.phpページを作成します:

nano /var/www/example.com/info.php

次の行を追加します:

<?php phpinfo();
?>

ファイルを保存して閉じてから、Webブラウザーを開き、URL http://test.example.com/info.phpを使用してinfo.phpページにアクセスします。 。次のページが表示されます:

結論

上記のガイドでは、RockyLinux8にPHPを使用してCaddyをインストールする方法を説明しました。CaddyはApacheおよびNginxの非常に優れた代替手段です。実稼働環境で試してみてください– Atlantic.Netから仮想プライベートサーバーで始めましょう!


Linux
  1. Rocky Linux / AlmaLinux8にSquidProxyをインストールして構成する方法

  2. RockyLinux8にElasticsearchをインストールして設定する方法

  3. Linux NTP サーバーとクライアントをインストールして構成する方法

  1. ArchLinuxをサーバーとしてインストールおよび設定する方法

  2. Ubuntu20.04でPHPとMariaDBを使用してCaddyWebサーバーをインストールおよび構成する方法

  3. RockyLinux8にHAProxyをインストールして設定する方法

  1. Fedora 34 /CentOS8でPHPを使用してCaddyWebサーバーをインストールおよび構成する方法

  2. LinuxでDHCPサーバーをインストールして構成する方法

  3. AlpineLinuxにApacheWebサーバーをインストールする方法