怎麼架設WordPress網站教學3/3|安全性憑證SSL安裝

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

接下來,我們要來安裝GOOGLE相當看重的SSL安全性憑證。

1.架設Wordpress網站的SSL,先到後台找到SSH console

首先,我們先到Bitnami的主機管理後台,選擇SSH Console

Wordpress網站SSL教學
WordPress網站SSL教學

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