
高速かつ拡張可能なマルチプラットフォームHTTP/1-2-3ウェブサーバー(自動HTTPS対応)
CaddyはデフォルトでTLSを使用する拡張可能なサーバープラットフォームです。
最も簡単でクロスプラットフォームな始め方は、GitHub ReleasesからCaddyをダウンロードし、実行ファイルをPATHに配置することです。
他のインストール方法については、オンラインドキュメントを参照してください。
要件:
注: これらの手順では適切なバージョン情報が埋め込まれません。その場合は次のセクションの手順に従ってください。
$ git clone "https://github.com/caddyserver/caddy.git"
$ cd caddy/cmd/caddy/
$ go build
Caddyを実行すると、設定で指定されていない限り、低いポートにバインドしようとすることがあります。OSがこれに昇格した権限を必要とする場合は、新しいバイナリにその権限を与える必要があります。Linuxでは、次のように簡単に行えます: sudo setcap cap_net_bind_service=+ep ./caddy
一時的なバイナリのみを作成する go run を使用したい場合でも、付属の setcap.sh を使用して次のように行えます:
$ go run -exec ./setcap.sh main.go
setcap のためにパスワードを入力したくない場合は、sudo visudo でsudoersファイルを編集し、あなたのユーザーアカウントがパスワードなしでそのコマンドを実行できるようにします。例:
username ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap
username を実際のユーザー名に置き換えてください。注意して行ってください。自分が何をしているか理解している場合のみ実行してください! 私たちはCaddyの使い方を文書化することしかできません。Goツールやお使いのコンピュータについては説明できません。これらの手順は便宜のために提供しているものです。自分のコンピュータの使い方は自己責任で学び、必要な調整を行ってください。
その後、全モジュールまたは特定のモジュールのテストを実行できます:
$ go test ./...
$ go test ./modules/caddyhttp/tracing/
ビルダーツール xcaddy を使用して...
$ xcaddy build
...以下の手順が自動化されます:
mkdir caddycd caddygo mod init caddygo get github.com/caddyserver/caddy/v2@version で version をgitタグ、コミット、ブランチ名に置き換え。_ "import/path/here" のようにインポートを追加。go build -tags=nobadger,nomysql,nopgxCaddyのウェブサイトには、チュートリアル、クイックスタートガイド、リファレンスなどを含むドキュメントがあります。
経験レベルに関わらず、すべてのユーザーに「はじめよう」ガイドを読むことをお勧めします。
もし時間が1分しかなくても、ウェブサイトにはいくつかのクイックスタートチュートリアルが用意されています!ただし、クイックスタートチュートリアルを終えたら、ソフトウェアの動作を理解するためにもっとドキュメントを読んでください。🙂
Caddyはほとんどの場合HTTPSサーバーとして使用されますが、長時間実行されるGoプログラム全般に適しています。何よりもまず、Goアプリケーションを実行するためのプラットフォームです。Caddyの「アプリ」は、Caddyモジュールとして実装された単なるGoプログラムです。標準で tls と http の2つのアプリがCaddyに同梱されています。
Caddyアプリは即座に、自動化されたドキュメント、APIによる優雅なオンライン設定変更、および他のCaddyアプリとの統合の恩恵を受けます。
JSONがCaddyのネイティブ設定言語ですが、Caddyは設定アダプターからの入力も受け付けます。これは基本的に、任意の設定形式(Caddyfile、JSON5、YAML、TOML、NGINX設定など)をJSONに変換できます。
Caddyを設定する主な方法はAPIですが、設定ファイルを好む場合はコマンドラインインターフェースもサポートしています。
Caddyは、これまでのどのWebサーバーと比較しても、前例のないレベルの制御を提供します。Caddyでは通常、HTTPハンドラーやTLSハンドシェイクからストレージメディアまで、すべてを動かすメモリ内の初期化された型の実際の値を設定します。Caddyはまた、非常に拡張性が高く、他のWebサーバーよりも大幅に改善された強力なプラグインシステムを備えています。
この設計の力を活用するには、設定ドキュメントがどのように構成されているかを知る必要があります。詳細については、Caddyの設定構造についてのドキュメントサイトを参照してください。
Caddyの設定のほぼすべてが単一の設定ドキュメントに含まれており、他のWebサーバーのようにCLIフラグ、環境変数、設定ファイルに分散していません。これにより、サーバー設定の管理がより簡単になり、隠れた変数や要因が減少します。
私たちのウェブサイトには完全なドキュメントがあります:
ドキュメントはオープンソースでもあります。こちらで貢献できます:https://github.com/caddyserver/website
Caddyを使用する企業は、Ardan Labsを通じてサポート契約を結ぶことをお勧めします。
スポンサーシップが大きな助けになります!スポンサーにはプライベートなヘルプを提供できます。Caddyが貴社に利益をもたらしているなら、スポンサーシップをご検討ください。これはプロジェクトの長寿命を確保するためのフルタイム勤務の資金になるだけでなく、必要なリソース、サポート、割引を提供します。また、お客様や潜在的なお客様に対して貴社の良い印象を与えることにもなります!
個人は、コミュニティフォーラム(https://caddy.community)で無料でヘルプを交換できます。人々は余暇と善意から支援を提供していることを忘れないでください。ヘルプを得る最善の方法は、まず自分がヘルプを提供することです!
バグ報告や機能リクエスト(すなわち実行可能な開発項目)には、課題トラッカーのみを使用してください(サポート質問は通常フォーラムに誘導されます)。
Matthew Holtは、ブリガムヤング大学でコンピュータサイエンスを学んでいた2014年にCaddyの開発を始めました。(「Caddy」という名前は、このソフトウェアがWebを提供する面倒で退屈なタスクを支援し、また複数のものをまとめて整理する単一の場所であることから選ばれました。)すぐにHTTPSを自動的かつデフォルトで使用する最初のWebサーバーとなり、現在では数百のコントリビューターを持ち、数兆件のHTTPSリクエストを処理しています。
「Caddy」という名前は商標登録されています。 ソフトウェアの名前は「Caddy」であって、「Caddy Server」や「CaddyServer」ではありません。「Caddy」、または明確にしたい場合は「the Caddy web server」と呼んでください。CaddyはStack Holdings GmbHの登録商標です。
Caddyは、HID Globalの企業であるZeroSSLのプロジェクトです。
Debianパッケージリポジトリのホスティングは、Cloudsmithから快く提供されています。Cloudsmithは、あらゆる形式のパッケージを、あらゆる場所に、完全な信頼をもって作成、保存、共有できる、唯一の完全ホスト型クラウドネイティブユニバーサルパッケージ管理ソリューションです。