Bitnami スタックを使用しない Amazon Lightsail インスタンスでホストされているウェブサイトに、標準 SSL 証明書をインストールしたいと考えています。
解決策
**注:**Bitnami スタックを使用しない Lightsail インスタンスに標準の Let's Encrypt SSL 証明書をインストールする前に、Certbot パッケージをインストールしてください。
ドメインは、ロードバランサーまたはディストリビューションを介して、Lightsail インスタンスを直接指している必要があります。証明書の検証を完了するには、ウェブサイトの URL がロードバランサーまたはディストリビューションからのエラーをウェブブラウザに返さないようにする必要があります。
標準の Let's Encrypt SSL 証明書をインストールするには、次の手順を実行します。
-
Linux ディストリビューションのコマンドを実行して、インスタンスで実行されているウェブサービスを停止します。
Amazon Linux2 や CentOS などの Apache
sudo service httpd stop
Ubuntu や Debian などの Apache
sudo service apache2 stop
NGINX
sudo service nginx stop
-
次のコマンドを実行して SSL 証明書をインストールします。
sudo certbot certonly --standalone -d example.com -d www.example.com
**注:**example.com は、ご自身のドメイン名に置き換えてください。
Certbot が SSL 証明書を生成されると、証明書を正常に受信しましたというメッセージが表示されます。証明書とキーファイルの場所も表示されます。これらのファイルの場所は、手順 5 で使用するためにテキストファイルにコピーします。
-
お使いの Linux ディストリビューションのコマンドを実行してウェブサービスを起動します。
Amazon Linux 2 や CentOS などの Apache
sudo service httpd start
Ubuntu や Debian などの Apache
sudo service apache2 start
NGINX
sudo service nginx start
-
証明書の自動更新を設定します。
snapd を使用して Certbot パッケージがインストールされている場合、更新は systemd タイマーまたは cronjob で自動的に設定されます。ただし、Certbot コマンドを実行する前に、ウェブサービスを停止する必要があります。ウェブサービスを停止してから再開するには、停止と開始を自動化する必要があります。この自動化を設定するには、以下のコマンドを実行します。
sudo sh -c 'printf "#!/bin/sh\n service apache2 stop \n" > /etc/letsencrypt/renewal-hooks/pre/webservice.sh'
sudo sh -c 'printf "#!/bin/sh\n service apache2 start \n" > /etc/letsencrypt/renewal-hooks/post/webservice.sh'
sudo chmod 755 /etc/letsencrypt/renewal-hooks/*/webservice.sh
**注:**service apache2 を、お使いのウェブサービスと、そのサービスに固有の開始コマンドと停止コマンドに置き換えてください。
Linux ディストリビューションが Amazon Linux 2 または FreeBSD の場合は、snapd を使用して Certbot パッケージをインストールすることはできません。更新を手動で設定するには、次のコマンドを実行します。
echo "30 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew --pre-hook 'service apache2 stop' --post-hook 'service apache2 start'" | sudo tee -a /etc/crontab > /dev/null
**注:**service apache2 を、お使いのウェブサービスと、そのウェブサービスの固有の停止コマンドと開始コマンドに置き換えてください。
-
標準の Let's Encrypt SSL 証明書を使用するようにウェブサーバーを設定し、HTTPS リダイレクトを設定します。
**注:**設定は、インスタンスにあるウェブサーバーの設定によって異なります。ウェブサーバーを設定するには、ウェブサービスの公式ドキュメントを参照してください。
関連情報
Lightsail でホストされている Bitnami スタックに Let's Encrypt SSL 証明書をインストールするにはどうすればよいですか?
Amazon Lightsail でホストされている Bitnami スタックにワイルドカード Let's Encrypt SSL 証明書をインストールするにはどうすればよいですか?
Amazon Lightsail にワイルドカード Let’s Encrypt 証明書をインストールするには?