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

You may also like...

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *