WordPress 搬家筆記 – [2] 安裝SSL安全連線憑證並自動更新
本篇屬於Wordpress架站小知識的輕量型SOP ,提供久久才需要架站和搬遷的同學回復記憶 lol本篇包含三個小主題+ 一個bonus
1. 如何安裝SSL憑證
2. 如何自動更新SSL憑證
3. 如何強制WP使用https
4. [bonus] 新番WordPress 如何移除右下角的Bitnami圖示
建議搭配 Google Cloud Platform 和WordPress with NGINX and SSL Certified by Bitnami and Automattic一起服用
[如何安裝SSL憑證]
詳細請參考這篇 Generate And Install A Let’s Encrypt SSL Certificate For A Bitnami Application
以下是懶人快速打包版:
cd /tmp
curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i -
tar xf lego_vX.Y.Z_linux_amd64.tar.gz
sudo mkdir -p /opt/bitnami/letsencrypt
sudo mv lego /opt/bitnami/letsencrypt/lego
接下來就是設定伺服器的部分
首先停止伺服器
sudo /opt/bitnami/ctlscript.sh stop
由於這次只有GCP伺服器搬家,所以憑證都是沿用以前已經申請好的直接搬到新伺服器來啟用
可以簡單的使用GCP內建的SSH來上傳或是下載舊伺服器上頭的檔案
點選右上角的齒輪圖就會出現以下的選單
直接點選以下三個檔案 (1) 網名.crt (2) 網名.key (3) 網名.csr 上傳到認證資料夾certificates的根目錄
這邊需要注意一下GCP的SSH介面預設的上傳位置是 “/home/你的帳號/” 的根目錄下
上傳完畢後,再使用以下指令把檔案移到認證資料夾certificates的根目錄亦可
sudo mv /home/你的帳號/網名.csr /opt/bitnami/letsencrypt/certificates/ sudo mv /home/你的帳號/網名.key /opt/bitnami/letsencrypt/certificates/ sudo mv /home/你的帳號/網名.crt /opt/bitnami/letsencrypt/certificates/
結束移動後再進行下列指令
sudo mv /opt/bitnami/nginx/conf/server.crt /opt/bitnami/nginx/conf/server.crt.old
sudo mv /opt/bitnami/nginx/conf/server.key /opt/bitnami/nginx/conf/server.key.old
sudo mv /opt/bitnami/nginx/conf/server.csr /opt/bitnami/nginx/conf/server.csr.old
sudo ln -sf /opt/bitnami/letsencrypt/certificates/網名.key /opt/bitnami/nginx/conf/server.key
sudo ln -sf /opt/bitnami/letsencrypt/certificates/網名.crt /opt/bitnami/nginx/conf/server.crt
sudo chown root:root /opt/bitnami/nginx/conf/server*
sudo chmod 600 /opt/bitnami/nginx/conf/server*
完成後重新執行伺服器
sudo /opt/bitnami/ctlscript.sh start
[如何自動更新SSL憑證]
由於新網站除了在DNS provider更新網域之外
還需要再更新憑證給新的伺服器一次
因此同樣參考 Generate And Install A Let’s Encrypt SSL Certificate For A Bitnami Application
按照步驟五的方式執行
sudo nano /opt/bitnami/letsencrypt/scripts/renew-certificate.sh
在檔案內輸入以下程式碼後Ctrl+X存檔離開
#!/bin/bash
sudo /opt/bitnami/ctlscript.sh stop nginx
sudo /opt/bitnami/letsencrypt/lego --tls --email="註冊的信箱" --domains="網址(.com)" --path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/ctlscript.sh start nginx
製作完renew-certificate.sh後
按照下方三個步驟讓自動更新可以順利進行
sudo chmod +x /opt/bitnami/letsencrypt/scripts/renew-certificate.sh
執行 crontab editor
sudo crontab -e
把以下文章加入editor內存檔
0 0 1 * * /opt/bitnami/letsencrypt/scripts/renew-certificate.sh 2> /dev/null
基本上只要打開SSH 三個月執行一次下方的程式碼就可更新憑證了
/opt/bitnami/letsencrypt/scripts/renew-certificate.sh
[如何強制WP使用https ]
由於GCP無法從WP的管理員=>工具=>一般設定去修改Wordpress位址和網站位址
因此需要直接修改wp-config.php來達成強制網站使用ssl的功能
sudo nano home/你的帳號/apps/wordpress/htdocs/wp-config.php
找到以下兩行 改成現有已經完成SSL憑證的網址
define(‘WP_SITEURL’, ‘https://你的網址’);
define(‘WP_HOME’, ‘https://你的網址’);
改好後按ctrl+X儲存
這邊是建議停止伺服器後再重啟來使更新生效
停止伺服器
sudo /opt/bitnami/ctlscript.sh stop
重啟伺服器
sudo /opt/bitnami/ctlscript.sh start
Bonus:
[如何移除右下角的Bitnami圖示]
進入ssh 打以下程式碼即可
sudo /opt/bitnami/apps/wordpress/bnconfig --disable_banner 1
近期留言