Apache や Nginx など、サーバーの世界を支配した Web サーバーがいくつかありますが、それら以外にも、Lightweight LiteSpeed Web サーバーや Microsoft IIS もあります。ただし、これらが人気のあるものであることは間違いありませんが、C などの新しいオープンソース プロジェクトもいくつかあります。アディウェブサーバー。
さて、キャディとは何でしょうか?
それはApache などの Web サーバーの代替オプションマイクロソフトⅡなど。まだあまり普及していませんが、開発者は開発に取り組んでいます。すべての一般的なプラットフォームをサポートするように設計されているため、Windows、macOS、Linux、BSD、Android、Solaris、32 ビット、x64、ARM、mips64 などで利用できます。つまり、クロスプラットフォームのサーバー側です。 HTTP/https リクエストを処理するアプリケーション。
Caddy には幅広い機能があります。
- 単一のダウンロード可能な実行可能ファイルで提供されるため、外部依存関係はありません。
- 何もインストールする必要はなく、ダウンロードした Caddy ディレクトリから使用を開始するだけです。
- Caddy Web サーバーに変更を発行した後は、1 つのコマンドでダウンタイムなしで再ロードできます。
- 暗号化署名されたパッケージ
- Dockerイメージ上で実行可能
- サーバーのダウンタイムなしでアップグレードが簡単
- Caddy Web サーバーはデフォルトで HTTPS を使用します。
- Caddy 機能はプラグインを使用して拡張できます。
- Community Edition と Enterprise Edition で利用できます。
- 複数のCPUコアをサポート
- 仮想ホストのサポート
- QUIC、プロキシ、FastCGI、リバース プロキシのサポート
- デフォルトで AES-GCM、ChaCha、ECC などの暗号化テクノロジー。
- デフォルトではTLS 1.3
- PCI 準拠、負荷分散。 WebSocket 接続のプロキシ、Gzip 圧縮が可能
- スケーラブルなど…
CentOS 8 に Caddy Web サーバーをインストールするチュートリアル
Ubuntu、Debian、RedHat、または CentOS 8 / Stream を使用しているかどうかは関係なく、Caddy はすべての Linux プラットフォームで利用できます。実行可能パッケージ ファイルをダウンロードして、Web アプリまたは Web サイトの開発を開始するだけです。ここで説明する手順は、どの種類の Linux ディストリビューションでも同様です。 CetnOS 7、Ubuntu 18.04 などの可能性があります。ただし、ここでは CentOS 8 を使用しています。
ステップ 1: CentOS 8 Linux サーバーにログインする
グラフィカル バージョンを使用している場合は、単にコマンド ターミナルを開きます。活動内容GNOME GUIのメニュー。その後、root としてログインするか、sudo 権限を持つユーザーが必要です。 sudoers グループに属するユーザーでログインしている場合は、以下のすべてのコマンドで sudo を使用する必要があります。
ステップ 2: Caddy Web サーバーをダウンロードしてインストールする
ここではコマンドラインを使用して Caddy サーバーをダウンロードしていますが、ユーザーはそのサーバーにアクセスできます。公式ページLinux または Windows や Android などの他のプラットフォームに直接ダウンロードします。
個人使用のためにインストールするライセンス付きの Caddy Web サーバーをダウンロードします。
sudo curl https://getcaddy.com | bash -s personal or sudo wget -qO- https://getcaddy.com | bash -s personal
Caddy をダウンロードして商用目的でインストールします (オプション)
sudo curl https://getcaddy.com | bash -s commercial

個人ダウンロード コマンドの出力:
[root@DESKTOP-9OOKS69 caddy]# curl https://getcaddy.com | bash -s personal % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 7380 100 7380 0 0 3649 0 0:00:02 0:00:02 --:--:-- 3651 Downloading Caddy for linux/amd64 (personal license)… Download verification OK Extracting… Putting caddy in /usr/local/bin (may require password) Caddy v1.0.3 (h1:i9gRhBgvc5ifchwWtSe7pDpsdS9+Q0Rw9oYQmYUTw1w=) Successfully installed
バイナリのインストールまたは配置が成功したら、バイナリがどこにあるかを確認します。これを行うには、次のコマンドを使用するだけです。
which caddy
そして出力は次のようになります:
/usr/local/bin/caddy
ステップ 3: Caddy の所有権と権限を変更する
Caddy バイナリを root ユーザーおよびグループに割り当て、他のユーザーにはアクセス許可が制限されます。これは、Caddy の一部のプロセスが侵害された場合に、バイナリ ファイルやシステム コア ファイルを受け取ることができなくなるためです。
sudo chown root:root /usr/local/bin/caddy
上記のコマンドは、root にのみ読み取り、書き込み、および実行の完全なアクセス権を与えますが、他のユーザーは読み取りと実行のみを行い、Caddy ディレクトリまたはそのコア ファイルに何も変更したり書き込んだりすることはできません。
sudo chmod 755 /usr/local/bin/caddy
ステップ 4: Caddy プロセスを低いポートにバインドする
ここでは、Caddy に完全な特権を与えずに特権ポットにバインドできるようにする setcap コマンドを使用します。
sudo setcap 'cap_net_bind_service=+ep' /usr/local/bin/caddy
ステップ 5: Caddy の www-data ユーザーを作成する
Apache または Nginx では、インストール中に root のアクセス権を持たない www-data ユーザーが自動的に作成されます。ただし、これは Caddy Web サーバーでは行われないため、手動で行う必要があります。
sudo adduser -r -d /var/www -s /sbin/nologin www-data sudo groupadd -g www-data
上記のコマンドでは、「」という名前のユーザーを追加しています。www-データ”。他のものを設定することもできます。ユーザーのデフォルトのディレクトリは次のようになります。/var/www、Webサイトのインストールに使用するため、これを実行しました。 root アクセス権を与えたくないので、あらゆる種類のシステムログインを防止したいので、次のようにします。/sbin/nologin を使用する上記のコマンドで。
ステップ 6: Caddy が Web サイトを提供するためのディレクトリを作成する
ここで、Caddyfile を保持するディレクトリを作成する必要があります。これは、ブラウザに表示するファイルの場所を Caddy Web サーバーに伝えるファイルです。たとえば、インストールしたい場合は、Caddy 上の WordPress, そのため、WordPress のファイルがどこにあるかをキャディに伝える必要があります。そのために、私たちは使用しますキャディファイルWordPress インストール ファイルのパスを指定します。
そこで、ここでは /etc の下にディレクトリを作成します。
sudo mkdir /etc/caddy
ここで、このディレクトリを www-data グループに追加する間、このディレクトリの所有権を root に維持するように変更します。したがって、Caddy サーバーは、キャディファイルこのディレクトリ内に存在します。
sudo chown -R root:www-data /etc/caddy
注記: 交換するwww-データ別の名前を作成した場合に備えて、上記のコマンドまたは今後のコマンドで作成したユーザーを使用します。
ステップ 7: SSL 用のディレクトリ
Caddy はデフォルトで https をサポートしているため、Caddy がインポートした Let's Encrypt 証明書を保存するディレクトリを作成する必要があります。
sudo mkdir /etc/ssl/caddy
所有権とグループを変更する
sudo chown -R root:www-data /etc/ssl/caddy
上記ではセキュリティのために、SSL 証明書を保持する caddy ディレクトリの権限を変更しました。これにより、root ユーザーのみが完全な権利を持ち、他のユーザーは読み取りのみが可能になります。
sudo chmod 0770 /etc/ssl/caddy
ステップ 8: Caddyfile を作成する
ここで、caddy ディレクトリ内に、という名前の空のファイルを作成します。キャディファイルこれは、ファイルをホストしている Web サイトの場所を Caddy Web サーバーに伝えるために、今後のコマンドで使用します。
touch /etc/caddy/Caddyfile
ステップ 9: Web サイトファイルのディレクトリ
Apache や Nginx と同じように、Caddy 用のディレクトリも作成します。/var/www.Web サーバーで使用する Web サイト ファイルを保存する場所。
mkdir /var/www
上記の所有権を Caddy ユーザーに直接完全に変更します。私たちの場合、それは「」ですwww-データ' そしてあなたの場合、それはあなたが作成したものになりますステップ3この記事の。
Caddy が使用するユーザーに、Web ディレクトリの所有権と完全な権利を与えます。
sudo chown www-data:www-data /var/www
ステップ 10: Caddy Web サーバーのシステム サービスを作成する
デフォルトでは、毎回 caddy を実行するにはそのコマンド、つまり caddy を使用する必要があり、それを使用した後は同じ端末で他のコマンドを実行できません。したがって、Caddy Webサーバーのシステムサービスこれは、Apache や Nginx サービスと同様にバックグラウンドで実行されます。
sudo curl -s https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service
ステップ 11: Caddy Service ファイル権限の変更
ここでは、Caddy サービスの権限を変更し、root のみに完全なアクセス権を与え、残りのユーザーは実行または読み取りのみを許可します。
sudo chmod 644 /etc/systemd/system/caddy.service
ステップ 12: キャディ サービスを開始する
システム サービスをリロードして、最新の追加情報を通知します。
systemctl daemon-reload
ステータスを確認します。
systemctl status caddy.service

上のスクリーンショットに示すような出力が得られた場合は、Caddy サービスが正常に作成されたことを意味します。
ステップ 13: システムのファイアウォールでポート 80 と 443 を開きます。
ブラウザを使用してローカル システムの外部にある Caddy Web サーバーにアクセスするには、ホストされている Web ページにアクセスするために接続できるように、HTTP および https プロトコルを一般公開する必要があります。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
ファイアウォールが実行されていない場合は、単に次のように入力します。
systemctl enable firewall-cmd systemctl start firewall-cmd
ステップ 14: Caddy Web サーバーをテストするためのデモ Web ページを作成する
作成した Web サーバーが正常に動作しているかどうかを確認するために、ここではテスト HTML Web ページを作成します。
sudo touch /var/www/index.html
sudo vi /var/www/index.html
プレス入れるキーボードのボタン。次の行をコピーして貼り付けるか、入力します…
<h1>Caddy has been installed succefully using h2smedia tutorial</h1>
保存するには、ESCキーを押してから入力します:wqそして、入力ボタン
ステップ 15: Caddyfile を編集する
次に、Web ページがどこにあるのか、どのポートを使用するのかを Caddy Web サーバーに到達する方法を示しましょう。
sudo vi /etc/caddy/Caddyfile
:80 {
root /var/www
}
ステップ 16: Caddy Web サービスを有効にして開始する
最後に、すべての設定が完了し、バックグラウンドで Caddy のサービスを有効にして実行します。
以下のコマンドはサービスを有効にし、システム起動時に自動的に開始できるようにします。
systemctl enable caddy.service
次のコマンドでサービスを開始します。
sudo systemctl start caddy
同じステータスを確認してください
sudo systemctl status caddy
以下の出力が表示されれば、すべてOKです。
[root@localhost ~]# sudo systemctl status caddy ● caddy.service - Caddy HTTP/2 web server Loaded: loaded (/etc/systemd/system/caddy.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2019-10-01 17:42:31 IST; 5s ago Docs: https://caddyserver.com/docs Main PID: 3807 (caddy) CGroup: /system.slice/caddy.service └─3807 /usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile -root=/va… Oct 01 17:42:31 localhost.localdomain systemd[1]: [/etc/systemd/system/caddy.service:41] Unknown…ce' Oct 01 17:42:31 localhost.localdomain systemd[1]: Started Caddy HTTP/2 web server. Oct 01 17:42:31 localhost.localdomain caddy[3807]: Activating privacy features… done. Oct 01 17:42:31 localhost.localdomain caddy[3807]: Serving HTTP on port 80 Oct 01 17:42:31 localhost.localdomain caddy[3807]: https:// Oct 01 17:42:31 localhost.localdomain caddy[3807]: 2019/10/01 17:42:31 [INFO] Serving https:// Oct 01 17:42:31 localhost.localdomain caddy[3807]: 2019/10/01 17:42:31 [INFO][cache:0xc00008c5a0…ine Hint: Some lines were ellipsized, use -l to show in full.

ステップ 17: Web ページをテストします。
ローカルサーバー上にある場合は、GUIそれから、単に入力することができますhttps://ローカルホスト:80リモートサーバーの場合は、そのサーバーを使用しますhttps://ipアドレス:80Webブラウザで。

キャディ自動 TLS
ご存知のとおり、Caddy はユーザーが提供した電子メール ID を使用して Let's Crypt 経由で SSL 証明書を自動的に提供できます。したがって、それを再度設定するには、CaddyFile を編集します。
sudo vi /etc/caddy/Caddyfile
そして、ポート 80 を Web サイトで使用するドメイン名に置き換えます。その後、SSL 証明書のインストールに使用する電子メール ID も記載します。
h2sexample.com { root /var/www gzip tls [email protected] }
交換してくださいh2sexample.comあなたのドメイン名と[メールで保護されています]あなたのメールアドレスと一緒に。 https を使用してアクセスすると、すべてがうまくいけば、安全な Web ページが表示されます。
その他の記事: