CaddyまたはCaddyWebサーバーは、Goで記述されたオープンソースのHTTP/2対応Webサーバーです。 Caddyは、Linux、Windows、Mac OS、Android、およびBSDオペレーティングシステムを実行しているシステムを含む、さまざまなシステムで実行できます。 Caddyには多くの機能があり、Webサーバーおよびアプリケーションのリバースプロキシとしてインストールできます。最も注目すべきCaddyWebサーバーの機能は、追加の構成なしでデフォルトで自動HTTPSが有効になっていることです。
このチュートリアルでは、Ubuntu16.04にPHP-FPM7.xを使用してCaddyWebサーバーをインストールおよび構成する方法を段階的に説明します。 caddyをローカル環境にインストールしてから、PHPベースのアプリケーション用にPHP-FPMを構成します。
- Ubuntu16.04サーバー
- root権限
- CaddyWebサーバーをインストールする
- CaddyWebサーバーを構成する
- SystemdUbuntu16.04でCaddyをサービスとして実行する
- PHPとPHP-FPM7.0をインストールします
- PHP-FPMを使用してCaddyWebサーバーを構成する
- テスト
このステップでは、インストーラースクリプトを使用してCaddyWebサーバーをインストールします。スクリプトは自動的にバイナリファイルをダウンロードし、binディレクトリに抽出します。
インストーラスクリプトをダウンロードして実行可能にします。
wget https://getcaddy.com -O getcaddy
chmod +x getcaddy
次に、sudoを使用してインストーラスクリプトを実行します。
sudo ./getcaddy personal http.ipfilter,http.ratelimit
注:
- getcaddy =キャディインストーラスクリプト。
- 個人 =インストールのライセンス。
- http.ipfileter ... =キャディプラグインのインストールを含める。
caddy Webサーバーがインストールされるのを待つと、次のような結果が得られます。
CaddyWebサーバーがUbuntu16.04にインストールされました。
このステップでは、CaddyWebサーバーを構成します。 'caddy'という名前の新しいユーザーを作成し、caddy構成ファイル用の新しいディレクトリ、caddyログファイル用の新しいディレクトリ、およびcaddywebルートディレクトリ用の新しいディレクトリを作成します。
以下に示すように、「/ bin/false」オプションを使用して新しい「caddy」ユーザーを作成します。
useradd -M -s /bin/false caddy
次に、次のmkdirコマンドを実行して、caddyディレクトリを作成します。
mkdir -p /etc/caddy
mkdir -p /var/log/caddy
mkdir -p /var/www/html
そして、所有権をキャディユーザーに変更します。
chown -R caddy:root /etc/caddy /var/log/caddy
次に、「Caddyfile」という名前の新しいキャディ構成ファイルを作成します。 '/ etc / caddy'ディレクトリに移動し、vimコマンドを使用して構成を作成します。
cd /etc/caddy/
vim Caddyfile
基本的なキャディ構成をそこに貼り付けます。
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
tls off
gzip
}
保存して終了します。
注:
- tls off =ローカルサーバーでcaddyを実行しています。ライブサーバーを使用している場合は、オプションを有効にしてください。
CaddyWebサーバーの基本構成が完了しました。
このステップでは、caddy Webサーバーをsystemdシステムでサービスとして実行し、caddyWebサーバーのindex.htmlファイルを作成します。
vimを使用して「caddy.service」という名前の新しいサービスファイルを作成します。
vim /etc/systemd/system/caddy.service
次の構成をそこに貼り付けます。
[Unit]
Description=Caddy HTTP/2 web server
[Service]
User=caddy
Group=caddy
Environment=CADDYPATH=/etc/caddy
ExecStart=/usr/local/bin/caddy -agree=true -log=/var/log/caddy/caddy.log -conf=/etc/caddy/Caddyfile -root=/dev/null
ExecReload=/bin/kill -USR1 $MAINPID
LimitNOFILE=1048576
LimitNPROC=64
[Install]
WantedBy=multi-user.target
保存して終了します。
次に、systemdシステムをリロードし、次に示すようにsystemctlコマンドを使用してcaddyサービスを開始します。
systemctl daemon-reload
systemctl start caddy
システムの起動時に毎回起動できるようにします。
systemctl enable caddy
CaddyWebサーバーはUbuntu16.04でサービスとして実行されています。
次に、Webルートディレクトリ'/ var / www/html'の下に新しいindex.htmlファイルを作成します。
そのディレクトリに移動し、以下のコマンドを使用してindex.htmlファイルを作成します。
cd /var/www/html
echo '<h1><center>Caddy web server</center></h1>' > index.html
次に、ファイルの所有者を「caddy」ユーザーとグループに変更します。
chown -R caddy:caddy /var/www/html
index.htmlファイルが作成されました。 Webブラウザーを開き、「Caddyfile」構成で入力したドメイン名アドレスを入力します。私のものは次のとおりです。
http://hakase-labs.co/
そして、私たちが作成したインデックスページが表示されます。
このステップでは、UbuntuリポジトリからPHP-FPMパッケージをインストールします。
以下のaptコマンドを実行します。
sudo apt install -y php7.0-fpm php7.0-cli curl
インストールが完了したら、PHP-FPMの構成ファイルを構成します。
'/etc/php/7.0/fpm'ディレクトリに移動し、vimを使用してプール構成ファイル'www'conf'を編集します。
cd /etc/php/7.0/fpm
vim pool.d/www.conf
以下のコメントを外してください。
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
保存して終了します。
次に、「caddy」ユーザーを「www-data」グループに追加します。
usermod -a -G www-data caddy
PHP-FPMサービスを開始し、システムの起動時に毎回起動できるようにします。
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
CaddyWebサーバーのインストールのためのPHP-FPMのインストールと構成が完了しました。
以下のnetstatコマンドを使用して、PHP-FPMソケットファイルプロセスを確認してください。
netstat -pl | grep php
PHP-FPMのインストールと構成が完了したら、CaddyWebサーバーにPHP-FPMサポートを追加します。
'/ etc / caddy'構成ディレクトリに移動し、vimを使用して構成ファイル'Caddyfile'を編集します。
cd /etc/caddy
vim Caddyfile
次に、以下のように、ドメイン名ブラケットの下にキャディ用の次のPHP-FPM構成を追加します。
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
errors /var/log/caddy/errors.log
tls off
gzip
# PHP-FPM Configuration for Caddy
fastcgi / /run/php/php7.0-fpm.sock php {
ext .php
split .php
index index.php
}
}
保存して終了します。
caddyWebサーバーとPHP-FPMサービスを再起動します。
systemctl restart caddy
systemctl restart php7.0-fpm
PHP-FPMを使用したCaddyWebサーバーの構成が完了しました。
Webルートディレクトリ'/var / ww / html'に移動し、phpinfoファイル'info.php'を作成します。
cd /var/www/html
echo '<?php phpinfo(); ?>' > info.php
Webブラウザーを開き、以下のようにCaddyWebサーバーのURLインストールを入力します。
http://hakase-labs.co/info.php
そして、以下に示すようなPHP情報ページが表示されます。
Ubuntu16.04でのPHP-FPMを使用したCaddyWebサーバーのインストールが正常に完了しました。