步驟
- 於Linux中安裝 Let’s Encrypt SSL產生器
- 產生 abc.com.tw 的SSL並設定自動更新
- 於apache中設定VirtualHost ,並指定Let’s Encrypt產生的SSL憑證路徑
安裝 Let’s Encrypt:
使用Let’s Encrypt工具產生SSL,並自動更新的話,需要安裝自動更新工具 certbot。
你可以在SSH使用以下指令安裝 certbot:
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot python3-certbot-apache
產生 SSL 憑證:
接下來,你需要使用 certbot 產生 SSL 憑證。
於SSH中使用指令來產生 EX: abc.com.tw 的 SSL 憑證
sudo certbot --apache -d abc.com.tw
設定Apache的VirtualHost,加入SSL憑證路徑
一般來說,certbot 應該會自動檢查你的 Apache 設定,並產生 abc.com.tw 的 SSL 憑證路徑附加上去。
如果沒有或是你沒有設定過VirtualHost(虛擬主機),你可以自己加入VirtualHost(虛擬主機)設定到 httpd.conf 中,並設定SSL憑證路徑。
打開你的Apache設定檔httpd.conf,在最下新增:
<VirtualHost *:80>
ServerName abc.com.tw
ServerAlias www.abc.com
Redirect / https://abc.com.tw/
</VirtualHost>
<VirtualHost *:443>
ServerName abc.com.tw
ServerAlias www.abc.com
DocumentRoot /var/www/abc.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/abc.com.tw/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/abc.com.tw/privkey.pem
</VirtualHost>
上面的範例,當使用者輸入 http://abc.com.tw 時,就會被重定向到 https://abc.com.tw
SSLCertificateFile / SSLCertificateKeyFile則是分別指定Let’s Encrypt所產生的憑證路徑
DocumentRoot 為你的網站存放路徑,依據需求提整即可
設定自動更新
使用 certbot 在每週自動檢查憑證有效期,並於到期前自動續簽憑證更新,指令如下:
sudo certbot renew --dry-run
還可以透過排程,每日檢查憑證並自動更新,使用SSH輸入指令開啟crontab
crontab -e
然後加入這段指令
0 3 * * 0 /usr/bin/certbot renew --quiet
這個範例會在每天凌晨3:00執行檢查,如果要改變檢查時間,你可以調整前面的 0 3 * * 0的3,數字是24H制度,如果要改成下午4點,你可以改成 0 16 * * 0
以上就是如何自動更新憑證並設定apache的步驟