ウェブサイト検索

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


Web サーバーは、クライアントとサーバーの間で HTTP リクエストを処理するように設計されたサーバー側アプリケーションです。 HTTP は基本的なネットワーク プロトコルであり、非常に広く使用されています。

Apache HTTP Server は、今日の Web の設計において重要な役割を果たしました。それだけで37.3% の市場シェアを誇ります。リストの 2 位は Nginx で、32.4% の市場シェアを持っています。 Microsoft IISLiteSpeed は 3 位と 4 位で、それぞれ 7.8%6.9% の市場シェアを持っています。

最近、Caddy という名前の Web サーバーを見つけました。その機能について調べてテストに導入してみたところ、素晴らしいと言わざるを得ません。移植性があり、構成ファイルを必要としない Web サーバー。とても素晴らしいプロジェクトだと思いましたので、皆さんと共有したいと思いました。ここではキャディに挑戦してみました!

キャディとは何ですか?

Caddy は、設定と使用が簡単な Apache Web サーバーの代替手段です。 マシュー ホルト – Caddy のプロジェクト リーダーは、Caddy は汎用 Web サーバーであり、人間向けに設計されており、おそらくその種類のものは唯一であると主張しています。

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

キャディの特徴

  1. HTTP/2 を使用した高速な HTTP リクエスト。
  2. 最小限の構成と手間のかからない展開で機能する Web サーバー。
  3. TLS 暗号化により、インターネット上で通信するアプリケーションとユーザー間の暗号化が保証されます。独自のキーと証明書を使用することもできます。
  4. 導入/使用が簡単。単一のファイルのみで、どのプラットフォームにも依存しません。
  5. インストールは必要ありません。
  6. ポータブルな実行可能ファイル。
  7. 複数の CPU/コアで実行します。
  8. 高度な WebSocket テクノロジー - ブラウザとサーバー間の対話型通信セッション。
  9. オンザフライでサーバーマークダウンドキュメントを作成します。
  10. 最新のIPv6を完全サポート。
  11. カスタム形式でログを作成します。
  12. FastCGI、リバース プロキシ、書き換えとリダイレクト、クリーン URL、Gzip 圧縮、ディレクトリ ブラウズ、仮想ホスト、およびヘッダーを提供します。
  13. Windows、Linux、BSD、Mac、Android など、すべての既知のプラットフォームで利用可能です。

キャディの違いは何ですか?

  1. Caddy は、従来のスタイルではなく、2020 年のあるべき姿で Web を提供することを目指しています。
  2. これは、HTTP リクエストを処理するだけでなく、人間にもサービスを提供するように設計されています。
  3. 最新機能 – HTTP/2、IPv6、Markdown、WebSocket、FastCGI、テンプレート、その他のすぐに使える機能が搭載されています。
  4. 実行可能ファイルをインストールせずに実行します。
  5. 技術的な説明は最小限に抑えた詳細なドキュメント。
  6. デザイナー、開発者、ブロガーの必要性と使いやすさを念頭に置いて開発されました。
  7. 仮想ホストのサポート – 必要な数のサイトを定義します。
  8. サイトが静的か動的かに関係なく、お客様に最適です。あなたが人間であるなら、それはあなたのためです。
  9. どのように達成するかではなく、何を達成するかに焦点を当てます。
  10. ほとんどのプラットフォーム (Windows、Linux、Mac、Android、BSD) のサポートが利用可能。
  11. 通常、サイトごとに 1 つの Caddy ファイルがあります。
  12. あまりコンピューターに詳しくない方でも、1 分以内にセットアップできます。
テスト環境

CentOS サーバーと Debian サーバーでテストしますが、同じ手順は RHELDebian でも機能します。ベースのディストリビューションです。どちらのサーバーでも64 ビットの実行可能ファイルを使用します。

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

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

使用しているプラットフォームやアーキテクチャに関係なく、caddy はすぐに使用できるバイナリ パッケージを提供しており、図に示すようにデフォルトのパッケージ マネージャーを使用してインストールできます。

Fedora、RedHat、CentOS に Caddy をインストールする

CORP リポジトリからFedora または RHEL/CentOS 8 に最新バージョンの 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

次に、ブラウザを開いて次のアドレスを指定すると、キャディのようこそページが表示されるはずです。

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

Caddy を使用したドメインのセットアップ

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

mkdir /var/www/html/example.com

SELinux を使用している場合は、Web コンテンツのファイル セキュリティ コンテキストを変更する必要があります。

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 に変更します。

Caddy サービスをリロードして、構成の変更を保存します。

systemctl reload caddy

次に、任意の HTML ページを作成し (独自に作成することもできます)、そのページを Web サイトのドキュメント ルート ディレクトリに保存します。

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

次のサンプル HTML コードを Web サイトのインデックス ページに追加します。

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 プロトコル経由で提供され、接続が安全であることが示されます。

結論

初心者で、設定に手を汚さずに Web サーバーをセットアップしたい場合は、このツールが最適です。インスタントでシンプルな Web サーバーを必要とする経験豊富なユーザーであっても、Caddy は試してみる価値があります。より複雑で高度な Web サーバーを設定する必要がある場合は、少しの構成で、フォルダーのアクセス許可、認証、エラー ページ、Gzip、HTTP リダイレクトなどを設定することもできます。

Caddy を Apache や Nginx の代替品として考えないでください。 Caddy は、トラフィックの多い運用環境を処理するように設計されていません。速度と信頼性を重視する場合に、Web サーバーを迅速にセットアップできるように設計されています。

参考文献

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

このドキュメントは、必要に応じて画像を使用して簡単に確認し、インストール手順を説明することを目的としています。プロジェクトの長所/短所、または提案を見つけた場合は、コメント欄に記入してください。

私にとって、このプロジェクトはまだ若すぎて、まだ完璧に機能しており、強力で有望に思えます。私が考える最大の利点は、キャディが設定ファイルをどこにでも持ち運ぶ必要がないことです。 Nginx、Lighttpd、vagrant、Websocketd の長所を提供することを目的としています。私からは以上です。 Tecmint への接続を維持します。称賛