macOS 上の Web ホスティング製品
Certbot を使用するには、以下が必要です...
コマンドラインは、テキストベースのコマンドを入力してコンピュータと対話し、テキストベースの応答を受け取る方法です。Certbot は通常、Unix ライクなサーバー上のコマンドラインインターフェースから実行されます。Certbot のほとんどの目的で使用するには、Web サーバーのコマンドラインにインストールして実行できる必要があります。通常、SSH 経由でアクセスします。
コマンドラインは、テキストベースのコマンドを入力してコンピュータと対話し、テキストベースの応答を受け取る方法です...
HTTP (Hypertext Transfer Protocol) は、ウェブブラウザがウェブページやその他のオンラインリソースのコンテンツをウェブサーバーに要求するための、従来のセキュリティで保護されていない方法です。これはインターネット標準であり、通常 TCP ポート 80 で使用されます。世界のほぼすべてのウェブサイトが HTTP をサポートしていますが、Certbot または HTTPS を設定するその他の方法で設定されたウェブサイトでは、サイトの HTTP バージョンから HTTPS バージョンにユーザーが自動的にリダイレクトされる場合があります。
HTTP (Hypertext Transfer Protocol) は、ウェブブラウザがウェブページやその他のオンラインリソースを要求するための、従来のセキュリティで保護されていない方法です...
HTTP (Hypertext Transfer Protocol) は、ウェブブラウザがウェブページやその他のオンラインリソースのコンテンツをウェブサーバーに要求するための、従来のセキュリティで保護されていない方法です。これはインターネット標準であり、通常 TCP ポート 80 で使用されます。世界のほぼすべてのウェブサイトが HTTP をサポートしていますが、Certbot または HTTPS を設定するその他の方法で設定されたウェブサイトでは、サイトの HTTP バージョンから HTTPS バージョンにユーザーが自動的にリダイレクトされる場合があります。
つまり
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 検証を使用する必要があるでしょう。)
開いている
異なるインターネットサービスは、異なる 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 ...
異なるインターネットサービスは、異なる 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 で接続を受信できる必要はありません。)
サーバーとは、ウェブサイトやメールサービスなどのサービスを提供するインターネット上のコンピューターです。ほとんどのウェブサイト所有者は、データセンターに配置され、インターネット経由で管理されるサーバーの使用料をホスティングプロバイダーに支払います。これは、物理的な専用サーバー、仮想プライベートサーバー(VPS)、または共有サーバーである場合があります。他のサーバーは、DNSサーバーなど、インターネットインフラストラクチャの他の部分を提供します。
サーバーとは、ウェブサイトやメールサービスなどのサービスを提供するインターネット上のコンピューターです。...
サーバーとは、ウェブサイトやメールサービスなどのサービスを提供するインターネット上のコンピューターです。ほとんどのウェブサイト所有者は、データセンターに配置され、インターネット経由で管理されるサーバーの使用料をホスティングプロバイダーに支払います。これは、物理的な専用サーバー、仮想プライベートサーバー(VPS)、または共有サーバーである場合があります。他のサーバーは、DNSサーバーなど、インターネットインフラストラクチャの他の部分を提供します。
でホストされており、
SSH(「セキュアシェル」の略)は、リモートサーバーに接続し、そのサーバー上のコマンドラインにアクセスするためのテクノロジーであり、多くの場合、それを管理するために使用されます。サーバーの管理者は、他の人にSSHアクセスを許可したり、SSHアクセスを直接使用してサーバーをリモートで管理したりできます。SSHは通常、Unixライクなオペレーティングシステムを実行しているサーバーにアクセスするために使用されますが、自分のコンピューターがSSHを使用するためにUnixを実行している必要はありません。通常、コンピューターのターミナルのコマンドラインから、ssh username@example.com などのコマンドを入力してSSHを使用します。特に自分のコンピューターがLinuxまたはmacOSを実行している場合はそうです。ログイン後、サーバーのコマンドラインにアクセスできます。コンピューターでWindowsを使用している場合は、PuTTYなどの専用のSSHアプリケーションも使用できます。ほとんどのCertbotユーザーは、SSH経由でリモートサーバー上のコマンドプロンプトからCertbotを実行します。
SSH(「セキュアシェル」の略)は、リモートサーバーに接続し、アクセスするためのテクノロジーです...
SSH(「セキュアシェル」の略)は、リモートサーバーに接続し、そのサーバー上のコマンドラインにアクセスするためのテクノロジーであり、多くの場合、それを管理するために使用されます。サーバーの管理者は、他の人にSSHアクセスを許可したり、SSHアクセスを直接使用してサーバーをリモートで管理したりできます。SSHは通常、Unixライクなオペレーティングシステムを実行しているサーバーにアクセスするために使用されますが、自分のコンピューターがSSHを使用するためにUnixを実行している必要はありません。通常、コンピューターのターミナルのコマンドラインから、ssh username@example.com などのコマンドを入力してSSHを使用します。特に自分のコンピューターがLinuxまたはmacOSを実行している場合はそうです。ログイン後、サーバーのコマンドラインにアクセスできます。コンピューターでWindowsを使用している場合は、PuTTYなどの専用のSSHアプリケーションも使用できます。ほとんどのCertbotユーザーは、SSH経由でリモートサーバー上のコマンドプロンプトからCertbotを実行します。
でアクセスでき、
Sudoは、Unixライクなオペレーティングシステムで、特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです。root以外のユーザーとしてサーバーにログインしている場合は、特にApacheやNginxなどのウェブサーバーとCertbotの統合を使用している場合は、Certbotコマンドの前にsudoを付けて、それらがrootとして実行されるようにする必要があるでしょう(例えば、単にcertbotではなくsudo certbot)。(certbot-autoスクリプトは、必要に応じて、sudoを指定しなかった場合に自動的にsudoを実行します。)
Sudoは、Unixライクなオペレーティングシステムで、特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです。(...
Sudoは、Unixライクなオペレーティングシステムで、特定のコマンドをroot(システム管理者)として実行するための最も一般的なコマンドです。root以外のユーザーとしてサーバーにログインしている場合は、特にApacheやNginxなどのウェブサーバーとCertbotの統合を使用している場合は、Certbotコマンドの前にsudoを付けて、それらがrootとして実行されるようにする必要があるでしょう(例えば、単にcertbotではなくsudo 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がDNS検証を自動的に実行できるように、これらの認証情報のコピーをCertbotに提供することは問題ありません。Certbotは自分のマシンでローカルに実行されるためです。
DNS認証情報とは、DNSプロバイダーがDNSレコードの内容を変更するために使用できるようにするパスワードまたはその他の種類のシークレット(APIキーなど)です...
DNS認証情報とは、DNSプロバイダーがDNSレコードの内容を変更するために使用できるようにするパスワードまたはその他の種類のシークレット(APIキーなど)です。これらは通常、ドメイン登録機関(または、DNSプロバイダーが登録機関と同じではない場合は、別のDNSプロバイダー)によって発行されます。DNS認証情報は、サイトを完全に乗っ取るために使用できるため、機密性の高い種類のシークレットです。これらの認証情報を公に、または許可されていない人と共有しないでください。CertbotがDNS検証を自動的に実行できるように、これらの認証情報のコピーをCertbotに提供することは問題ありません。Certbotは自分のマシンでローカルに実行されるためです。
これらの要件が満たされていない場合はどうしますか?
ご心配なく!一部のホスティングプロバイダーはHTTPSプロセスを自動化しています。ホスティングプロバイダーの完全なリストを見るか、システムの設定方法について詳しくはこちらをご覧ください。
- DNSプロバイダーがサポートされているか確認する
ドキュメントのこのリストを確認して、お使いのDNSプロバイダーがCertbotでサポートされているかどうかを確認してください。
サポートされていませんか?
DNSプロバイダーがサポートされていない場合は、ここで一時停止し、ドキュメントにあるこちらの手順を使用して、手動プラグインでCertbotを実行してください。
サポートされていますか?
DNSプロバイダーがサポートされている場合は、以下に残りの手順を続行してください。
- サーバーにSSH接続する
sudo権限を持つユーザーとして、HTTPウェブサイトを実行しているサーバーにSSH接続します。
- Homebrewをインストールする
Homebrewをインストールする必要があります。
Homebrewのサイトにあるこちらの指示に従って、Homebrewをインストールしてください。
- Certbotをインストールする
Certbotをインストールするには、マシンのコマンドラインでこのコマンドを実行します。
brew install certbot
- 正しいDNSプラグインをインストールする
次のコマンドを実行し、<PLUGIN>をお使いのDNSプロバイダーの名前に置き換えてください。
brew install -<PLUGIN>
たとえば、DNSプロバイダーがCloudflareの場合は、次のコマンドを実行します。
brew install -cloudflare
- 証明書を取得する
DNSプロバイダーの指示の「例」セクションにあるコマンドのいずれかを実行します。
- 証明書をインストールする
ウェブサーバーの設定ファイルに新しい証明書をインストールする必要があります。
- 自動更新を設定する
デフォルトのcrontabにcronジョブを追加する次の行を実行することをお勧めします。
echo "0 0,12 * * * root $(command -v python3) -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo $(command -v certbot) renew -q" | sudo tee -a /etc/crontab > /dev/null
- Certbotが動作したことを確認する
サイトが正しく設定されていることを確認するには、ブラウザで
https://yourwebsite.com/
にアクセスし、URLバーに鍵のアイコンがあるかを確認してください。