一直耳聞 Google Cloud Platform (GCP) 的大名,加上最近想把教學部落格重新開張(也就是本站)。然而用了很久的遠振主機一直漲價,主機放在美國所以速度也普普,找了很久的虛擬主機…最後爬了幾篇文章,決定就來玩玩 Google 主機吧。
GCP 收費方案介紹
方案收費:目前GCP送一年$300美金的使用額度,以我們待會兒要建立的主機規格 “small” 來說,每個月費用是 $15.73 美金,因此絕對夠我們一年內不用付任何費用使用。
方案說明:臺灣彰化機房 / 1.7GB記憶體
至於更低的每月 $5 美金的微型(micro)方案,爬文後覺得不是很穩定,所以暫不選擇。
免費試用方案在到期後不會直接扣款,但註冊時仍必須寫信用卡資訊。$300美金額度到期後,在一定的免費使用額度內,可以終身免費使用。(詳細免費方案說明)
申請 GCP 帳號
GCP官網網址:Google Cloud Platform
按下申請後,建立一個專案
接著我們要從 Bitnami 直接申請,之後可以省掉很多架設FTP的手續
在 Bitnami 首頁搜尋 wordpress,選擇 WordPress with NGINX and SSL

請選擇一個登入方式,這邊的登入跟GCP帳號沒有關連,等等還要連結GCP帳戶

依照指示,選擇連結的 GCP 帳戶

接著會進入設定密碼的頁面,並選擇要使用的 Google 帳戶 (GCP會建立在這個帳戶下)
之後會回來這個購買方案的畫面:
- 按 Add Project,將剛剛在 GCP 建立好的專案加進來
- 硬碟若選擇左邊的SSD,每個月會多60塊左右台幣,網站也不大,所以選擇一般硬碟就好
- 硬碟大小,之後都可以自己再修改大小,所以先選擇10GB就好
- 由於系統會吃掉700MB RAM,所以 micro 的方案不敷使用,就選 small 囉
- 選擇映象檔,一定要選對,是 NGINX and SSL
- 主機位置,如果你的網站訪客大部分來自臺灣,就選 asia-east1 的機房,機房位在彰化
後面的 a,b,c 是指區域,建議選擇 a 或 b
這邊可以看詳細的主機位置說明

下一步就建立好 wordpress 囉!
左邊是你的網站前臺、後臺,後臺預設帳號跟密碼
記得先去新增一個新的管理員帳密,把預設的刪除吧
設定 FTP
回到GCP,從漢堡選單 – VPC網路 – 防火牆規則

建立防火牆規則
建立名稱: FTP
目標:網路中的所有執行個體
來源篩選器:IP範圍
來源 IP 範圍:0.0.0.0/0
通訊協定:指定 tcp 21

到漢堡選單 – VPC網路 – 外部 IP 位址

將「類型」從臨時改為靜態
名字隨便取自己看得懂就好
延伸閱讀:使用 Google Cloud Platform 雲端主機免費版架設 WordPress 教學

拿到固定(靜態)的 IP 位址後,將外部位址的 IP 設定到 DNS 裡的 A 紀錄中
等DNS生效,就可以透過 http://你的網址 連到網站了
進入 Bitnami 上方選單的 Virtual Machines ,會出現剛剛建立好的主機,將右邊的 .PPK檔案下載回來

後面的步驟,參考 [GCP] 透過Bitnami架設的wordpress,如何上傳檔案。 – Sammy’s Blog
打開 Filezilla / 上方選單:編輯 – 設定 / SFTP / 加入金鑰檔案
開啟剛剛下載的金鑰檔案 / 確認

打開站台管理員,新增一個FTP
協定:SFTP
主機:剛剛拿到的固定IP
登入型式:詢問密碼
使用者:bitnami
密碼:留空

出現輸入密碼視窗,直接按確認就好

WordPress 的檔案都在 /opt/bitnami/apps/wordpress/htdocs 目錄內
先不要關掉,等等還要回來
設定 SSL
回到GCP,從左上角的漢堡選單點入 – Compute Engine – VM執行個體
可以把這個功能釘選起來,會很常用到,比較好找

點進去你剛剛建立的 VM – 編輯
拉到下方,將防火牆的允許HTTP流量 / 允許 HTTPS 流量都勾起來

接下來,我們需要透過 SSH 安裝免費的 SSL Let’s Encrypt Certificate
左上角的漢堡選單點入 – Compute Engine – VM執行個體
在連接 – SSH 的右邊,有一個小三角形,選擇「在瀏覽器視窗中開啟」

在一片漆黑中,貼上這段指令碼 (可以用ctrl+v貼上)
sudo /opt/bitnami/letsencrypt/scripts/generate-certificate.sh -m <span style="color: #ff0000;">YOURMAIL</span> -d <span style="color: #ff0000;">YOURDOMAIN</span>
記得將紅色的地方分別改為你的 email,以及要安裝 SSL 的網址

開始安裝後,系統會在中途詢問幾個問題,都只要輸入 y 同意即可。
之後會自動更新憑證
也可以看 Bitnami 提供的影片操作:Auto-configure a Let’s Encrypt certificate
看起來很可怕的 SSH 只要安裝完這個就結束了,現在回到 wordpress。
不,並沒有,要讓 SSL 憑證自動更新,請繼續看下一篇文章:Google Cloud Platform Bitnami Let’s Encrypt certificates SSL 憑證自動更新
從 FTP 打開 wp-config.php ,找到 WP_SITEURL、WP_HOME,將原本的 http:// 改成 https://
存檔上傳

原本安裝完的 wp-config.php 檔案權限是 640,為了等等的外掛能正常使用,我們要先改成 664
在 wp-config.php 按右鍵,選檔案權限
下面數字改成 664
回到 WP 安裝外掛 Really Simple SSL ,啟用
啟用完就好了,不用多做設定

回到你的網站看,是不是已經順利變成 SSL 了呢?

更改網站為中文
到 wordpress 後臺,設定 / 一般 / 網站介面語言 / 往下捲看到繁體中文,選擇後儲存即可

移除右下角 Bitnami banner
用 Bitnami 安裝完成後,右下角會有一個管理banner

我們要回到剛剛漆黑的 SSH 小視窗
Ctrl+v 貼上 sudo /opt/bitnami/apps/wordpress/bnconfig --disable_banner 1<br>
做完這步,重整網頁就可以發現 banner 已經移除了
但官網說還要多做一個動作重啟伺服器,所以再貼上sudo /opt/bitnami/ctlscript.sh restart nginx
以上步驟只會移除角落的扛棒,原先banner連過去的文件,一樣會存在 http://你的網址/bitnami/index.html
非常謝謝您這系列GCP文章的教學分享
真的蠻詳細的
請問若是wordpress要搬家到GCP,是否依照這個流程,最後再透過FTP把檔案都上傳即可呢?
是的,但由於我沒注意這個安裝方式是否含有 PhpMyAdmin,可能資料庫搬移需要藉助一些外掛幫忙,這部分 WordPress 資源滿多的。
你好, 請問去到「點進去你剛剛建立的 VM – 編輯,將防火牆的允許HTTP流量 / 允許 HTTPS 流量都勾起來」這一步, 我的HTTP/HTTPS是沒法打勾的, 請問該如何解決? 謝謝:)
嗨,我推論是因為沒有進入真正的編輯頁面。
點入VM名稱之後,右上角還要再按一次「編輯」按鈕,才能真正編輯裡面的內容。
你好,感謝詳細的分享! 不過遇到了小問題:
我啟用really simple ssl後,回到網站後,chrome顯示為連線不安全,點開下面顯示:憑證(無效),再點開憑證,內容為: http://www.example.com 自簽根憑證,有一個小小警示寫”此憑證未經過第三方的驗證”,簽發人公司為bitnami…請問要怎麼解除這個問題呢? 謝謝
我沒遇過這樣的問題,簽發人應該為 Let’s Encrypt 才對,建議:
1. 參考這邊設定 Google Cloud Platform Bitnami Let’s Encrypt certificates SSL 憑證自動更新
2. 還沒解決的話,打開 Really Simple SSL 設定裡面的「偵錯」,看看是否有可用的錯誤資訊