最安VPSでマルチドメインサイト構築(ドメイン準備:Let’s Encrypt でSSL化)

ここではWebArenaにSSL環境を準備します。SSLは無料のLet’s Encryptを使用します。その際、ワイルドカードを利用してサブドメイン全体にSSLが有効にするための証明書を発行します。

WebARENA(VPSクラウド)

まず、WebArenaにSSHで接続します。SSHでの接続は以下の記事を参考にしてください。

最安VPSでマルチドメインサイト構築(WebArena 環境構築:SSH/セキュリティ設定)

Let’s Encryptの証明書発行

Dockerコマンドの実行(前半)

証明書の発行は以下を参考にさせて頂きました。

以下のコマンドのうち、ドメインとメールアドレスは、自身のサイトに合わせて変更してください。

ポイントは、サブドメイン全体がSSLとなるよう、「*.xxxxxxx.com」とアスタリスクを使用している点です。

-d *.xxxxxxxxx.com \
-m yyyyyyyyyy@gmail.com \

docker run -it --rm \
--name certbot \
-v "/etc/letsencrypt:/etc/letsencrypt" \
-v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
certbot/certbot certonly \
--manual \
-d *.xxxxxxxxx.com \
-m yyyyyyyyyy@gmail.com \
--agree-tos \
--manual-public-ip-logging-ok \
--preferred-challenges dns-01 \
--server https://acme-v02.api.letsencrypt.org/directory

コマンドを実行すると、以下のメッセージが表示されます。

- - - - - - - - - - - - - - - - - - - - - - - -
 Please deploy a DNS TXT record under the name
 _acme-challenge.xxxxxxxxxx.com with the following value:
 XmRs6BCRFpKux9p2qdcItk4n*********moHnqDSw5eo
 Before continuing, verify the record is deployed.
  - - - - - - - - - - - - - - - - - - - - - - - - 
 Press Enter to Continue

訳すと、

DNS TXTレコードを名前の下に配置してください  次の値を持つ_acme-challenge.xxxxxxxxxx.com:  XmRs6BCRFpKux9p2qdcItk4n ********* moHnqDSw5eo  続行する前に、レコードがデプロイされていることを確認してください。   

 Enterキーを押して続行します

「お名前.com」で、TXTレコードの設定を行います。

「お名前.com」で、TXTレコードの設定

お名前.com にログインして、コマンド結果の内容をTXTレコードに反映します。お名前.comのアカウントがまだない方は以下の記事を参考にしてください。

参考:お名前.comでドメインを取得する方法

ドメイン設定 > DNS関連機能の設定 > 設定したいドメインを選択して「次へ」> DNSレコード設定を利用するの「設定する」で、DNDのレコード設定画面を表示します。

以下の内容で新しいレコードを設定します。

  • ① ホスト名:コマンドで返された「name」の値(ドメイン部分は設定されているので『_acme-challenge』の部分のみ)
  • ② TYPE:「TXT」を選択
  • ③ TTL:「3600」のまま
  • ④ VALUE:コマンドで返された「value」の値
  • ⑤ 状態:「有効」のまま

追加 > 確認画面へ進む > 設定する  で、設定を完了します。

注意:まだコマンド上でEnterキーは押さないでください。DNSレコードが反映されるまでに時間がかかるので、もしまだ反映されていない場合、コマンド結果が失敗すると最初からやり直しになります。

レコードが反映されるまで待ちます。TTLの値を一時的に短くするやり方もありますが、今回は「3600」のままとしたため、DNSの問い合わせ結果を表示する「G Suite Toolbox Dig」を使います。

「名前」に「name」の値を入れ、「TXT」を表示させ、設定内容が反映されていればOKです。

G Suite Toolbox Dig

Dockerコマンドの実行(後半)

設定が完了し、設定が反映されていることが確認出来たら、Enterキーを押します。

Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/xxxxxxxxxx.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/xxxxxxxxxx.com/privkey.pem
   Your cert will expire on 2019-08-31. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

ファイルが作成されたか確認します。

sudo ls -ll /etc/letsencrypt/live/xxxxxxxxxx.com
total 4
lrwxrwxrwx 1 root root  38 Jun  3 00:46 cert.pem -> ../../archive/xxxxxxxxxx.com/cert1.pem
lrwxrwxrwx 1 root root  39 Jun  3 00:46 chain.pem -> ../../archive/xxxxxxxxxx.com/chain1.pem
lrwxrwxrwx 1 root root  43 Jun  3 00:46 fullchain.pem -> ../../archive/xxxxxxxxxx.com/fullchain1.pem
lrwxrwxrwx 1 root root  41 Jun  3 00:46 privkey.pem -> ../../archive/xxxxxxxxxx.com/privkey1.pem
-rw-r--r-- 1 root root 692 Jun  3 00:46 README

以上が、 WebArenaでサブドメイン全体にSSLを有効化するための証明書発行手順になります。次回は、今回発行した証明書を利用したリバースプロキシを、Dockerコンテナで準備します。

まとめ記事に戻る:最安VPSでマルチドメインサイト構築(WebArena + Docker + Let’s Encrypt)

About: ken


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください