翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
無料の Let's Encrypt SSL 証明書と証明書ボットを使用して LightsailWordPress インスタンスを保護する
Bitnami によってパッケージ化されたこのブループリントは廃止されています
Bitnami によってパッケージ化されたブループリントは、2026 年 5 月 19 日以降、更新を受信しなくなります。2026 年 11 月 19 日以降、このブループリントで新しいインスタンスを作成できなくなります。新しいインスタンスを作成するときは、使用可能な場合は同等のLightsailブループリントを使用することをお勧めします。Bitnami によってパッケージ化されたブループリントを使用する既存のインスタンスは、中断することなく引き続き実行されます。詳細はこちら
Bitnami によってパッケージ化されたブループリントを使用する既存のインスタンスがあり、 Lightsailパッケージ化されたブループリントに移行する場合は、Lightsail「ブループリントへの移行」を参照してください。
このチュートリアルは、Bitnami によってパッケージ化された WordPress を使用するインスタンスにのみ適用されます。
インスタンスが によってパッケージ化された WordPress ブループリントを使用している場合はLightsail、代わりに WordPress を参照してください。
ヒント
Amazon Lightsail は、WordPress インスタンスでの Let's Encrypt 証明書のインストールと設定を自動化するガイド付きのワークフローを提供します。このチュートリアルの手動手順を実行する代わりに、このワークフローを使用することが強く推奨されます。詳細については、「Launch and configure a WordPress instance」を参照してください。
Lightsail では、Lightsail ロードバランサーを使用すると、SSL/TLS でウェブサイトとアプリケーションのセキュリティを簡単に強化できます。ただし、Lightsail ロードバランサーの使用は一般的に最適な選択肢ではない場合があります。お使いのサイトではロードバランサーが提供するスケーラビリティや耐障害性が必要ない、またはコストのために最適化しているという可能性があります。後者の場合は、Let's Encrypt で無料の SSL 証明書を入手できます。無料の証明書を使用することに問題はありません。これらの証明書は Lightsail インスタンスに統合できます。
このガイドでは、Certbot を使用して Let’s Encrypt ワイルドカード証明書をリクエストし、Really Simple SSL プラグインを使用して WordPress インスタンスと統合する方法について説明します。
-
Bitnami インスタンスで使用されている Linux ディストリビューションは、2020 年 7 月に Ubuntu から Debian に変更されました。この変更により、このチュートリアルのいくつかのステップは、インスタンスの Linux ディストリビューションによって異なります。変更後に作成された Bitnami ブループリントインスタンスはすべて Debian Linux ディストリビューションを使用します。変更前に作成されたインスタンスは、Ubuntu Linux ディストリビューションを引き続き使用します。インスタンスのディストリビューションをチェックするには、
uname -aコマンドを実行します。応答には、インスタンスの Linux ディストリビューションとして Ubuntu または Debian のいずれかが表示されます。 -
Bitnami は、多くのスタックのファイル構造を変更するプロセスです。このチュートリアルのファイルパスは、Bitnami スタックがネイティブ Linux システムパッケージを使用しているか (アプローチ A)、または自己完結型インストール (アプローチ B) であるかによって、変更される場合があります。Bitnami のインストールタイプと取るべき方法を特定するには、次のコマンドを実行します。
test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."
目次
チュートリアルを開始する前に
このチュートリアルを開始する前に、以下の点を考慮する必要があります。
Bitnami HTTPS 設定 (bncert) ツールを代わりに使用
このチュートリアルに記載されている手順は、手動プロセスを使用して SSL/TLS 証明書を実装する方法を説明しています。ただし、Bitnami は、通常 Lightsail 内の WordPress インスタンスにプリインストールされている Bitnami HTTPS 設定 (bncert) ツールを使用する、より自動化されたプロセスを提供します。このチュートリアルの手動手順を実行する代わりに、このツールを使用することが強く推奨されます。このチュートリアルは、bncert ツールが利用可能になる前に作成されたものです。bncert ツールの使用の詳細については、「bncert で HTTPS を使用して WordPress サイトを保護するLightsail」を参照してください。
WordPress インスタンスの Linux ディストリビューションを特定する
Bitnami インスタンスで使用されている Linux ディストリビューションは、2020 年 7 月に Ubuntu から Debian に変更されました。変更後に作成された Bitnami ブループリントインスタンスはすべて Debian Linux ディストリビューションを使用します。変更前に作成されたインスタンスは、Ubuntu Linux ディストリビューションを引き続き使用します。この変更により、このチュートリアルのいくつかのステップは、インスタンスの Linux ディストリビューションによって異なります。このチュートリアルでどの手順を使用するのかを把握するために、インスタンスの Linux ディストリビューションを特定する必要があります。インスタンスのディストリビューションを特定するには、uname -a コマンドを実行します。応答には、インスタンスの Linux ディストリビューションとして Ubuntu または Debian のいずれかが表示されます。
インスタンスに適用されるチュートリアルアプローチを特定する
Bitnami は、多くのスタックのファイル構造を変更するプロセスです。このチュートリアルのファイルパスは、Bitnami スタックがネイティブ Linux システムパッケージを使用しているか (アプローチ A)、または自己完結型インストール (アプローチ B) であるかによって、変更される場合があります。Bitnami のインストールタイプと取るべき方法を特定するには、次のコマンドを実行します。
test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A:
Using system packages." || echo "Approach B: Self-contained
installation."
ステップ 1: 前提条件を満たす
以下の前提条件を満たします (まだ満たしていない場合)。
-
WordPress インスタンスが実行中の状態であることを確認します。詳細については、「インスタンスの開始、停止、または再起動」を参照してください。
-
ドメイン名を登録し、その DNS レコードを編集するための管理アクセスを取得します。詳細については、「DNS」を参照してください。
ドメインの DNS レコードは、Lightsail の DNS ゾーンを使用して管理することをお勧めします。詳細については、「DNS ゾーンを作成してドメインの DNS レコードを管理する」を参照してください。
-
Lightsail コンソールでブラウザベースの SSH ターミナルを使用して、このチュートリアルのステップを実行します。ただし、独自の SSH クライアント (PuTTY など) を使用することもできます。PuTTY の設定の詳細については、「Amazon Lightsail で PuTTY をダウンロードし、SSH を使用して接続するようにセットアップする」を参照してください。
前提条件が完了したら、このチュートリアルの「次のセクション」に進みます。
ステップ 2: Lightsail インスタンスに Certbot をインストールする
Certbot は、Let's Encrypt の証明書をリクエストしてウェブサーバーにデプロイするために使用するクライアントです。Let's Encrypt は ACME プロトコルを使用して証明書を発行します。Certbot は、Let's Encrypt とやり取りする ACME 対応のクライアントです。
Lightsail インスタンスに Certbot をインストールするには
-
Lightsail コンソール
にサインインします。 -
インスタンスのホームページで、接続するインスタンスの SSH クイック接続アイコンを選択します。たとえば、Example という名前の WordPress インスタンスの場合:
-
Lightsail のブラウザベースの SSH セッションに接続したら、次のコマンドを入力してインスタンスのパッケージを更新します。
sudo apt-get update
-
次のコマンドを入力してソフトウェアプロパティパッケージをインストールします。Certbot の開発者は、Personal Package Archive (PPA) を使用して Certbot を配布します。ソフトウェアプロパティパッケージを使用すると、PPA をより効率的に操作できます。
sudo apt-get install software-properties-common注記
sudo apt-get installコマンドを実行したときにCould not get lockエラーが発生した場合は、約 15 分待ってから再試行してください。このエラーは、Apt パッケージ管理ツールを使用して無人アップグレードをインストールしている cron ジョブが原因である可能性があります。 -
次のコマンドを入力して GPG パッケージをインストールし、Certbot をローカルの apt リポジトリに追加します。
注記
ステップ 5 は、Ubuntu Linux ディストリビューションを使用するインスタンスにのみ適用されます。インスタンスが Debian Linux ディストリビューションを使用している場合は、このステップをスキップしてください。
sudo apt-get install gpg -ysudo apt-add-repository ppa:certbot/certbot -y -
次のコマンドを入力して apt を更新し、新しいリポジトリを含めます。
sudo apt-get update -y -
次のコマンドを入力して Cerbot をインストールします。
sudo apt-get install certbot -yこれで Lightsail インスタンスに Cerbot がインストールされました。
-
ブラウザベースの SSH ターミナルウィンドウは開いたままにします。このチュートリアルで後ほど戻ります。このチュートリアルの「次のセクション」に進みます。
ステップ 3: Let's Encrypt の SSL ワイルドカード証明書をリクエストする
Let's Encrypt の証明書をリクエストするプロセスを開始します。Certbot を使用してワイルドカード証明書をリクエストします。この 1 つの証明書をドメインとそのサブドメインの両方に使用できます。たとえば、1 つのワイルドカード証明書を example.com 最上位ドメイン、blog.example.com サブドメイン、および stuff.example.com サブドメインに使用できます。
Let's Encrypt の SSL ワイルドカード証明書をリクエストするには
-
このチュートリアルのステップ 2 で使用した同じブラウザベースの SSH ターミナルウィンドウで、以下のコマンドを入力してドメインの環境変数を設定します。より効率的にコマンドをコピーして貼り付け、証明書を取得できます。
は登録済みのドメイン名に置き換えてください。domainDOMAIN=domainWILDCARD=*.$DOMAIN例:
DOMAIN=example.comWILDCARD=*.$DOMAIN -
次のコマンドを入力し、変数が正しい値を返すことを確認します。
echo $DOMAIN && echo $WILDCARD次のような結果が表示されます。
-
次のコマンドを入力して Certbot をインタラクティブモードで起動します。このコマンドでは、DNS チャレンジで手動認可を使用してドメインの所有権を検証することを Certbot に指示します。また、最上位ドメインとそのサブドメイン用にワイルドカード証明書をリクエストします。
sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonly -
プロンプトに応じて E メールアドレスを入力します。これで更新とセキュリティに関する通知を受信します。
-
Let's Encrypt のサービス利用規約を読みます。読み終わり、同意する場合は A キーを押します。同意しない場合は、Let's Encrypt の証明書を取得できません。
-
E メールアドレスの共有と IP アドレスのログ記録に関するプロンプトに適宜応答します。
-
Let's Encrypt から、指定されたドメインの所有者であることの検証を求められます。これを行うには、ドメインの DNS レコードに TXT レコードを追加します。以下の例に示すように 2 組の TXT レコード値が提供されます。
注記
Let's Encrypt では検証に必要な TXT レコードを 1 つまたは複数提供する場合があります。この例では、検証に使用する 2 つの TXT レコードが提供されました。
-
Lightsail のブラウザベースの SSH セッションは開いたままにします。このチュートリアルで後ほど戻ります。このチュートリアルの「次のセクション」に進みます。
ステップ 4: ドメインの DNS ゾーンに TXT レコードを追加する
ドメインの DNS ゾーンに TXT レコードを追加すると、自分がドメインを所有していることが検証されます。ここでは、デモの目的で Lightsail の DNS ゾーンを使用します。ただし、ドメインレジストラがホストする他の一般的な DNS ゾーンでも手順はほぼ同じです。
注記
ドメインの Lightsail DNS ゾーンの作成方法の詳細については、「Lightsail で DNS ゾーンを作成し、ドメインの DNS レコードを管理する」を参照してください。
Lightsail でドメインの DNS ゾーンに TXT レコードを追加するには
-
左側のナビゲーションペインで [ドメインと DNS] を選択します。
-
ページの [DNS ゾーン] セクションで、Certbot 証明書リクエストで指定したドメインの DNS ゾーンを選択します。
-
DNS ゾーンエディタで [DNS records] (DNS レコード) を選択します。
-
[レコードの追加] を選択します。
-
[Record type] (レコードタイプ) のドロップダウンメニューで [TXT record] (TXT レコード) を選択します。
-
Let's Encrypt 証明書のリクエストで指定された値を [Record name] (レコード名) と [Responds with] (応答) フィールドに入力します。
注記
Lightsail コンソールには、ドメインの頂点部分があらかじめ入力されています。たとえば、
サブドメインを追加する場合は、_acme-challenge.example.comをテキストボックスに入力するだけで、レコードを保存するときに Lightsail が_acme-challenge.example.comの部分を追加します。 -
[保存] を選択します。
-
ステップ 4~7 を繰り返して、Let's Encrypt の証明書リクエストで指定された 2 番目の TXT レコードのセットを追加します。
-
Lightsail コンソールのブラウザウィンドウは、このチュートリアルで後ほど戻るので開いたままにします。このチュートリアルの「次のセクション」に進みます。
ステップ 5: TXT レコードが反映されたことを確認する
MxToolbox ユーティリティを使用して、TXT レコードがインターネットの DNS に伝播されたことを確認します。DNS レコードの反映には、DNS ホスティングプロバイダーと DNS レコードの有効期限 (TTL) の設定によって時間がかかる場合があります。このステップを完了し、TXT レコードが反映されたことを確認した上で、Certbot 証明書のリクエストに進むことが重要です。そうしないと、証明書のリクエストは失敗します。
TXT レコードがインターネットの DNS に伝播されたことを確認するには
-
新しいブラウザウィンドウを開き、https://mxtoolbox.com/TXTLookup.aspx
に移動します。 -
次の内容をテキストボックスに入力します。
ドメインは必ずドメインに置き換えてください。_acme-challenge.domain例:
_acme-challenge.example.com
-
[TXT Lookup (TXT ルックアップ)] を選択して確認を行います。
-
以下のいずれかのレスポンスが返されます。
-
TXT レコードがインターネットの DNS に伝播されている場合、次のスクリーンショットに示すようなレスポンスが表示されます。ブラウザウィンドウを閉じて、このチュートリアルの「次のセクション」に進みます。
-
TXT レコードがインターネットの DNS に伝播されていない場合は、DNS レコードが見つかりませんというレスポンスが表示されます。ドメインの DNS ゾーンに正しい DNS レコードを追加したことを確認します。正しいレコードを追加した場合は、ドメインの DNS レコードが伝播されるまでしばらく待ってから、TXT ルックアップを再度実行します。
-
ステップ 6: Let's Encrypt の SSL 証明書リクエストを完了する
WordPress インスタンスの Lightsail ブラウザベースの SSH セッションに戻り、Let's Encrypt 証明書のリクエストを完了します。Certbot は、SSL 証明書、チェーン、およびキーファイルを WordPress インスタンスの特定のディレクトリに保存します。
Let's Encrypt の SSL 証明書リクエストを完了するには
-
WordPress インスタンスの Lightsail ブラウザベースの SSH セッションで、Enter キーを押し、Let's Encrypt SSL 証明書のリクエストを続行します。成功すると、次のスクリーンショットに示すようなレスポンスが表示されます。
証明書、チェーン、およびキーファイルが
/etc/letsencrypt/live/ディレクトリに保存されたことを確認するメッセージが表示されます。domain/は、実際のドメイン (domain/etc/letsencrypt/live/など) に置き換えてください。example.com/ -
メッセージに記載されている有効期限を書き留めておきます。この期限日までに証明書を更新する必要があります。
-
これで Let's Encrypt SSL 証明書が手に入ったので、このチュートリアルの「次のセクション」に進みます。
ステップ 7: Apache サーバーディレクトリで Let's Encrypt の証明書ファイルへのリンクを作成する
WordPress インスタンスの Apache サーバーディレクトリにある Let's Encrypt の SSL 証明書ファイルへのリンクを作成します。また、必要になる場合に備えて既存の証明書をバックアップします。
Apache サーバーディレクトリで Let's Encrypt の証明書ファイルへのリンクを作成するには
-
WordPress インスタンスの Lightsail ブラウザベースの SSH セッションで、次のコマンドを入力して基盤となるサービスを停止します。
sudo /opt/bitnami/ctlscript.sh stop次のようなレスポンスが表示されます。
-
バックアップとして既存の証明書ファイルがある場合、以下のコマンドを個別に入力して名前を書き換えます。さまざまなディストリビューションとファイル構造の詳細については、このチュートリアルの冒頭の重要ブロックを参照してください。
-
Debian Linux ディストリビューションの場合
アプローチ A (システムパッケージを使用した Bitnami インストール):
sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt.oldsudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.key /opt/bitnami/apache2/conf/bitnami/certs/server.key.oldアプローチ B (自己完結型 Bitnami インストール):
sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.oldsudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old -
Ubuntu Linux ディストリビューションを使用する古いインスタンスの場合:
sudo mv /opt/bitnami/apache/conf/bitnami/certs/server.crt /opt/bitnami/apache/conf/bitnami/certs/server.crt.oldsudo mv /opt/bitnami/apache/conf/bitnami/certs/server.key /opt/bitnami/apache/conf/bitnami/certs/server.key.oldsudo mv /opt/bitnami/apache/conf/bitnami/certs/server.csr /opt/bitnami/apache/conf/bitnami/certs/server.csr.old
-
-
以下のコマンドを個別に入力し、Apache ディレクトリで Let's Encrypt の証明書ファイルへのリンクを作成します。さまざまなディストリビューションとファイル構造の詳細については、このチュートリアルの冒頭の重要ブロックを参照してください。
注記
ステップ 3 で
DOMAIN変数を設定してからブラウザベースの SSH ターミナルウィンドウを閉じた場合は、example.comをドメインに置き換えて、DOMAIN=を再度実行します。example.com-
Debian Linux ディストリビューションの場合
アプローチ A (システムパッケージを使用した Bitnami インストール):
sudo ln -sf /etc/letsencrypt/live/$DOMAIN/privkey.pem /opt/bitnami/apache2/conf/bitnami/certs/server.keysudo ln -sf /etc/letsencrypt/live/$DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/bitnami/certs/server.crtアプローチ B (自己完結型 Bitnami インストール):
sudo ln -sf /etc/letsencrypt/live/$DOMAIN/privkey.pem /opt/bitnami/apache2/conf/server.keysudo ln -sf /etc/letsencrypt/live/$DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/server.crt -
Ubuntu Linux ディストリビューションを使用した古いインスタンスの場合:
sudo ln -s /etc/letsencrypt/live/$DOMAIN/privkey.pem /opt/bitnami/apache/conf/bitnami/certs/server.keysudo ln -s /etc/letsencrypt/live/$DOMAIN/fullchain.pem /opt/bitnami/apache/conf/bitnami/certs/server.crt
-
-
次のコマンドを入力して、先ほど停止した基本サービスを開始します。
sudo /opt/bitnami/ctlscript.sh start次のような結果が表示されます。
WordPress インスタンスの SSL 証明書ファイルが適切なディレクトリに配置されました。
-
このチュートリアルの「次のセクション」に進みます。
ステップ 8: Really Simple SSL プラグインを使用して SSL 証明書を WordPress サイトに統合する
Really Simple SSL プラグインを WordPress サイトにインストールし、これを使用して SSL 証明書を統合します。Really Simple SSL では、サイトを訪問するユーザーが常に HTTPS 接続を利用できるように、HTTP から HTTPS へのリダイレクトも設定します。
Really Simple SSL プラグインを使用して SSL 証明書を WordPress サイトに統合するには
-
WordPress インスタンスの Lightsail ブラウザ ベースの SSH セッションで、次のコマンドを入力して
wp-config.phpおよびhtaccess.confファイルを書き込み可能に設定します。Really Simple SSL プラグインは、wp-config.php ファイルに書き込むことで証明書を設定します。-
Debian Linux ディストリビューションを使用する新しいインスタンスの場合:
sudo chmod 666 /opt/bitnami/wordpress/wp-config.php && sudo chmod 666 /opt/bitnami/apache/conf/vhosts/htaccess/wordpress-htaccess.conf -
Ubuntu Linux ディストリビューションを使用する古いインスタンスの場合:
sudo chmod 666 /opt/bitnami/apps/wordpress/htdocs/wp-config.php && sudo chmod 666 /opt/bitnami/apps/wordpress/conf/htaccess.conf
-
-
新しいブラウザウィンドウを開き、WordPress インスタンスの管理ダッシュボードにサインインします。
注記
詳細については、「Amazon Lightsailの Bitnami インスタンス向けにアプリケーションのユーザー名とパスワードを取得する」を参照してください。
-
左のナビゲーションペインから、[Plugins] (プラグイン) を選択します。
-
プラグインページの上部で、[Add New] (新規追加) を選択します。
-
[Really Simple SSL] を探します。
-
検索結果の Really Simple SSL プラグインの横にある [Install Now (今すぐインストール)] を選択します。
-
インストールが完了したら、[Activate] (有効化) を選択します。
-
表示されるプロンプトで [Go ahead, activate SSL!] (SSL の有効化を開始!) を選択します。WordPress インスタンスの管理ダッシュボードのサインインページにリダイレクトされる場合があります。
これで SSL 暗号化を使用するように WordPress インスタンスが設定されました。さらに、HTTP から HTTPS へ自動的に接続をリダイレクトするように WordPress インスタンスが設定されました。訪問者が
http://example.comにアクセスすると、暗号化された HTTPS 接続 (https://example.com) に自動的にリダイレクトされます。
ステップ 9: Let's Encrypt 証明書を 90 日ごとに更新する
Let's Encrypt 証明書の有効期間は 90 日間です。証明書は有効期限が切れる 30 日前から更新できます。Let's Encrypt 証明書を更新するには、取得するために使用した元のコマンドを実行します。このチュートリアルの「Let's Encrypt の SSL ワイルドカード証明書をリクエストする」セクションのステップを繰り返します。