ども、カロージです。
今更感もありますが、今回は、Let’s Encrypt(無料SSL証明書)の
設定と更新について、自身の備忘録を兼ねて手順を共有させて頂きます。
環境
- CentOS7.x
- Apache 2.x
前提条件
- SSHアクセス可能
- ブラウザ越しにWebページを閲覧可能
- ルート(インストール可能な)権限がある
- FireWallでポート443が解放済
- ヴァーチャルホストの設定済み
事前準備
Certbot
Certbotというソフトをインストールして、Let’s Encrypt(無料SSL証明書)をWEBサーバへ設定します。
ルート(root)へスイッチして、「Certbot(サートボット)」をインストールして下さい。
1 2 |
yum install epel-release yum install certbot python-certbot-apache |
設定手順
Let’s Encrypt(無料SSL証明書)の取得と設定
1 |
certbot certonly --webroot -w /path/to/documentroot/ -d example.com |
- 途中で質問されることEnter email address ・・・ メールアドレスPrease read the Term ・・・ 利用規約への同意Would you be willing ・・・ メール連絡してくれる。とのこと(任意)
- 完了確認
「Congratulations! You have successfully enabled」と表示されれば、設定完了です。 - WEBサーバー再起動してブラウザから確認してみましょう。
1 |
systemctl restart httpd.service |
更新手順
- 有効期限確認
以下のコマンドで、SSL証明書の有効期限を確認します。
Let’s Encryptは、有効期限が30日未満にならないと更新が出来ない。という制約が有ります。
1 |
certbot certificates |
- Let’s Encrypt(無料SSL証明書)の更新リハーサル
1 |
certbot renew --dry-run -w /var/www/example.com |
※「–dry-run」 オプションをつけた上でリハーサルできますが、
ポイントは、必ずドキュメントルートのPATHを指定するという点になります。
「succeeded」と表示されたらSSL更新可能になります。
- Let’s Encrypt(無料SSL証明書)の更新
1 |
certbot renew -w /var/www/example.com |
SSL証明書の自動更新手順
Let’s Encryptは3ヶ月で証明書の有効期限が切れるので、自動更新する様に設定します。
- CRONを使用して自動更新します。
- 以下は、毎月1日の3時に更新する処理になります。
1 2 |
crontab -e 00 03 01 * * root /usr/bin/certbot && systemctl restart httpd |
でわ
参考