OpenBSD 上のウェブホスティング製品
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を実行します。)
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をインストールします。
pkg_add certbot
- Certbotの実行方法を選択する
ウェブサイトを一時的に停止してもよろしいですか?
はい、現在このマシンでWebサーバーは実行されていません。
Webサーバーを停止してから、このコマンドを実行して証明書を取得します。Certbotは、マシン上に一時的にWebサーバーを起動します。
sudo certbot certonly --standalone
いいえ、Webサーバーを実行し続ける必要があります。
すでにポート80を使用しているWebサーバーがあり、Certbotの実行中に停止したくない場合は、このコマンドを実行し、端末の指示に従ってください。
sudo certbot certonly --webroot
- 証明書のインストール
新しい証明書をWebサーバーの設定ファイルにインストールする必要があります。
- 自動更新の設定
次の行を実行することをお勧めします。これは、デフォルトのcrontabにcronジョブを追加します。
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
- Certbotが動作していることを確認する
サイトが正しく設定されていることを確認するには、ブラウザで
https://yourwebsite.com/
にアクセスし、URLバーの鍵アイコンを探します。
- サーバーにSSH接続する
sudo権限を持つユーザーとして、HTTP Webサイトを実行しているサーバーにSSH接続します。
- Certbotをインストールする
マシン上のコマンドラインでこのコマンドを実行して、Certbotをインストールします。
pkg_add certbot
- 正しいDNSプラグインをインストールする
<PLUGIN> をDNSプロバイダーの名前に置き換えて、次のコマンドを実行します。
pkg_add -<PLUGIN>
たとえば、DNSプロバイダーがCloudflareの場合は、次のコマンドを実行します。
pkg_add -cloudflare
- 証明書を取得する
DNSプロバイダーの指示の「例」セクションにあるコマンドのいずれかを実行します。
- 証明書のインストール
新しい証明書をWebサーバーの設定ファイルにインストールする必要があります。
- 自動更新の設定
次の行を実行することをお勧めします。これは、デフォルトのcrontabにcronジョブを追加します。
echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
- Certbotが動作していることを確認する
サイトが正しく設定されていることを確認するには、ブラウザで
https://yourwebsite.com/
にアクセスし、URLバーの鍵アイコンを探します。