環境
- AlmaLinux 8.6
- Apache
概要
Let's Encript は、無償のSSL証明書です。ただ、3カ月しか有効期間がないので、更新が必要になります
SSL関連のパッケージをインストール
#dnf install openssl
#dnf install mod_ssl
私の環境では、openssl はすでに入っていましたので、mod_ssl のみ必要でした
Let's Encript関連をインストール
#dnf install epel-release
#dnf install certbot
証明書の作成
#certbot --dry-run certonly --webroot -w /var/www/html/ -d my.domain.xxxx
Let's Encript は実施に回数制限(数回でアウト)があるため、--dry-run オプションをつけて試行するとよい
-w で指定したパスは、http(80ポート) での、検証に必要なパスで、コンテキストパスにある必要がある。
http://my.domain.xxxx/
でアクセスできること
(上記例では、誤リンクを防ぐ為、あえてコロンを全角にしています)
#The dry run was successful.
がでてくるとOK
OKであれば、--dry-run オプションを取って実行
/etc/letsencrypt/live/ドメイン
に、pem ファイルが作成されているはず
apacheに設定
ファイルの
SSLCertificateFile /etc/letsencrypt/live/ドメイン/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/ドメイン/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/ドメイン/chain.pem
を設定する
apache の設定を再ロード
#systemctl reload httpd
で、設定を反映させる
自動更新
クーロンで自動設定するとよい
Let's Encript は、期限30日前から更新できるため、月2回ほど実施すればよいが、4週前で、まだ更新していないとメールが通知されるので、毎日早朝でも実施しておいてもよい
0 4 * * * certbot renew --deploy-hook "systemctl reload httpd"
--deploy-hook は、更新時にコマンドで、apache を再ロードでして反映させる