ある日、ポートフォリオを作成していたサイトが突然開けなくなりました。
SSLの設定に必要なLet's Encryptで取得した証明書の期限が切れていたことに原因がありました。
## 環境
・PC: Macbook Pro 2017
・OS: Big Sur 11.2.3
・Apache: 2.4.46
・AWS EC2 Amazon Linux 2
## 前提条件
・EC2にsshで接続できている
・EC2のセキュリティグループが作成できている
・SSLの設定に必要な証明書の発行をLet's Encryptで行っている
## 解決までに行ったこと
-
su
コマンドで rootユーザに変更 - Let's Encrypt での証明書発行に必要なCertbotのアップデート
- Appacheを停止する
- 念の為
certbot renew --dry-run
で証明書を更新
## rootユーザに変更
1. で記載してある通りです。パスワードはご自身のpcのパスワードになります。
権限についての知見が少ないので、権限のエラーと見分けるために先にrootユーザーに変更しました。
## Certbotのアップデート
yum -y --enablerepo=epel update certbot
このコマンドでアップデートできるようです。
## Appacheを停止する
systemctl stop httpd
→Apacheを停止します。停止しないとポート80を解放しているのでエラーが起きます。
service httpd status
→activeの項目がinactiveになっているかを確認。
## 証明書を更新
--dry run はテストモード?のようなもの
certbot renew --dry-run
こちらが上手くいったら --dry run を外してからもう1度、実行してください。
certbot renew
## 更新後
Apacheを再起動します。
systemctl restart httpd
お疲れ様でした!これで、エラーが出たドメインを開けば表示されると思います!
最後に
cron を設定すれば 証明書の自動更新 ができるようです。
こちらは、**「let's encrypt 自動更新 cron」**などでググって頂ければわかりやすい説明がヒットすると思います。
下手くそな説明ですみません。もし間違っていたらご指摘して頂けると嬉しいです。
参考にさせて頂いた数々の記事に感謝します。
参考にさせて頂いた記事
2. Certbot アップデートに関して
3. ポートの解放・編集に関して
4,5. Certbot 新規発行・更新に関して
AWSによるサーバの構築からCertbotを自動更新にする一連の流れ関して