LinuxでCaddyを使用してHTTPSでウェブサイトをホストする方法

A web server is a server-side application designed to process HTTP requests between client and server. HTTP is the basic and very widely used network protocol.

Apache HTTP Serverは、現在のWebの設計に重要な役割を果たしています。それ単体で37.3%の市場シェアを持っています。Nginxは、32.4%の市場シェアを持って2番目にリストされています。Microsoft IISLiteSpeedは、それぞれ7.8%6.9%の市場シェアで3番目と4番目に来ます。

最近、私はCaddyという名前のWebサーバーに出会いました。その機能を尋ねてテストにデプロイしてみたところ、本当に素晴らしいと思います。設定ファイルを必要とせず、移植性の高いWebサーバーです。私はこれが非常にクールなプロジェクトだと思い、皆さんと共有したいと思います。ここで、Caddyを試してみましょう!

Caddyとは何ですか?

Caddyは、簡単に設定および使用できるApacheウェブサーバーの代替です。Matthew Holt – Caddyのプロジェクトリーダーは、Caddyが一般的なWebサーバーであり、人間のために設計されていると主張しています。おそらくそのようなものは他にないでしょう。

Caddyは、Let’s Encryptを使用してSSL/TLS証明書を自動的に取得および更新できる唯一の最初のWebサーバーです。

Caddyの特徴

  1. HTTP/2を使用した高速なHTTPリクエスト。
  2. 最小の設定と手間なしの展開が可能なWebサーバー。
  3. 通信するアプリケーションとユーザー間の暗号化を保証するTLS暗号化。独自のキーと証明書を使用できます。
  4. 簡単に展開/使用できます。単一のファイルだけで、どのプラットフォームにも依存しません。
  5. インストールは不要です。
  6. ポータブルな実行ファイル。
  7. 複数のCPU/コアで実行可能。
  8. 高度なWebSockets技術 – ブラウザとサーバー間の対話型通信セッション。
  9. サーバー上でMarkdownドキュメントをリアルタイムで処理。
  10. 最新のIPv6に完全対応。
  11. カスタム形式でログを作成。
  12. FastCGI、リバースプロキシ、リライト、リダイレクト、クリーンURL、Gzip圧縮、ディレクトリの閲覧、仮想ホスト、およびヘッダーを提供。
  13. すべての既知のプラットフォームに利用可能 – Windows、Linux、BSD、Mac、Android。

caddyの特徴は何ですか?

  1. caddyは2020年にウェブを提供することを目指しており、伝統的なスタイルではありません。
  2. HTTPリクエストだけでなく、人間にも配慮されています。
  3. 最新の機能を搭載 – HTTP/2、IPv6、Markdown、WebSockets、FastCGI、テンプレート、その他の標準機能。
  4. インストールする必要なしに実行ファイルを実行。
  5. 最小限の技術的説明と詳細なドキュメント。
  6. デザイナー、開発者、ブロガーのニーズと利便性を考慮して開発されました。
  7. 仮想ホストをサポート – 必要なだけサイトを定義できます。
  8. あなたに適しています – サイトが静的か動的かにかかわらず、人間であればあなたに適しています。
  9. 達成すべきことに焦点を当ててください、それを達成する方法ではありません。
  10. ほとんどのプラットフォームでサポートが利用可能 – Windows、Linux、Mac、Android、BSD。
  11. 通常、1つのCaddyファイルが1つのサイトに対応しています。
  12. 1分以内にセットアップし、あなたがそれほどコンピューターに詳しくなくても大丈夫です。
テスト環境

I will be testing it on the CentOS server, as well as Debian Server, but the same instructions also work on RHEL and Debian based distributions. For both the server I am going to use 64-bit executables.

Operating Systems: CentOS 8 and Debian 10 Buster
Caddy Version: v2.0.0

LinuxでのCaddy Webサーバーのインストール

どのプラットフォームにいても、どのようなアーキテクチャを使用していても、Caddyは使用可能なバイナリパッケージを提供しており、次に示すデフォルトのパッケージマネージャーを使用してインストールできます。

Fedora、RedHat、CentOSでCaddyをインストール

FedoraまたはRHEL/CentOS 8のCORPリポジトリからCaddy Webサーバーの最新バージョンをインストールします。

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

RHEL/CentOS 7では、次のコマンドを使用してください。

# yum install yum-plugin-copr
# yum copr enable @caddy/caddy
# yum install caddy

DebianとUbuntuでCaddyをインストール

$ echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
    | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
$ sudo apt update
$ sudo apt install caddy

Caddy Webサーバーをインストールしたら、次のsystemctlコマンドを使用してサービスを開始、有効化、および状態を確認できます。

# systemctl start caddy
# systemctl enable caddy
# systemctl status caddy

今、ブラウザを開き、ブラウザを次のアドレスに指定すると、Caddyのウェルカムページが表示されるはずです。

http://Server-IP
OR
http://yourdomain.com
Caddy Web Server

Caddyでドメインを設定する

ドメインを設定するには、まず、ドメインのA/AAAA DNSレコードをDNSコントロールパネルでこのサーバーに向ける必要があります。次に、ドキュメントルートディレクトリを作成し、"example.com"のウェブサイト用にフォルダー/var/www/htmlを作成します。

$ mkdir /var/www/html/example.com

SELinuxを使用している場合は、ウェブコンテンツのファイルセキュリティコンテキストを変更する必要があります。今、Caddyの設定ファイルを/etc/caddy/Caddyfileで開き、編集します。

# chcon -t httpd_sys_content_t /var/www/html/example.com -R
# chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R

今、/etc/caddy/CaddyfileでCaddy構成ファイルを開いて編集してください。

# vim /etc/caddy/Caddyfile

:80をあなたのドメイン名に置き換え、サイトのルートを/var/www/html/example.comに変更してください。

Configure Caddy Web Server

Caddyサービスを再読み込みして構成変更を保存してください。

# systemctl reload caddy

今、HTMLページを作成し(独自のものを作成してもかまいません)、ウェブサイトのドキュメントルートディレクトリにページを保存してください。

# touch /var/www/html/example.com/index.html

以下のサンプルHtmlコードをウェブサイトのインデックスページに追加してください。

# echo '<!doctype html><head><title>Caddy Test Page at TecMint</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/index.html

再度サイトを訪れてページを確認してください。

Hosting Website with Caddy

すべてが正しく構成されている場合、あなたのドメインはHTTPSプロトコルを介して提供され、接続が安全であることを示します。

結論

初心者で、設定に手を汚さずにWebサーバーをセットアップしたい場合、このツールが適しています。ApacheやNginxの代替としてCaddyを考えないでください。Caddyは高トラフィックの本番環境を処理するために設計されていません。速度と信頼性が重要な場合に迅速なWebサーバーのセットアップに適しています。

参考文献

Caddy Web Serverの完全なユーザーガイド/完全なドキュメント

このドキュメントは、必要に応じて画像を使用した迅速なレビューとインストール手順を目指しています。プロジェクトの長所/短所や提案など、何かお気付きの点があれば、コメントセクションにお知らせください。

私にとって、このプロジェクトはまだ新しく、完璧に動作し、強力で有望に見えます。私が見る最大の利点は、caddyがいつでも設定ファイルを持ち歩く必要がないことです。これは、Nginx、Lighttpd、Vagrant、およびWebsocketdのベストを提供することを目指しています。以上が私からのすべてです。Tecmintに接続されたままでいてください。お疲れ様です

Source:
https://www.tecmint.com/install-caddy-web-server-in-centos-ubuntu/