AWS lightsailにcertbotをインストールしLets encryptでSSL化[新規]
基本的には以下のAWSドキュメントに従うことになる.本記事では以下より実行コマンドを抜粋する形で手順を紹介.
Certbotをインストールするまで
sudo apt-get update sudo apt-get install software-properties-common sudo apt-get install gpg -y sudo apt-add-repository ppa:certbot/certbot -y sudo apt-get update -y sudo apt-get install certbot -y
※apt-updateでエラーがでるときは以下を実行してからapt-updateを再度実行
... sudo apt-add-repository -r ppa:certbot/certbot sudo apt-get update -y sudo apt-get install certbot -y
Let’s Encrypt の SSL ワイルドカード証明書をリクエストする
DOMAIN=hoge.com WILDCARD=*.$DOMAIN # 正しい変数が設定されているかを確認 echo $DOMAIN && echo $WILDCARD
ここからが少し複雑なので,注意して進めていこう.
sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonly
を実行後,メールアドレスの入力といくつかの質問があるため,これらに答えていくと, Are you OK with your IP being logged? の質問がでてくる.これに答えた後,
Please deploy a DNS TXT record under the name
_acme-challenge.hoge.com with the following value:
XXXXXXXXXXXXXXXXXXXXXX
というコメントと共にTXT recordが出現する.上のXの文字列がTXX recordとなる.
ここで,Enterを押してしまうと一からやり直しなので,コンソールはいったん待機させておく.
そして,別ウィンドウでLightsail のホームページを開き,
・[ネットワーキング] タブを選択
・ページの [DNS ゾーン] セクションで、Certbot 証明書リクエストで指定したドメインの DNS ゾーンを選択
・DNS ゾーンエディタで [レコードの追加] を選択
を行うと以下のような画面が出現するはずだ.
Aレコードは独自ドメインを設定する際,すでに登録されているはずだ.※登録がまだの場合は,「lightsail 独自ドメイン」などで手順を調べて,設定を済ませてからこのドキュメントに戻ってこよう.
ではTXTレコードを入力していこう.
レコードタイプのドロップダウンメニューで [TXT レコード] を選択し,次のように [サブドメイン]には_acme-challengeを入力し, [Responds with (応答)]には先ほどコンソールで表示されたTXT recordを入力する.
以上でTXT recordの設定が完了.
さらに,TXT recordが反映されたことを確認するため,
https://mxtoolbox.com/TXTLookup.aspx
にアクセスし,自身のドメイン名を入力後,次のように登録されたTXT recordが表示されることを確認
問題なく表示されることが確認出来たら,このタイミングでコンソールに戻ってEnterを押す.すると2個目のTXT recordがでてくるため,本手順を繰り返し行い2個目を登録する.
TXT recordの確認はオプションではなく,これをやっておかないとエラーがでるので,必ず忘れずにやっておこう.また,TXT recordの確認は,1つ登録するたびに1回確認しないとエラーがでるため,注意しよう.
1回ずつ確認というのは面倒だが,必ずやっておこう.ミスしてももう一度やり直せるため気軽に挑戦してみよう.SSL化の一番のはまりどころはここにあるように感じる.
以下のようにcongratulation!が表示されれば,無事成功である.
Apache サーバーディレクトリで Let’s Encrypt の証明書ファイルへのリンクを作成
コンソールでサービスを停止
sudo /opt/bitnami/ctlscript.sh stop
以下で紹介するのは,Ubuntu Linux ディストリビューションを使用する古いインスタンスの場合のコマンドである,AWSのドキュメントでは,アプローチ A (システムパッケージを使用した Bitnami インストール):とアプローチ B (自己完結型 Bitnami インストール):での手順が紹介されているため,以下を実行する前にドキュメントの手順を確認してから進めよう.
確認ができたら,バックアップの作成を行う
DOMAIN=example.com sudo mv /opt/bitnami/apache/conf/bitnami/certs/server.crt /opt/bitnami/apache/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/apache/conf/bitnami/certs/server.key /opt/bitnami/apache/conf/bitnami/certs/server.key.old sudo mv /opt/bitnami/apache/conf/bitnami/certs/server.csr /opt/bitnami/apache/conf/bitnami/certs/server.csr.old
証明書へのリンクを作成
sudo ln -s /etc/letsencrypt/live/$DOMAIN/privkey.pem /opt/bitnami/apache/conf/bitnami/certs/server.key sudo ln -s /etc/letsencrypt/live/$DOMAIN/fullchain.pem /opt/bitnami/apache/conf/bitnami/certs/server.crt
サービスの開始
sudo /opt/bitnami/ctlscript.sh start
以上を実行するとhttpsでのアクセスができているはずだ.
Lets encryptの有効期限は3か月で,証明書の有効期限が切れた場合は,以下の手順を繰り返すことになる
ディスカッション
コメント一覧
まだ、コメントがありません