Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Amazon Lightsail でホストされている Bitnami スタックにワイルドカード Let's Encrypt SSL 証明書をインストールするにはどうすればよいですか?
Bitnami スタックがある Amazon Lightsail インスタンスに自分のウェブサイト用のワイルドカード SSL 証明書をインストールしたいと考えています。
簡単な説明
別のインスタンスブループリントまたは標準証明書をインストールする方法については、次の AWS ナレッジセンター記事を参照してください。
- スタンダード Let's Encrypt SSL 証明書を Lightsail インスタンスにインストールするにはどうすればよいですか?このソリューションには、Amazon Linux 2 や Ubuntu などのインスタンスが含まれます。
- Amazon Lightsail でホストされている Bitnami スタックに Let's Encrypt SSL 証明書をインストールするにはどうすればよいですか?このソリューションには、WordPress、LAMP、Magento などのインスタンスが含まれます。
- Amazon Lightsail にワイルドカード Let’s Encrypt 証明書をインストールするには?このソリューションには、Amazon Linux 2 や Ubuntu などのインスタンスが含まれます。
解決策
Bitnami がホストする Lightsail インスタンスにワイルドカードの Let's Encrypt SSL 証明書をインストールする手順は、ドメインが使用する DNS プロバイダーによって異なります。お使いの DNS プロバイダーが Lego ウェブサイトの DNS プロバイダーの一覧に表示されているかどうかを確認してください。次に、使用する適切な方法を選択します。
- ドメインがリストされている DNS プロバイダーのいずれかを使用している場合は、Bitnami が提供する Lego ツールを使用してください。
- ご利用のドメインがリストに記載されている DNS プロバイダーのいずれも使用していない場合は、Certbot パッケージを使用してください。
注: ファイルパスは、Bitnami スタックがネイティブ Linux システムパッケージ (アプローチ A) を使用するか、自己完結型インストール (アプローチ B) を使用するかによって異なります。最新の Bitnami WordPress ブループリントは、アプローチ A でのみ利用できます。
Bitnami のインストールタイプを確認するには、次のコマンドを実行します。
test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."
Lego tool
Bitnamiは bncert-tool と Lego ツールを提供しています。Lego ツールはワイルドカード SSL 証明書の作成をサポートしています。bncert-tool はワイルドカード SSL 証明書の作成をサポートしていません。
注: 次の例では、DNS プロバイダーは Amazon Route 53 と Amazon Lightsail です。
Lego ツールを使用してワイルドカードの Let's Encrypt SSL 証明書をインストールするには、次の手順を実行します。
-
プログラムによるアクセス権を持つ AWS Identity and Access Management (IAM) ユーザーを作成します。Lego が DNS チャレンジを完了するために必要な IAM ユーザー権限を決定するには、Lego ウェブサイトの ](https://go-acme.github.io/lego/dns/route53/#iam-policy-examples)IAM ポリシーの例[を参照してください。
-
nano エディターで /root/.aws/credentials ファイルを開くには、次のコマンドを実行します。
sudo mkdir /root/.aws sudo nano /root/.aws/credentials
-
認証情報ファイルに次の行を入力します。
[default] aws_access_key_id = AKIA************E aws_secret_access_key = 1yop**************************l region = us-east-1
注: aws_access_key_id と aws_secret_access_key は該当する値に置き換えてください。us-east-1 は Lightsail インスタンスの AWS リージョンに置き換えてください。
-
ファイルを保存するには、Ctrl キー+X を押し、次に y を押し、Enter キーを押します。
-
Bitnami インスタンスに /opt/bitnami/letsencrypt/ ディレクトリが含まれていない場合は、次のコマンドを実行して Lego クライアントを手動でインストールします。
cd /tmp curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i - -O lego.tar.gz tar xzf lego.tar.gz sudo mkdir -p /opt/bitnami/letsencrypt sudo mv lego /opt/bitnami/letsencrypt/lego
-
ワイルドカードの Let's Encrypt 証明書をサーバー内に作成するには、サーバーの種類に応じて次のコマンドを実行します。
Route 53 ネームサーバー:sudo /opt/bitnami/letsencrypt/lego --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns route53 --path="/opt/bitnami/letsencrypt" run
Lightsail ネームサーバー:
sudo DNS_ZONE=DOMAIN /opt/bitnami/letsencrypt/lego --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns lightsail --path="/opt/bitnami/letsencrypt" run
注: EMAIL-ADDRESS は、証明書の更新を受け取るメールアドレスに置き換えてください。DOMAIN は、自分のドメインに置き換えてください。
SSL 証明書とプライベートキーは次の場所で生成されます: /opt/bitnami/letsencrypt/certificates/DOMAIN.crt または /opt/bitnami/letsencrypt/certificates/DOMAIN.key。 -
Bitnami スタックサービスを停止するには、次のコマンドを実行します。
sudo /opt/bitnami/ctlscript.sh stop
-
サーバーとアプローチに基づいて、SSL 証明書と証明書キーファイルを、ウェブサーバーが現在読み取っている場所にリンクします。
Apache、アプローチ Asudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.key /opt/bitnami/apache2/conf/bitnami/certs/server.key.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/apache2/conf/bitnami/certs/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt
Apache、アプローチ B
sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.old sudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old sudo mv /opt/bitnami/apache2/conf/server.csr /opt/bitnami/apache2/conf/server.csr.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/apache2/conf/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/apache2/conf/server.crt
NGINX、アプローチ A
sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/nginx/conf/bitnami/certs/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt
NGINX、アプローチ B
sudo mv /opt/bitnami/nginx/conf/server.crt /opt/bitnami/nginx/conf/server.crt.old sudo mv /opt/bitnami/nginx/conf/server.key /opt/bitnami/nginx/conf/server.key.old sudo mv /opt/bitnami/nginx/conf/server.csr /opt/bitnami/nginx/conf/server.csr.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/nginx/conf/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/nginx/conf/server.crt
注: 前述のコマンドでは、DOMAIN は使用するドメイン名に置き換えてください。
-
Bitnami スタックサービスを開始するには、次のコマンドを実行します。
sudo /opt/bitnami/ctlscript.sh start
-
証明書の更新を自動化するには、次のコマンドを実行して crontab エディタを開きます。
sudo crontab -e -u bitnami
注: Let's Encrypt 証明書の有効期限は 90 日間です。
crontab ファイルに次の行を入力し、ファイルを保存します。
Apache
0 0 * * * sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns DNS renew >> /var/log/letsencrypt.log 2>&1 && sudo /opt/bitnami/apache/bin/httpd -f /opt/bitnami/apache/conf/httpd.conf -k graceful
Nginx
0 0 * * * sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns DNS renew >> /var/log/letsencrypt.log 2>&1 && sudo /opt/bitnami/nginx/sbin/nginx -c /opt/bitnami/nginx/conf/nginx.conf -s reload
注: EMAIL-ADDRESS、DOMAIN、DNS は該当する値に置き換えてください。 HTTPS リダイレクトを設定します。詳細については、Bitnami ウェブサイトの「Force HTTPS redirection with Apache」および「Force HTTPS redirection with NGINX」を参照してください。
Certbot パッケージ
前提条件:
- Certbot をインストールします。
- お使いの Linux ディストリビューションを確認してください。Bitnami がホストするインスタンスの場合、Linux ディストリビューションは Debian または Ubuntu のいずれかです。次のコマンドを実行して Linux ディストリビューションを確認します。
注: この方法では、証明書の自動更新はサポートされていません。cat /etc/os-release | grep -i ^id
Certbot パッケージを使用してワイルドカードの Let's Encrypt SSL 証明書をインストールするには、次の手順を実行します。
-
Linux GNU screen セッションを開始します。ドメインの DNS プロバイダーに TXT レコードを追加するには時間がかかるため、セッションがタイムアウトする可能性があります。セッションがタイムアウトしないように、Linux GNU Screen でコマンドを実行するのがベストプラクティスです。screen セッションを開始するには、次のコマンドを実行します。
screen -S letsencrypt
-
Certbot インタラクティブモードを開始するには、以下のコマンドを実行します。
sudo certbot certonly --manual --preferred-challenges dns -d example.com -d *.example.com
注: example.com は該当する値に置き換えてください。
「bash: certbot: command not found」などのエラー応答を受け取った場合は、PATH 環境変数に /bin/snap を追加する必要がある場合があります。まず、「exit」と入力して Enter キーを押します。または、Ctrl+D を押して screen セッションを終了します。次に、/etc/environment を編集し、リストに /snap/bin を追加します。システムを再起動します。エラーが解消されたことを確認するには、次のコマンドを実行します。$ certbot -h
-
Let's Encrypt が提供する TXT レコードをコピーします。Let's Encrypt は、検証に使用する必要がある 1 つまたは複数の TXT レコードを提供します。
-
提供されたレコードをドメインの DNS に追加します。
重要: TXT レコードがインターネット DNS に伝達されたことを確認するまで Enter キーを押さないでください。また、Ctrl+D を押さないでください。この操作を行うと screen セッションが終了します。 -
レコードが伝達されたことを確認するには、MXToolbox ウェブサイトの DNS テキスト検索で TXT レコードを検索してください。
_acme-challenge.example.com
注: example.com は該当する値に置き換えてください。
TXT レコードが反映されると、ページに TXT レコードの値が表示されます。前の画面に戻り、Enter キーを押します。 -
シェルから削除された場合は、次のコマンドを実行してシェルに戻ります。
Screen -r SESSIONID
注: screen -ls コマンドを実行してセッション ID を取得します。
-
(オプション) メッセージが表示されたら、前の手順を繰り返して別の TXT レコードを追加します。
注: DNS プロバイダーに Route 53 を使用している場合は、1 行に 1 つの TXT 値を入力します。TXT レコードを編集し、新しい行に certbot が提供する TXT 値を追加します。 -
SSL 証明書とキーファイルの場所を保存します。SSL 証明書が生成されると、「Successfully received certificate」というメッセージが表示されます。
-
証明書を使用するようにウェブサーバーを設定するには、サーバーとアプローチに基づいて次のコマンドを実行します。
Apache、アプローチ Asudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.key /opt/bitnami/apache2/conf/bitnami/certs/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/apache2/conf/bitnami/certs/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/bitnami/certs/server.crt sudo /opt/bitnami/ctlscript.sh start
Apache、アプローチ B
sudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.old sudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/apache2/conf/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/server.crt sudo /opt/bitnami/ctlscript.sh start
NGINX、アプローチ A
sudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/nginx/conf/bitnami/certs/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/nginx/conf/bitnami/certs/server.crt sudo /opt/bitnami/ctlscript.sh start
NGINX、アプローチ B
sudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/nginx/conf/server.crt /opt/bitnami/nginx/conf/server.crt.old sudo mv /opt/bitnami/nginx/conf/server.key /opt/bitnami/nginx/conf/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/nginx/conf/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/nginx/conf/server.crt sudo /opt/bitnami/ctlscript.sh start
注: 前述のコマンドでは、DOMAIN は使用するドメイン名に置き換えてください。
-
HTTPS リダイレクトを設定します。詳細については、Bitnami ウェブサイトの「Force HTTPS redirection with Apache」および「Force HTTPS redirection with NGINX」を参照してください。

関連するコンテンツ
- 質問済み 4年前lg...
- 質問済み 5ヶ月前lg...
- 質問済み 2年前lg...