WebARENAの使い方 – (ドメイン準備:Let’s Encrypt でSSL化)
ここではWebArenaにSSL環境を準備します。SSLは無料のLet’s Encryptを使用します。その際、ワイルドカードを利用してサブドメイン全体にSSLが有効にするための証明書を発行します。
環境はWebARENA上に構築します。
まず、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のアカウントがまだない方は以下の記事を参考にしてください。
ドメイン設定 > DNS関連機能の設定 > 設定したいドメインを選択して「次へ」> DNSレコード設定を利用するの「設定する」で、DNDのレコード設定画面を表示します。
以下の内容で新しいレコードを設定します。
- ① ホスト名:コマンドで返された「name」の値(ドメイン部分は設定されているので『_acme-challenge』の部分のみ)
- ② TYPE:「TXT」を選択
- ③ TTL:「3600」のまま
- ④ VALUE:コマンドで返された「value」の値
- ⑤ 状態:「有効」のまま
追加 > 確認画面へ進む > 設定する で、設定を完了します。
注意:まだコマンド上でEnterキーは押さないでください。DNSレコードが反映されるまでに時間がかかるので、もしまだ反映されていない場合、コマンド結果が失敗すると最初からやり直しになります。
レコードが反映されるまで待ちます。TTLの値を一時的に短くするやり方もありますが、今回は「3600」のままとしたため、DNSの問い合わせ結果を表示する「G Suite Toolbox Dig」を使います。
「名前」に「name」の値を入れ、「TXT」を表示させ、設定内容が反映されていればOKです。
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コンテナで準備します。