賊船

CentOS 8 安裝Certbot自動取得及更新Let’s Encrypt SSL憑證

Let’s Encrypt提供三個月免費的SSL憑證讓大家使用,也允許大家自動renew更新,所以我們採用Certbot讓程式配合排程來自動更新憑證

安裝 Certbot

yum -y install epel-release mod_ssl certbot

取得憑證 例:我想取得以下三個harryjee.com與 www.harryjee.com跟mail.harryjee.com主機名稱的憑證,並提供電子郵件信箱供Let’s Encrypt提供後續相關訊息。

certbot certonly --webroot -w /var/www/html -d harryjee.com -d www.harryjee.com -d mail.harryjee.com --email harry@harryjee.com --agree-tos

驗證成功後,相關憑證會在 /etc/letsencrypt/live/harryjee.com/ 下面。

設定 Apache 設定SSL相關設定。
編輯/etc/httpd/conf.d/ssl.conf

vi /etc/httpd/conf.d/ssl.conf

找到 SSLCertificateFile與SSLCertificateKeyFile及SSLCACertificateFile 這三行並修改相關路徑。

SSLCertificateFile /etc/letsencrypt/live/harryjee.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/harryjee.com/privkey.pem
SSLCACertificateFile /etc/letsencrypt/live/harryjee.com/fullchain.pem

設定完儲存並離開後重新啟動Apache

systemctl restart httpd

建立更新script檔並設定排程自動更新憑證。

vi /root/renew.sh
#!/bin/sh
/usr/bin/certbot renew --quiet --agree-tos --post-hook "systemctl reload httpd"

儲存離開後將renew.sh給予執行權限。

chmod 755 /root/renew.sh

加入排程讓程式每周一上午3點自動更新。

crontab -e
0 3 * * 1 /root/renew.sh > /dev/null 2>&1
Exit mobile version