安裝 Let's Encrypt 憑證

安裝環境:CentOS 6 + Apache

目前僅有 CentOS 6 的安裝教學,沒意外還會有 CentOS 7 的,敬請期待。

1. Let's Encrypt?

Let's Encrypt 是一個由許多非營利與營利組織贊助,免費提供 SSL 憑證的憑證提供機構。對現代網站而言,SSL憑證可是很重要的東西。

目前官方提供幾種安裝的方式,主要以 ssh 連線或非 ssh 連線做區別,而官方的建議為 ssh 連線 + EFF 的 certbot,所以本篇的安裝方式就是 ssh + certbot 了。

2. 安裝 Certbot

進入 Certbot 官網可以看到兩個下拉選單,這兩個選項(Software and System)排列組合就是 Certbot 提供的安裝環境。

本次的環境為 Apache + CentOS 6。使用 ssh 登入伺服器後,開始安裝 certbot:

# wget https://dl.eff.org/certbot-auto
# chmod a+x certbot-auto

在別的安裝文章可能會看到裝的是 certbot,而非 certbot-auto。其實這兩個是一樣的東西,只是 certbot-auto 會自動安裝需要的依賴,且會自動安裝最新版本。

3. 取得憑證前

在正式取得憑證前有兩件事需要確認:剛剛安裝的 certbot-auto 位置與伺服器有沒有裝 EPEL repository。

前者是因為等等取得憑證需要使用它,所以請務必找出它的位置。通常會在 /root/ 底下。

後者是因為更新憑證(Let's Encrypt提供的憑證只有90天期限)需要 python,而安裝 python 需要 EPEL repository。所以如果沒安裝 EPEL,請務必安裝。

4. 取得憑證

目前的取得類型為一張憑證對一個網域或多個子網域不同的網域:

# /root/certbot-auto --apache certonly --cert-name exam.com -d exam.com
# /root/certbot-auto --apache certonly --cert-name exam.com -d exam.com,www.exam.com
  • --apache:Software 是 Apache 的話記得加這個
  • certonly:如果想要手動修改 conf 檔(ssl.conf)的話請加上這個。不加的話,在取得憑證的同時,certbot 會自動修改必要的 conf 檔案與啟動 mod_ssl(如果預設沒啟動的話)
  • --cert-name:後面接的字串為此張憑證的名稱
  • -d:或是用 --domains,後面接的字串為此張憑證適用的域名,複數域名用半型逗號「,」隔開即可

確定後會問幾個問題,同時會要求輸入憑證快過期時的通知信箱。

問題都回答完畢後便會取得憑證,Bash 上會顯示取得憑證(fullchain.pem)與 key(private.pem)的位置,通常會在 /etc/letsencrypt/live/$domain/ 底下。

5. 自動更新憑證

certbot 本身有提供自動更新的指令,在下指令前先確認自動更新是否可使用。這邊如果系統沒有安裝 python,測試時會自動安裝。

# /root/certbot-auto renew --dry-run

如果沒出現任何錯誤,就可以進行手動更新。

# /root/certbot-auto renew

或是如官方建議,使用 crontab 進行自動更新。

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && /root/certbot-auto renew

results matching ""

    No results matching ""