Windows 上のその他
Certbot を使用するには、以下が必要です...
コマンドラインとは、テキストベースのコマンドを入力してコンピュータと対話し、テキストベースの応答を受け取る方法です。Certbot は、通常は Unix 系サーバー上のコマンドラインインターフェースから実行されます。 Certbot をほとんどの目的で使用するには、通常は SSH 経由でアクセスする Web サーバーのコマンドラインに Certbot をインストールして実行できる必要があります。
コマンドラインとは、テキストベースのコマンドを入力してコンピュータと対話し、テキストベースの応答を受け取る方法です...
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 で動作するように切り替えるために使用されます(その後、必要に応じてサイトの 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...
異なるインターネットサービスは、異なる 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 で接続を受信できる必要はありません。)
サーバーとは、ウェブサイトや電子メールサービスのようなサービスを提供するインターネット上のコンピューターです。ほとんどのウェブサイト所有者は、データセンターに設置され、インターネット経由で管理されているサーバーの使用に対して、ホスティングプロバイダーに料金を支払っています。これは、物理的な専用サーバー、仮想プライベートサーバー(VPS)、または共有サーバーの場合があります。その他のサーバーは、DNSサーバーなど、インターネットインフラストラクチャの他の部分を担っています。
サーバーとは、ウェブサイトや電子メールサービスのようなサービスを提供するインターネット上のコンピューターです…
サーバーとは、ウェブサイトや電子メールサービスのようなサービスを提供するインターネット上のコンピューターです。ほとんどのウェブサイト所有者は、データセンターに設置され、インターネット経由で管理されているサーバーの使用に対して、ホスティングプロバイダーに料金を支払っています。これは、物理的な専用サーバー、仮想プライベートサーバー(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は、Unix系オペレーティングシステムで特定のコマンドをrootとして実行するための最も一般的なコマンドです…
sudoは、Unix系オペレーティングシステムで特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです。root以外のユーザーとしてサーバーにログインしている場合は、Certbotコマンドの前にsudoを付けて、rootとして実行する必要がある場合があります(たとえば、certbotではなくsudo certbot)。特に、ApacheやNginxなどのWebサーバーとCertbotの統合を使用している場合に必要です。(certbot-autoスクリプトは、必要な場合に自動的に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プロセスを自動化しています。ホスティングプロバイダーの完全なリストをご覧ください 、または システムのセットアップ方法の詳細をご覧ください。
- 重要な注意事項
この手順は、Windows 用の Certbot の現在の実装、特にシステムコンポーネントとしてインストールされ、管理者権限を必要とするという事実に従っています。 将来のバージョンの Certbot が別のインストール方法に切り替わる際に、これらの手順は更新されます。 現時点では、HTTP サーバー用のインストーラーはサポートされていません(Windows 用 Certbot は現在、Let's Encrypt から証明書を取得できますが、Web サーバーアプリケーションにインストールすることはできません)。
- Windows システムの具体的な要件とユーザーの知識要件
- Certbot は純粋な CLI プログラムであるため、ユーザーはコマンドラインインターフェース(CLI)に精通している必要があります。
- ユーザーは、Certbot をインストールして実行するために、管理者権限を持つアカウントを使用する必要があります。
- PowerShell と
CMD.EXE
がサポートされています。どちらも、Certbot を起動する前に、昇格された権限で起動する必要があります。 - パス
C:\Certbot
は、現在のユーザーが書き込み可能である必要があります。
- インストール手順
- サーバーに接続します。
- このマシンの管理者権限を持つアカウントを使用して、ローカルまたはリモート(リモートデスクトップを使用)でサーバーに接続します。
- Certbot をインストールします。
- Windows 用の最新バージョンの Certbot インストーラーをhttps://github.com/certbot/certbot/releases/latest/download/certbot-beta-installer-win_amd64_signed.exeからダウンロードします。
- インストーラーを実行し、ウィザードに従います。 インストーラーは、カスタマイズ可能なデフォルトのインストールディレクトリ
C:\Program Files(x86)
を提案します。 - Certbot のシェルを起動するには、スタートメニューを選択し、
cmd
(CMD.EXE
を実行する場合)またはpowershell
(PowerShell を実行する場合)と入力し、表示されるコンテキストメニューの「管理者として実行」をクリックします。 - Certbot をシェルコマンドとして実行します。
Certbot でコマンドを実行するには、シェルに名前
certbot
を入力し、その後にコマンドとそのパラメーターを入力します。 たとえば、インラインヘルプを表示するには、次を実行します。C:\WINDOWS\system32> certbot --help
- 自動更新をテストする
システムにインストールされている Certbot には、証明書の期限が切れる前に自動的に更新する、事前にインストールされたスケジュールタスクが付属しています。構成を変更しない限り、Certbot を再度実行する必要はありません。 次のコマンドを実行することで、証明書の自動更新をテストできます。
C:\WINDOWS\system32> certbot renew --dry-run
Certbot を実行するために Web サーバーを停止する必要がある場合(たとえば、ポート 80 が通常使用されているマシンでスタンドアロン認証器を使用した場 合)、組み込みコマンドを編集して
--pre-hook
および--post-hook
フラグを追加し、Web サーバーを自動的に停止および開始する必要があります。 たとえば、Web サーバーが Apache 2.4 の場合は、certbot renew コマンドに以下を追加します。--pre-hook “net.exe stop Apache2.4” --post-hook “net.exe start Apache2.4”
- Certbot が機能したことを確認する
サイトが正しく設定されていることを確認するには、ブラウザで
https://yourwebsite.com/
にアクセスし、URL バーの鍵アイコンを探します。 - Windows Apache または Nginx ユーザーへの注意
上記のセクション 5 で説明したように、Windows 用 Certbot は現在、Apache または Nginx に証明書をインストールできません。 最新リリースでは、Certbot が証明書を取得した後、Web サーバーアプリケーションの構成を編集して、自分で証明書をインストールする必要があります。 この制限事項が許容できる場合は、このドキュメントの先頭から始めて、Windows での Certbot のインストールと使用について詳しく学んでください。
Windowsのインストール手順
Certbotは、2024年2月をもってWindowsのサポートを終了しました。代替手段は、コミュニティアナウンスこちらに記載されています。