Linux上でCaddyを使用してHTTPSでウェブサイトをホストする方法
ウェブサーバーは、クライアントとサーバー間のHTTPリクエストを処理するために設計されたサーバーサイドアプリケーションです。HTTPは基本的で非常に広く使用されているネットワークプロトコルです。
Apache HTTP Serverは、今日のウェブの設計において重要な役割を果たしました。それ単独で37.3%の市場占有率を持っています。リストでNginxが2位にあり、市場占有率は32.4%です。Microsoft IISとLiteSpeedは、それぞれ7.8%と6.9%の市場占有率を持ち、3位と4位にランクインしています。
最近、Caddyというウェブサーバーを見つけました。その特徴について調べ、テスト用にデプロイしてみたのですが、素晴らしいと言わざるを得ません。ポータブルで、設定ファイルが不要なウェブサーバーです。とてもクールなプロジェクトだと思ったので、皆さんと共有したいと思いました。ここでCaddyを試してみました!
キャディとは何ですか?
Caddyは、簡単に設定して使用できるApacheウェブサーバーの代替品です。マシュー・ホルト – Caddyのプロジェクトリーダーは、Caddyは汎用ウェブサーバーであり、人間のために設計されていると主張しています。そして、おそらくそのようなものは唯一無二です。
Caddyは、Let’s Encryptを使用してSSL/TLS証明書を自動的に取得および更新できる唯一の最初のWebサーバーです。
Caddyの特徴
- HTTP/2を使用して迅速なHTTPリクエスト。
- 最小限の設定で手間のかからない展開が可能なウェブサーバー。
- TLS暗号化は、インターネット上で通信しているアプリケーションとユーザー間の暗号化を保証します。独自の鍵と証明書を使用することもできます。
- 展開/使用が簡単です。単一のファイルだけで、どのプラットフォームにも依存していません。
- インストールは不要です。
- ポータブル実行ファイル。
- 複数のCPU/コアで実行します。
- 高度なWebSocket技術 - ブラウザとサーバー間のインタラクティブな通信セッション。
- サーバーのMarkdownドキュメントを即座に生成する。
- 最新のIPv6を完全にサポートしています。
- カスタム形式でログを作成します。
- FastCGI、リバースプロキシ、リライトとリダイレクト、クリーンURL、Gzip圧縮、ディレクトリブラウジング、バーチャルホスト、ヘッダーを提供する。
- すべての既知のプラットフォームで利用可能 - Windows、Linux、BSD、Mac、Android。
キャディが他と異なる理由は何ですか?
- Caddyは、2020年にふさわしい形でウェブを提供することを目指しており、従来のスタイルではありません。
- これはHTTPリクエストだけでなく、人間にも対応するように設計されています。
- 最新の機能を搭載 – HTTP/2、IPv6、Markdown、WebSockets、FastCGI、テンプレート、その他の標準機能。
- インストールすることなく実行可能ファイルを実行します。
- 詳細な文書には、最小限の技術的説明が含まれています。
- デザイナー、開発者、ブロガーのニーズと使いやすさを考慮して開発されました。
- 仮想ホストをサポート – 希望するだけ多くのサイトを定義してください。
- あなたにぴったりです - あなたのサイトが静的であれ動的であれ。もしあなたが人間なら、それはあなたのためのものです。
- あなたは達成すべきことに集中し、達成方法には集中しません。
- ほとんどのプラットフォーム(Windows、Linux、Mac、Android、BSD)に対するサポートの利用可能性。
- 通常、1つのサイトにつき1つのCaddyファイルがあります。
- コンピュータに詳しくなくても、1分以内にセットアップできます。
テスト環境
私はCentOSサーバーとDebianサーバーでテストを行いますが、同じ指示はRHELおよびDebianベースのディストリビューションでも機能します。両方のサーバーでは64ビットの実行ファイルを使用する予定です。
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ウェブサーバーの最新バージョンをインストールします。
# 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ウェブサーバーをインストールすると、次のsystemctlコマンドを使用してサービスを開始、有効化、および状態を確認できます。
# systemctl start caddy
systemctl enable caddy
systemctl status caddy
今、ブラウザを開き、以下のアドレスにアクセスしてください。そうすれば、caddyのウェルカムページを見ることができるはずです。
http://Server-IP
OR
http://yourdomain.com
Caddyを使用したドメインの設定
ドメインを設定するには、まず、DNSコントロールパネルでドメインのA/AAAA DNSレコードをこのサーバーに向ける必要があります。次に、フォルダ/var/www/htmlの下に、ウェブサイトexample.comのドキュメントルートディレクトリを作成します。
$ mkdir /var/www/html/example.com
SELinuxを使用している場合は、ウェブコンテンツのファイルセキュリティコンテキストを変更する必要があります。
# 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でキャディの設定ファイルを開いて編集してください。
# vim /etc/caddy/Caddyfile
:80をあなたのドメイン名に置き換え、サイトルートを/var/www/html/example.comに変更してください。
設定変更を保存するために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
もう一度あなたのサイトに訪れて、自分のページを確認してください。
すべてが正しく構成されている場合、あなたのドメインはHTTPSプロトコル経由で提供され、接続が安全であることを示します。
結論
もしあなたが初心者で、設定をすることなくウェブサーバーをセットアップしたいのであれば、このツールはあなたのためのものです。経験豊富なユーザーでも、瞬時にシンプルなウェブサーバーが必要なら、Caddyを試してみる価値があります。少し設定することで、フォルダの権限設定、認証管理、エラーページ、Gzip、HTTPリダイレクトなどを行うことができ、より複雑で高度なウェブサーバーを設定する必要がある場合に役立ちます。
CaddyをApacheやNginxの代わりとして使用しないでください。Caddyは高トラフィックのプロダクション環境を処理するようには設計されていません。速度と信頼性が重要なときの迅速なウェブサーバーのセットアップのために設計されています。
参考文献
Caddy ウェブサーバーの完全なユーザーガイド/完全な文書
このドキュメントは、迅速なレビューと必要に応じて画像付きのインストール手順を目的として持参しました。プロジェクトの長所/短所やご提案がある場合は、コメント欄にお知らせください。
私にとって、このプロジェクトはまだ若すぎるが、完全に機能しており、強力で期待が持てるものに見える。私が見る最大の利点は、Caddy がどこにでもその設定ファイルを持ち歩く必要がないことだ。それは、Nginx、Lighttpd、Vagrant、Websocketd の最良のものを提供することを目指している。それが私からのすべてです。Tecmint に接続し続けてください。素晴らしい!


