FreeBSD 上のウェブホスティング製品
Certbot を使用するには、以下が必要です...
コマンドラインとは、テキストベースのコマンドを入力してコンピュータと対話する方法で、テキストベースの応答を受け取ります。Certbot は、通常は Unix 系サーバー上のコマンドラインインターフェースから実行されます。ほとんどの場合、Certbot を使用するには、Web サーバーのコマンドラインに Certbot をインストールして実行できる必要があります。通常、SSH 経由でアクセスします。
コマンドラインとは、テキストベースのコマンドを入力してコンピュータと対話する方法で、テキス...
HTTP(Hypertext Transfer Protocol)は、Web ブラウザが Web サーバーから Web ページやその他のオンラインリソースのコンテンツを要求するための従来の、しかし安全ではない方法です。これはインターネット標準であり、通常は TCP ポート 80 で使用されます。世界のほぼすべての Web サイトが HTTP をサポートしていますが、Certbot またはその他の HTTPS 設定方法で設定された Web サイトは、ユーザーをサイトの HTTP バージョンから HTTPS バージョンに自動的にリダイレクトする場合があります。
HTTP(Hypertext Transfer Protocol)は、Web ブラウザが Web サーバーから Web ページやその他のオンライ...
HTTP(Hypertext Transfer Protocol)は、Web ブラウザが Web サーバーから Web ページやその他のオンラインリソースのコンテンツを要求するための従来の、しかし安全ではない方法です。これはインターネット標準であり、通常は TCP ポート 80 で使用されます。世界のほぼすべての Web サイトが HTTP をサポートしていますが、Certbot またはその他の HTTPS 設定方法で設定された Web サイトは、ユーザーをサイトの HTTP バージョンから HTTPS バージョンに自動的にリダイレクトする場合があります。
が必要です
Certbot は通常、既存の HTTP サイトを HTTPS で動作するように切り替えるために使用されます(その後、必要に応じてサイトの HTTPS 証明書の更新を続行します)。Certbot のドキュメントの一部では、ポート 80 で HTTP を使用して既にアクセスできる動作中の Web サイトがあることを前提としています。つまり、たとえば、Web ブラウザを使用して http:// を使用してドメインにアクセスすると、Web サーバーが応答し、何らかのコンテンツが表示されます(サイトの最終バージョンではなく、デフォルトのウェルカムページであっても)。Certbot を使用する方法の中には、これを前提条件としているものがあるため、既に HTTP でサイトをセットアップしている場合は、よりスムーズに操作できます。(ポリシーによりサイトにこの方法でアクセスできない場合は、Certbot で証明書を取得するために DNS 検証を使用する必要があるでしょう)。
Certbot は通常、既存の HTTP サイトを HTTPS で動作するように切り替えるために使用されます(その後、必要に応じてサイ...
Certbot は通常、既存の HTTP サイトを HTTPS で動作するように切り替えるために使用されます(その後、必要に応じてサイトの HTTPS 証明書の更新を続行します)。Certbot のドキュメントの一部では、ポート 80 で HTTP を使用して既にアクセスできる動作中の Web サイトがあることを前提としています。つまり、たとえば、Web ブラウザを使用して http:// を使用してドメインにアクセスすると、Web サーバーが応答し、何らかのコンテンツが表示されます(サイトの最終バージョンではなく、デフォルトのウェルカムページであっても)。Certbot を使用する方法の中には、これを前提条件としているものがあるため、既に HTTP でサイトをセットアップしている場合は、よりスムーズに操作できます。(ポリシーによりサイトにこの方法でアクセスできない場合は、Certbot で証明書を取得するために DNS 検証を使用する必要があるでしょう)。
ポートが開いている
異なるインターネットサービスは、異なる TCP ポート番号を使用することで区別されます。暗号化されていない HTTP は通常 TCP ポート 80 を使用し、暗号化された HTTPS は通常 TCP ポート 443 を使用します。`certbot --webroot`、`certbot --apache`、または `certbot --nginx` を使用するには、Certbot を使用するサーバーでホストされている、既にオンラインになっている既存の HTTP ウェブサイトが必要です。このサイトは、ポート 80 でインターネットの他の部分からアクセスできる必要があります。`certbot --standalone` を使用する場合、既存のサイトは必要ありませんが、サーバーのポート 80 への接続がファイアウォールによってブロックされていないことを確認する必要があります。ファイアウォールには、インターネットサービスプロバイダまたは Web ホスティングプロバイダによって実行されているファイアウォールが含まれる場合があります。不明な場合は、ISP またはホスティングプロバイダにお問い合わせください。(DNS 検証を使用する場合、Let's Encrypt がサーバーへのインバウンド接続を確立する必要がないため、特にこの方法では、既存の HTTP ウェブサイトやポート 80 で接続を受信する機能は必要ありません)。
異なるインターネットサービスは、異なる TCP ポート番号を使用することで区別されます。暗号化されていない HTTP は通常 TC...
異なるインターネットサービスは、異なる TCP ポート番号を使用することで区別されます。暗号化されていない HTTP は通常 TCP ポート 80 を使用し、暗号化された HTTPS は通常 TCP ポート 443 を使用します。`certbot --webroot`、`certbot --apache`、または `certbot --nginx` を使用するには、Certbot を使用するサーバーでホストされている、既にオンラインになっている既存の HTTP ウェブサイトが必要です。このサイトは、ポート 80 でインターネットの他の部分からアクセスできる必要があります。`certbot --standalone` を使用する場合、既存のサイトは必要ありませんが、サーバーのポート 80 への接続がファイアウォールによってブロックされていないことを確認する必要があります。ファイアウォールには、インターネットサービスプロバイダまたは Web ホスティングプロバイダによって実行されているファイアウォールが含まれる場合があります。不明な場合は、ISP またはホスティングプロバイダにお問い合わせください。(DNS 検証を使用する場合、Let's Encrypt がサーバーへのインバウンド接続を確立する必要がないため、特にこの方法では、既存の HTTP ウェブサイトやポート 80 で接続を受信する機能は必要ありません)。
サーバーとは、インターネット上でWebサイトやメールサービスなどのサービスを提供するコンピューターです。ほとんどのWebサイト所有者は、データセンターに設置され、インターネット経由で管理されているサーバーの使用料をホスティングプロバイダーに支払っています。これは、物理的な専用サーバー、仮想プライベートサーバー(VPS)、または共有サーバーである場合があります。その他のサーバーは、DNSサーバーなど、インターネットインフラストラクチャの他の部分を担っています。
サーバーとは、インターネット上でWebサイトやメールサービスなどのサービスを提供するコンピューターです...
サーバーとは、インターネット上でWebサイトやメールサービスなどのサービスを提供するコンピューターです。ほとんどのWebサイト所有者は、データセンターに設置され、インターネット経由で管理されているサーバーの使用料をホスティングプロバイダーに支払っています。これは、物理的な専用サーバー、仮想プライベートサーバー(VPS)、または共有サーバーである場合があります。その他のサーバーは、DNSサーバーなど、インターネットインフラストラクチャの他の部分を担っています。
上でホストされており、
SSH(「セキュアシェル」の略)は、リモートサーバーに接続し、そのサーバーのコマンドラインにアクセスするための技術であり、多くの場合、サーバーを管理するために使用されます。サーバーの管理者は、他の人にSSHアクセス権を付与したり、SSHアクセスを直接使用してサーバーをリモートで管理したりできます。SSHは通常、Unix系のオペレーティングシステムを実行しているサーバーにアクセスするために使用されますが、SSHを使用するために自分のコンピューターでUnixを実行している必要はありません。通常、SSHは、ターミナルでコンピューターのコマンドラインから、ssh username@example.comなどのコマンドを入力して使用します。これは、自分のコンピューターがLinuxまたはmacOSを実行している場合に特に当てはまります。ログインすると、サーバーのコマンドラインにアクセスできます。コンピューターでWindowsを使用している場合は、PuTTYなどの専用のSSHアプリケーションを使用することもできます。ほとんどのCertbotユーザーは、SSH経由でリモートサーバーのコマンドプロンプトからCertbotを実行します。
SSH(「セキュアシェル」の略)は、リモートサーバーに接続し、アクセスするための技術です...
SSH(「セキュアシェル」の略)は、リモートサーバーに接続し、そのサーバーのコマンドラインにアクセスするための技術であり、多くの場合、サーバーを管理するために使用されます。サーバーの管理者は、他の人にSSHアクセス権を付与したり、SSHアクセスを直接使用してサーバーをリモートで管理したりできます。SSHは通常、Unix系のオペレーティングシステムを実行しているサーバーにアクセスするために使用されますが、SSHを使用するために自分のコンピューターでUnixを実行している必要はありません。通常、SSHは、ターミナルでコンピューターのコマンドラインから、ssh username@example.comなどのコマンドを入力して使用します。これは、自分のコンピューターがLinuxまたはmacOSを実行している場合に特に当てはまります。ログインすると、サーバーのコマンドラインにアクセスできます。コンピューターでWindowsを使用している場合は、PuTTYなどの専用のSSHアプリケーションを使用することもできます。ほとんどのCertbotユーザーは、SSH経由でリモートサーバーのコマンドプロンプトからCertbotを実行します。
経由でアクセスでき、
sudoは、Unix系オペレーティングシステムで特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです。root以外のユーザーとしてサーバーにログインしている場合は、Certbotコマンドの前にsudoを付けてrootとして実行する必要がある場合があります(たとえば、certbotではなくsudo certbot)。これは、ApacheやNginxなどのWebサーバーとCertbotの統合を使用している場合に特に当てはまります。(certbot-autoスクリプトは、sudoが必要で、指定しなかった場合に自動的にsudoを実行します。)
sudoは、Unix系オペレーティングシステムで特定のコマンドをrootとして実行するための最も一般的なコマンドです...
sudoは、Unix系オペレーティングシステムで特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです。root以外のユーザーとしてサーバーにログインしている場合は、Certbotコマンドの前にsudoを付けてrootとして実行する必要がある場合があります(たとえば、certbotではなくsudo certbot)。これは、ApacheやNginxなどのWebサーバーとCertbotの統合を使用している場合に特に当てはまります。(certbot-autoスクリプトは、sudoが必要で、指定しなかった場合に自動的にsudoを実行します。)
権限を持つ必要があります。
ワイルドカード証明書とは、*.
で始まる1つ以上の名前を含む証明書です。ブラウザは、アスタリスク(*
)の代わりに任意のラベルを受け入れます。たとえば、*.example.com
の証明書は、www.example.com
、mail.example.com
、hello.example.com
、およびgoodbye.example.com
で有効です。
ただし、*.example.com
という名前のみを含むワイルドカード証明書は、example.com
では有効ではありません。代入されるラベルを空にすることはできません。証明書をexample.com
で有効にするには、証明書にexample.com
(つまり、*.
の部分がないもの)も含める必要があります。
さらに、アスタリスクは単一のラベルのみに置き換えることができ、複数のラベルには置き換えることができません。たとえば、hello.goodbye.example.com
という名前は、*.example.com
という名前のみを含む証明書ではカバーされません。ただし、*.goodbye.example.com
ではカバーされます。ワイルドカード名に複数のアスタリスクを含めることはできません。たとえば、*.*.example.com
は無効です。
ワイルドカード証明書とは、*.
で始まる1つ以上の名前を含む証明書です。ブラウザは...
ワイルドカード証明書とは、*.
で始まる1つ以上の名前を含む証明書です。ブラウザは、アスタリスク(*
)の代わりに任意のラベルを受け入れます。たとえば、*.example.com
の証明書は、www.example.com
、mail.example.com
、hello.example.com
、およびgoodbye.example.com
で有効です。
ただし、*.example.com
という名前のみを含むワイルドカード証明書は、example.com
では有効ではありません。代入されるラベルを空にすることはできません。証明書をexample.com
で有効にするには、証明書にexample.com
(つまり、*.
の部分がないもの)も含める必要があります。
さらに、アスタリスクは単一のラベルのみに置き換えることができ、複数のラベルには置き換えることができません。たとえば、hello.goodbye.example.com
という名前は、*.example.com
という名前のみを含む証明書ではカバーされません。ただし、*.goodbye.example.com
ではカバーされます。ワイルドカード名に複数のアスタリスクを含めることはできません。たとえば、*.*.example.com
は無効です。
DNS認証情報とは、DNSプロバイダーがDNSレコードの内容を変更するために使用できるパスワードまたはその他の種類のシークレット(APIキーなど)です。通常、ドメインレジストラ(またはDNSプロバイダーがレジストラと同じでない場合は別のDNSプロバイダー)によって発行されます。DNS認証情報は、サイトを完全に乗っ取ることができるため、機密性の高い種類のシークレットです。これらの認証情報を公に、または権限のない人と共有しないでください。Certbotがローカルマシンで実行されるため、Certbotにコピーを提供してDNS検証を自動的に実行させることは問題ありません。
DNS認証情報とは、DNSプロバイダーがDNSレコードの内容を変更するために使用できるパスワードまたはその他の種類のシークレット(APIキーなど)です...
DNS認証情報とは、DNSプロバイダーがDNSレコードの内容を変更するために使用できるパスワードまたはその他の種類のシークレット(APIキーなど)です。通常、ドメインレジストラ(またはDNSプロバイダーがレジストラと同じでない場合は別のDNSプロバイダー)によって発行されます。DNS認証情報は、サイトを完全に乗っ取ることができるため、機密性の高い種類のシークレットです。これらの認証情報を公に、または権限のない人と共有しないでください。Certbotがローカルマシンで実行されるため、Certbotにコピーを提供してDNS検証を自動的に実行させることは問題ありません。
これらの要件を満たしていませんか?
ご心配なく!一部のホスティングプロバイダーは、HTTPSプロセスを自動化しています。ホスティングプロバイダーの全リストをご覧ください、またはシステムのセットアップ方法の詳細をご覧ください。
- サーバーにSSH接続します
sudo権限を持つユーザーとして、HTTP Webサイトを実行しているサーバーにSSH接続します。
- Certbotをインストールします
Certbotパッケージをインストールするか...
マシンのコマンドラインでこのコマンドを実行して、Certbotパッケージをインストールします。
pkg install security/py-certbot
または、必要に応じて、portsからCertbotをインストールします
マシンのコマンドラインでこのコマンドを実行して、portsからCertbotをインストールします。
cd /usr/ports/security/py-certbot && make install clean
- Certbotの実行方法を選択してください
ウェブサイトを一時的に停止してもよろしいですか?
はい、私のウェブサーバーは現在このマシンで実行されていません。
ウェブサーバーを停止してから、このコマンドを実行して証明書を取得してください。Certbotは一時的にマシン上にウェブサーバーを起動します。
sudo certbot certonly --standalone
いいえ、ウェブサーバーを実行し続ける必要があります。
すでにポート80を使用しているウェブサーバーがあり、Certbotの実行中に停止したくない場合は、このコマンドを実行し、ターミナルの指示に従ってください。
sudo certbot certonly --webroot
- 証明書のインストール
新しい証明書をウェブサーバーの設定ファイルにインストールする必要があります。
- 自動更新のテスト
システム上のCertbotパッケージには、証明書の期限が切れる前に自動的に更新するcronジョブまたはsystemdタイマーが付属しています。設定を変更しない限り、Certbotを再度実行する必要はありません。次のコマンドを実行することで、証明書の自動更新をテストできます。
sudo certbot renew --dry-run
certbotを更新するコマンドは、以下のいずれかの場所にインストールされています
/etc/crontab/
/etc/cron.*/*
systemctl list-timers
- Certbotが機能したことを確認する
サイトが正しく設定されていることを確認するには、ブラウザで
https://yourwebsite.com/
にアクセスし、URLバーのロックアイコンを探します。
- DNSプロバイダーがサポートされているかどうかを確認する
ドキュメントのこのリストを確認して、DNSプロバイダーがCertbotでサポートされているかどうかを確認してください。
サポートされていませんか?
DNSプロバイダーがサポートされていない場合は、ここで一時停止します。ドキュメントの手順に従って、手動プラグインを使用してCertbotを実行してください。
サポートされていますか?
DNSプロバイダーがサポートされている場合は、以下の残りの手順を続行してください。
- サーバーにSSH接続します
sudo権限を持つユーザーとして、HTTP Webサイトを実行しているサーバーにSSH接続します。
- Certbotをインストールします
Certbotパッケージをインストールするか...
マシンのコマンドラインでこのコマンドを実行して、Certbotパッケージをインストールします。
pkg install security/py-certbot
または、必要に応じて、portsからCertbotをインストールします
マシンのコマンドラインでこのコマンドを実行して、portsからCertbotをインストールします。
cd /usr/ports/security/py-certbot && make install clean
- 正しいDNSプラグインをインストールする
次のコマンドを実行し、<PLUGIN> をDNSプロバイダーの名前に置き換えます。
pkg install security/py-certbot-dns-<PLUGIN>
たとえば、DNSプロバイダーがCloudflareの場合、次のコマンドを実行します
pkg install security/py-certbot-dns-cloudflare
- 証明書を取得する
DNSプロバイダーの指示の「例」セクションにあるコマンドのいずれかを実行します。
- 証明書のインストール
新しい証明書をウェブサーバーの設定ファイルにインストールする必要があります。
- 自動更新のテスト
システム上のCertbotパッケージには、証明書の期限が切れる前に自動的に更新するcronジョブまたはsystemdタイマーが付属しています。設定を変更しない限り、Certbotを再度実行する必要はありません。次のコマンドを実行することで、証明書の自動更新をテストできます。
sudo certbot renew --dry-run
certbotを更新するコマンドは、以下のいずれかの場所にインストールされています
/etc/crontab/
/etc/cron.*/*
systemctl list-timers
- Certbotが機能したことを確認する
サイトが正しく設定されていることを確認するには、ブラウザで
https://yourwebsite.com/
にアクセスし、URLバーのロックアイコンを探します。