我們已經擁有一個自己網域的網站,他目前有很粗淺的wordpress介面。

接下來,我們要來安裝GOOGLE相當看重的SSL安全性憑證。
內容目錄
1.架設Wordpress網站的SSL,先到後台找到SSH console
首先,我們先到Bitnami的主機管理後台,選擇SSH Console



2.輸入SSL安裝碼
再來,請複製這段程式碼,然後將它放在小黑窗裡面,按enter,請注意,這邊要[email protected]改成自己使用的信箱,sample.com改成自己的網域
sudo /opt/bitnami/letsencrypt/scripts/generate-certificate.sh -m i
[email protected] -d sample.com -d www.sample.com
跑了一些之後,他會問你一些操作問題,這邊統一都是打Y然後按enter
好了之後,我們就重啟我們的伺服器,請複製貼上這段程式碼
sudo /opt/bitnami/ctlscript.sh restart nginx
現在,你已經擁有一個SSL安全性憑證的網站了!
3.確保網頁轉址到Https
再來,我們要確保任何頁面都有包含https,所以這邊要對內部文件進行修改,請輸入以下程式碼進入內部文件
sudo nano /opt/bitnami/nginx/conf/bitnami/bitnami.conf
進入之後,將return 301 https://(www).$host$request_uri
加進去
server {
listen 80;
server_name localhost;
return 301 https://$host$request_uri;
include "/opt/bitnami/nginx/conf/bitnami/bitnami-apps-prefix.conf";
}
好了之後,請按Ctrl+X或Cmd+x關閉內部文件,此時他會問是否要儲存修改,請按Y然後按Enter
完成之後,我們一樣重啟伺服器
sudo nano /opt/bitnami/nginx/conf/bitnami/bitnami.conf
4.確保網頁預設也轉址到Https
再來,我們要將預設的http轉為https,修改的檔案是wp-config.php,他的檔案在/home/bitnami/apps/wordpress/htdocs,所以請輸入這段程式碼
sudo nano /home/bitnami/apps/wordpress/htdocs/wp-config.php
進入wp-config.php後,我們要從裡面找到WP_SITEURL
和 WP_HOME
,你可以按方向鍵下慢慢找,或是Cmd/Ctrl W
他會進入搜尋模式,然後找WP_SITEURL,將他們的http改成https
define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/');
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/');
完成之後,一樣按Ctrl+X或Cmd+x關閉內部文件,此時他會問是否要儲存修改,請按Y然後按Enter
這時候,我們可以到網站後台登入,可以看到已經被改成https了!

5.優化網頁
再來,我們要改一個內建容量的限制,方便我們以後擴充功能不會遇到問題,首先輸入
sudo nano /opt/bitnami/php/etc/php.ini
進入到檔案後,一樣使用Cmd/Ctrl W
,找到post_max_size跟upload_max_filesize,然後將他們改成
post_max_size = 100M
upload_max_filesize = 100M
完成之後,一樣按Ctrl+X或Cmd+x關閉內部文件,此時他會問是否要儲存修改,請按Y然後按Enter
6.刪除廣告
再來,bitnami其實會內建一個廣告符號在右下角,免費的最貴,總是要讓人家打一下廣告,但如果不想要他出現的話,我們可以輸入這段程式碼
sudo /opt/bitnami/apps/wordpress/bnconfig --disable_banner 1
完成後,你自己就擁有一個有SSL且完整的wordpress網站囉!
7.設定自動更新SSL
我們目前使用的SSL是90天內會自動到期的,所以我們要寫一些自動更新的程式碼進去。
先建立一個自動更新的檔案
sudo nano /opt/bitnami/letsencrypt/scripts/renew-certificate.sh
將這段程式碼放進去
#!/bin/bash
sudo /opt/bitnami/ctlscript.sh stop nginx
sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/ctlscript.sh start nginx
讓這個檔案能夠被執行
sudo chmod +x /opt/bitnami/letsencrypt/scripts/renew-certificate.sh
讓這個執行被啟動,請輸入1,會進入一個檔案裡面
sudo crontab -e
在檔案裡面寫以下程式碼,就完成了
0 0 1 * * /opt/bitnami/letsencrypt/scripts/renew-certificate.sh 2> /dev/null
8.如果已經到期了
sudo /opt/bitnami/ctlscript.sh stop
sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90
sudo /opt/bitnami/ctlscript.sh start