メインコンテンツへスキップ
エレクトロニック・フロンティア財団のプロジェクト

Certbot の手順

HTTP ウェブサイトはどのような環境で実行されていますか?

HTTP ウェブサイトは以下で実行されています 環境

Windows 上のウェブホスティング製品

デフォルト
ワイルドカード

Certbot を使用するには、以下が必要です...

A laptop
以下の操作に慣れていること
コマンドライン
Close button

コマンドラインとは、テキストベースのコマンドを入力してコンピュータと対話し、テキストベースの応答を受け取る方法です。Certbot は、通常は Unix 系サーバー上のコマンドラインインターフェースから実行されます。ほとんどの場合に Certbot を使用するには、ウェブサーバーのコマンドラインにインストールして実行できる必要があります。これには通常 SSH 経由でアクセスします。

コマンドラインとは、テキストベースのコマンドを入力してコンピュータと対話し、テキストベースの応答を受...

コマンドライン
コマンドライン

コマンドラインとは、テキストベースのコマンドを入力してコンピュータと対話し、テキストベースの応答を受け取る方法です。Certbot は、通常は Unix 系サーバー上のコマンドラインインターフェースから実行されます。ほとんどの場合に Certbot を使用するには、ウェブサーバーのコマンドラインにインストールして実行できる必要があります。これには通常 SSH 経由でアクセスします。

Web browser showing an HTTP site
...および
HTTP ウェブサイト
Close button

HTTP (Hypertext Transfer Protocol) は、ウェブブラウザがウェブページやその他のオンラインリソースのコンテンツをウェブサーバーにリクエストするための伝統的で安全でない方法です。これはインターネット標準であり、通常は TCP ポート 80 で使用されます。世界中のほぼすべてのウェブサイトが HTTP をサポートしていますが、Certbot またはその他の HTTPS 設定方法で設定されたウェブサイトは、HTTP 版のサイトから HTTPS 版のサイトにユーザーを自動的にリダイレクトする場合があります。

HTTP (Hypertext Transfer Protocol) は、ウェブブラウザがウェブページやその他のオンラインリソースのコンテンツをリクエストするための伝統的で安全でない方法です...

HTTP ウェブサイト
HTTP

HTTP (Hypertext Transfer Protocol) は、ウェブブラウザがウェブページやその他のオンラインリソースのコンテンツをウェブサーバーにリクエストするための伝統的で安全でない方法です。これはインターネット標準であり、通常は TCP ポート 80 で使用されます。世界中のほぼすべてのウェブサイトが HTTP をサポートしていますが、Certbot またはその他の HTTPS 設定方法で設定されたウェブサイトは、HTTP 版のサイトから HTTPS 版のサイトにユーザーを自動的にリダイレクトする場合があります。


それは
すでにオンラインであること
Close button

Certbot は通常、既存の HTTP サイトを HTTPS で動作するように切り替え (その後、必要に応じてサイトの HTTPS 証明書を更新し続ける) ために使用されます。Certbot のドキュメントの一部では、ポート 80 で HTTP を使用してすでにアクセスできる、動作中のウェブサイトがあることを前提または推奨しています。つまり、たとえば、ウェブブラウザを使用して http:// でドメインにアクセスすると、ウェブサーバーが応答し、何らかのコンテンツが表示される (サイトの最終版ではなく、デフォルトのウェルカムページであっても) ということです。Certbot の一部の使用方法ではこれが必須事項であるため、すでに HTTP でサイトが設定されているとスムーズに作業を進めることができます。(ポリシー上、サイトにこの方法でアクセスできない場合は、Certbot で証明書を取得するために DNS 検証を使用する必要があると思われます。)

Certbot は通常、既存の HTTP サイトを HTTPS で動作するように切り替え (その後、必要に応じて...

すでにオンラインであること
すでにオンラインのウェブサイト

Certbot は通常、既存の HTTP サイトを HTTPS で動作するように切り替え (その後、必要に応じてサイトの HTTPS 証明書を更新し続ける) ために使用されます。Certbot のドキュメントの一部では、ポート 80 で HTTP を使用してすでにアクセスできる、動作中のウェブサイトがあることを前提または推奨しています。つまり、たとえば、ウェブブラウザを使用して http:// でドメインにアクセスすると、ウェブサーバーが応答し、何らかのコンテンツが表示される (サイトの最終版ではなく、デフォルトのウェルカムページであっても) ということです。Certbot の一部の使用方法ではこれが必須事項であるため、すでに HTTP でサイトが設定されているとスムーズに作業を進めることができます。(ポリシー上、サイトにこの方法でアクセスできない場合は、Certbot で証明書を取得するために DNS 検証を使用する必要があると思われます。)


開いている
ポート 80
Close button

異なるインターネットサービスは、異なる TCP ポート番号を使用することで区別されます。暗号化されていない HTTP は通常 TCP ポート 80 を使用し、暗号化された HTTPS は通常 TCP ポート 443 を使用します。certbot --webroot、certbot --apache、または certbot --nginx を使用するには、Certbot を使用する予定のサーバーでホストされている、すでにオンラインの既存の HTTP ウェブサイトが必要です。このサイトは、ポート 80 でインターネットの他の場所にアクセスできる必要があります。certbot --standalone を使用する場合は、既存のサイトは必要ありませんが、サーバーのポート 80 への接続がファイアウォール (インターネットサービスプロバイダまたはウェブホスティングプロバイダが実行している可能性のあるファイアウォールを含む) によってブロックされていないことを確認する必要があります。ご不明な場合は、ISP またはホスティングプロバイダにお問い合わせください。(DNS 検証を使用する場合、Let's Encrypt がサーバーへのインバウンド接続を行う必要がないため、特にこの方法では、既存の HTTP ウェブサイトやポート 80 での接続を受信する機能は必要ありません。)

異なるインターネットサービスは、異なる TCP ポート番号を使用することで区別されます。暗号化されていない HTTP は通常 ...

ポート 80
ポート 80

異なるインターネットサービスは、異なる TCP ポート番号を使用することで区別されます。暗号化されていない HTTP は通常 TCP ポート 80 を使用し、暗号化された HTTPS は通常 TCP ポート 443 を使用します。certbot --webroot、certbot --apache、または certbot --nginx を使用するには、Certbot を使用する予定のサーバーでホストされている、すでにオンラインの既存の HTTP ウェブサイトが必要です。このサイトは、ポート 80 でインターネットの他の場所にアクセスできる必要があります。certbot --standalone を使用する場合は、既存のサイトは必要ありませんが、サーバーのポート 80 への接続がファイアウォール (インターネットサービスプロバイダまたはウェブホスティングプロバイダが実行している可能性のあるファイアウォールを含む) によってブロックされていないことを確認する必要があります。ご不明な場合は、ISP またはホスティングプロバイダにお問い合わせください。(DNS 検証を使用する場合、Let's Encrypt がサーバーへのインバウンド接続を行う必要がないため、特にこの方法では、既存の HTTP ウェブサイトやポート 80 での接続を受信する機能は必要ありません。)

A server
...これは
サーバー
閉じるボタン

サーバーとは、ウェブサイトやメールサービスなどのサービスを提供するインターネット上のコンピューターです。ほとんどのウェブサイト所有者は、データセンターに設置され、インターネット経由で管理されるサーバーの利用料をホスティングプロバイダーに支払います。これは、物理的な専用サーバー、仮想プライベートサーバー(VPS)、または共有サーバーである場合があります。その他のサーバーは、DNSサーバーなど、インターネットインフラストラクチャの他の部分を提供します。

サーバーとは、ウェブサイトやメールサービスなどのサービスを提供するインターネット上のコンピューターです。...

サーバー
サーバー

サーバーとは、ウェブサイトやメールサービスなどのサービスを提供するインターネット上のコンピューターです。ほとんどのウェブサイト所有者は、データセンターに設置され、インターネット経由で管理されるサーバーの利用料をホスティングプロバイダーに支払います。これは、物理的な専用サーバー、仮想プライベートサーバー(VPS)、または共有サーバーである場合があります。その他のサーバーは、DNSサーバーなど、インターネットインフラストラクチャの他の部分を提供します。


上でホストされており、
ssh
閉じるボタン
SSH

SSH("secure shell"の略)とは、リモートサーバーに接続し、そのサーバーのコマンドラインにアクセスするための技術であり、多くの場合、サーバーを管理するために使用されます。サーバー管理者は他の人にSSHアクセスを許可したり、SSHアクセスを直接使用してサーバーをリモートで管理したりできます。SSHは通常、Unix系オペレーティングシステムを実行しているサーバーにアクセスするために使用されますが、SSHを使用するために自分のコンピューターがUnixを実行している必要はありません。通常、自分のコンピューターのターミナルで、ssh username@example.comのようなコマンドを入力してSSHを使用します。特に自分のコンピューターがLinuxまたはmacOSを実行している場合はそうです。ログイン後、サーバーのコマンドラインにアクセスできるようになります。自分のコンピューターでWindowsを使用している場合は、PuTTYなどの専用のSSHアプリケーションを使用することもできます。ほとんどのCertbotユーザーは、リモートサーバーのコマンドプロンプトからSSH経由でCertbotを実行します。

SSH("secure shell"の略)とは、リモートサーバーに接続し、アクセスするための技術です...

ssh
SSH

SSH("secure shell"の略)とは、リモートサーバーに接続し、そのサーバーのコマンドラインにアクセスするための技術であり、多くの場合、サーバーを管理するために使用されます。サーバー管理者は他の人にSSHアクセスを許可したり、SSHアクセスを直接使用してサーバーをリモートで管理したりできます。SSHは通常、Unix系オペレーティングシステムを実行しているサーバーにアクセスするために使用されますが、SSHを使用するために自分のコンピューターがUnixを実行している必要はありません。通常、自分のコンピューターのターミナルで、ssh username@example.comのようなコマンドを入力してSSHを使用します。特に自分のコンピューターがLinuxまたはmacOSを実行している場合はそうです。ログイン後、サーバーのコマンドラインにアクセスできるようになります。自分のコンピューターでWindowsを使用している場合は、PuTTYなどの専用のSSHアプリケーションを使用することもできます。ほとんどのCertbotユーザーは、リモートサーバーのコマンドプロンプトからSSH経由でCertbotを実行します。


でアクセスでき、
sudo
閉じるボタン

sudoは、Unix系オペレーティングシステムで、特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです。root以外のユーザーとしてサーバーにログインしている場合は、特にApacheやNginxのようなウェブサーバーとCertbotを統合している場合は、Certbotコマンドの前にsudoを付けて、rootとして実行できるようにする必要があるでしょう(たとえば、単にcertbotではなくsudo certbot)。(certbot-autoスクリプトは、必要であり、sudoを指定しなかった場合に、自動的にsudoを実行します。)

sudoは、Unix系オペレーティングシステムで、特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです...

sudo
sudo

sudoは、Unix系オペレーティングシステムで、特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです。root以外のユーザーとしてサーバーにログインしている場合は、特にApacheやNginxのようなウェブサーバーとCertbotを統合している場合は、Certbotコマンドの前にsudoを付けて、rootとして実行できるようにする必要があるでしょう(たとえば、単にcertbotではなくsudo certbot)。(certbot-autoスクリプトは、必要であり、sudoを指定しなかった場合に、自動的にsudoを実行します。)


ワイルドカード証明書
閉じるボタン

ワイルドカード証明書とは、*.で始まる1つ以上の名前を含む証明書です。ブラウザは、アスタリスク(*)の代わりに任意のラベルを受け入れます。たとえば、*.example.comの証明書は、www.example.commail.example.comhello.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.commail.example.comhello.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プロバイダーがDNSレコードの内容を変更するために使用できるパスワードまたはその他の種類の秘密情報(APIキーなど)です。これらは通常、ドメインレジストラ(または、DNSプロバイダーがレジストラと同じではない場合は、別のDNSプロバイダー)によって発行されます。DNSクレデンシャルは、サイトを完全に掌握するために使用できるため、機密性の高い秘密情報です。これらのクレデンシャルを公にしたり、権限のない人と共有したりしないでください。CertbotがDNS検証を自動的に実行できるようにするために、Certbotにコピーを提供することは問題ありません。なぜなら、Certbotは自分のマシンでローカルに実行されるからです。

DNSクレデンシャルとは、DNSプロバイダーがDNSレコードの内容を変更するために使用できるパスワードまたはその他の種類の秘密情報(APIキーなど)です...

DNSクレデンシャル
DNSクレデンシャル

DNSクレデンシャルとは、DNSプロバイダーがDNSレコードの内容を変更するために使用できるパスワードまたはその他の種類の秘密情報(APIキーなど)です。これらは通常、ドメインレジストラ(または、DNSプロバイダーがレジストラと同じではない場合は、別のDNSプロバイダー)によって発行されます。DNSクレデンシャルは、サイトを完全に掌握するために使用できるため、機密性の高い秘密情報です。これらのクレデンシャルを公にしたり、権限のない人と共有したりしないでください。CertbotがDNS検証を自動的に実行できるようにするために、Certbotにコピーを提供することは問題ありません。なぜなら、Certbotは自分のマシンでローカルに実行されるからです。

これらの要件がありませんか?

ご心配なく!一部のホスティングプロバイダーは、HTTPSプロセスを自動化しています。ホスティングプロバイダーの完全なリストを見るか、システムの設定方法の詳細をご覧ください

    Windowsのインストール手順

    Certbotは2024年2月をもってWindowsのサポートを終了しました。コミュニティのお知らせこちらに代替案が記載されています。

  1. 重要な注意事項

    この手順は、現在のWindows版Certbotの実装に従っており、特にシステムコンポーネントとしてインストールされ、管理者権限が必要であるという事実に依存しています。これらの手順は、将来のCertbotのバージョンが別のインストール方法に切り替える際に更新されます。現在、HTTPサーバー用のインストーラーはサポートされていません(Windows版Certbotは現在、Let's Encryptから証明書を取得できますが、Webサーバーアプリケーションにインストールすることはできません)。

  2. Windowsのシステム要件とユーザーの知識要件
    • Certbotは純粋なCLIプログラムであるため、ユーザーはコマンドラインインターフェース(CLI)に精通している必要があります。
    • ユーザーは、Certbotをインストールおよび実行するために、管理者権限を持つアカウントを使用する必要があります。
    • PowerShellとCMD.EXEがサポートされています。どちらもCertbotを呼び出す前に、管理者権限で起動する必要があります。
    • パスC:\Certbotは、現在のユーザーが書き込み可能である必要があります。
  3. インストール手順
    1. サーバーに接続します。
    2. このマシンの管理者権限を持つアカウントを使用して、ローカルまたはリモート(リモートデスクトップを使用)でサーバーに接続します。
    3. Certbotをインストールします。
    4. https://github.com/certbot/certbot/releases/latest/download/certbot-beta-installer-win_amd64_signed.exeで、Windows用のCertbotインストーラーの最新バージョンをダウンロードします。
    5. インストーラーを実行し、ウィザードに従います。インストーラーは、デフォルトのインストールディレクトリとしてC:\Program Files(x86)を提案しますが、これはカスタマイズできます。
    6. Certbot用のシェルを起動するには、スタートメニューを選択し、cmdCMD.EXEを実行)またはpowershell(PowerShellを実行)を入力し、上に表示されるコンテキストメニューで「管理者として実行」をクリックします。
    7. Certbotをシェルコマンドとして実行します。

    Certbotでコマンドを実行するには、シェルに名前certbotを入力し、その後にコマンドとパラメーターを入力します。たとえば、インラインヘルプを表示するには、次を実行します。

    C:\WINDOWS\system32> certbot --help
  4. 自動更新をテストする

    システムにインストールされたCertbotには、証明書の有効期限が切れる前に自動的に更新するスケジュールされたタスクが事前にインストールされています。構成を変更しない限り、Certbotを再度実行する必要はありません。コマンドを実行して、証明書の自動更新をテストできます。

    C:\WINDOWS\system32> certbot renew --dry-run

    Certbotを実行するためにWebサーバーを停止する必要があった場合(たとえば、ポート80が通常使用されているマシンでスタンドアロン認証ツールを使用したなど)、組み込みのコマンドを編集して、Webサーバーを自動的に停止および起動するための--pre-hookおよび--post-hookフラグを追加する必要があります。たとえば、WebサーバーがApache 2.4の場合は、次の内容をcertbot renewコマンドに追加します。

    --pre-hook “net.exe stop Apache2.4” --post-hook “net.exe start Apache2.4”
  5. Certbotが動作したことを確認する

    サイトが適切に設定されていることを確認するには、ブラウザでhttps://yourwebsite.com/にアクセスし、URLバーの鍵アイコンを探してください。

  6. WindowsのApacheまたはNginxユーザー向けの注意

    上記のセクション5で説明したように、Windows版Certbotは現在、ApacheまたはNginxに証明書をインストールできません。最新リリースでは、Certbotが証明書を取得した後、Webサーバーアプリケーションの構成を編集して、自分で証明書をインストールする必要があります。この制限が許容できる場合は、このドキュメントの最初から、WindowsでのCertbotのインストールと使用について学習してください。