安裝 Let’s Encrypt 可以讓我們的網頁加上 TLS/SSL 的加密,也就是 https 的協定,除了安全性之外,也能提高網頁的 SEO 排名。
ubuntu 14.04 上面沒有包好的 package,因此安裝會複雜些
-
記得要確認自己 apache 設定(/etc/apache2/sites-available/000-default.conf)中的 ServerName 要設定,以免後續抓不到 ServerName
ServerName domain.com
-
更新套件清單 sudo apt-get update
-
安裝git sudo apt-get install git
-
將 github 上的 lets encrypt 專案 clone 下來 sudo git clone https://github.com/letsencrypt/letsencrypt
-
進入專案資料夾 cd /letscrypt
-
開啟 apache ssl module sudo a2enmod ssl sudo service apache restart
-
開始下載及安裝相關套件,並自動設定 apache ./letsencrypt-auto —apache -d domain.comPS. 如果有用 cloudflare 這類的服務,會出現 Failed to connect to host for DVSNI challenge,需要用第8步的方法做 這邊會需要輸入一些 e-mail資訊等等 ps. 如果你有多個 domain 要設定,可以 ./letsencrypt-auto —apache -d domain1.com -d domain2.com …
-
web root 安裝(option),若第7步已成功,就不需要做這步囉! cd ~/.local/share/letscrypt/bin/ ./letsencrypt-auto ./letsencrypt certonly —webroot -w /var/www/example/ -d www.example.com -w /var/www/other -d www.other.com ps. -w {網站根目錄} -d {domain}
-
編輯 apache 的 SSL 設定檔 ( /etc/apache2/sites-available/default-ssl.conf ),更改以下設定
SSLCertificateFile /etc/letsencrypt/live/camel2243.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/camel2243.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/camel2243.com/chain.pem
ps. 如果原本有 virtualhost 的話,需要複製 default-ssl.conf ( 如 blog-ssl.conf ),正確設定 ServerName 及 ServerAlias
-
啟用 ssl 設定 sudo a2ensite default-ssl.conf sudo service apache2 reload sudo service apache2 resart
-
這時候就已經成功安裝 letencrypt 囉!
-
接下來,我們要設定 SSL 憑證的自動更新,由於憑證有效時間僅三個月。目前已有指令可自動檢查憑證有效日期是否少於三個月,因此只要定時的檢查即可。 設定( etc/crontab ) m h dom mon dow user command * * 1 * * root /root/.local/share/letsencrypt/bin/letsencrypt renew
-
完成!!
參考資料: