Let's Encrypt と Certbot を使用して Web サイトの HTTPS をセットアップすることは、サイトのセキュリティと信頼性を向上させる簡単なプロセスです。Let's Encrypt は無料の SSL/TLS 証明書を提供し、Certbot は必要なほとんどのステップを自動化します。
前提条件:
- ドメイン名: 証明書を取得したい登録済みドメイン名を所有または管理している必要があります。
- DNS 設定: ドメイン名の DNS レコードは、サーバーのパブリック IP アドレスを指している必要があります。
- Web サーバー: Web サイトを提供する Web サーバー (Apache または Nginx) がインストールされ、構成されている必要があります。
- SSH アクセス:
sudo権限でサーバーに SSH アクセスできる必要があります。 - ファイアウォール (該当する場合): ポート 80 (HTTP 用) および 443 (HTTPS 用) がファイアウォールで開いていることを確認してください。
HTTPS をセットアップする手順:
1. Certbot のインストール
Certbot は Let's Encrypt の公式クライアントであり、SSL 証明書の取得と更新プロセスを自動化します。Certbot をインストールする推奨方法は snapd を使用することです。
snapdのインストール: まだsnapdがインストールされていない場合は、Snapcraft の Web サイトの手順に従って、お使いのオペレーティングシステム用にインストールしてください。- 古い Certbot パッケージの削除 (該当する場合): 以前に
apt、dnf、またはyumなどのパッケージマネージャーで Certbot をインストールした場合は、競合を避けるためにそれらのパッケージを削除してください。たとえば、Ubuntu ではsudo apt-get remove certbotを実行する場合があります。 - Snap 経由で Certbot をインストール:
bash sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbotsnapパッケージにより、最新のアップデートが確実に取得され、必要なプラグインが含まれます。
2. SSL 証明書の取得とインストール
コマンドは、Web サーバー (Apache または Nginx) によってわずかに異なります。
-
Apache の場合:
bash sudo certbot --apache -d yourdomain.com -d www.yourdomain.comyourdomain.comを実際のドメイン名に置き換えてください。Certbot はセットアッププロセスをガイドし、メールアドレス、利用規約への同意、および HTTP トラフィックを HTTPS にリダイレクトするかどうかを尋ねます。 -
Nginx の場合:
bash sudo certbot --nginx -d yourdomain.com -d www.yourdomain.comここでも、yourdomain.comを実際のドメイン名に置き換えてください。Certbot は自動的に Nginx を構成して証明書を提供し、HTTPS を有効にします。プロセス中に、Certbot は次のことを要求します。 * 緊急の更新およびセキュリティ通知用のメールアドレスを入力します。 * Let's Encrypt の利用規約に同意します。 * Electronic Frontier Foundation (EFF) とメールアドレスを共有するかどうかを選択します。 * HTTP トラフィックを HTTPS にリダイレクトするかどうかを選択します。通常、これを有効にすることをお勧めします。
3. 自動更新の確認
Let's Encrypt 証明書は 90 日間有効です。Certbot は、証明書が期限切れになる前に自動的に更新するために、cron ジョブまたは systemd タイマーを自動的に設定します。
ドライランで自動更新プロセスをテストできます。
sudo certbot renew --dry-run
このコマンドは、実際に証明書を更新せずに、更新が成功するかどうかを確認します。
4. Web サイトを確認する
インストールが成功したら、Web ブラウザで https://yourdomain.com を使用して Web サイトを開きます。アドレスバーに南京錠のアイコンが表示され、安全な接続が示されているはずです。SSL Shopper のようなオンライン SSL チェッカーを使用して、証明書の詳細を確認することもできます。