WordPress 是多年來很受歡迎的架站軟體,或稱內容管理系統,網路上也有各式各樣的架站教學,而大部分的教學都是訂閱代管廠商的主機。比較少分享「使用完全屬於你自己的主機」來架站,什麼意思呢?
代管廠商例如 Bluehost、Cloudways 等等,你是用他們提供的網頁介面來管理主機,但如果你本身是對系統管理有一些基礎的工程師,你可能會想要直接 SSH 進去主機管理底層的設定檔、調整成自己想要的規格(而非廠商綁定的規格),或是用不到的時候,直接關機省錢,因為代管廠商一次綁一年才有優惠,但你有可能3個月就不用那台機器了,但是你當初可能已經一次付清一整年的費用,反而讓你花更多錢。
這樣的話,找一台完全自己控制的主機會比較適合你,而 GCP 雖然提供的是「從頭到尾自建」的主機功能,你要自己安裝 WordPress 的相關軟體。但是!!其實它也有非常多免安裝的選項,光是 WordPress 就有好幾種,讓你連安裝都不用,只要在頁面上設定一下就可以直接開始使用了!
以後主機有問題,可以直接 SSH 連進去查,如果要增加記憶體,主機關機調一下就可以馬上打開,或是網站突然不想再用,你可以關機或直接刪掉,之後每個月都不用再付錢,如果你是初學者,網站沒什麼流量,你也可以選一個「超級便宜的小機器」來用,整個就是非常省錢喔!
在 GCP Console 上有一個 Marketplace 選單

進來之後,你會看到很多第三方廠商,或是 Open Source 組織提供的各種軟體或工具,點擊虛擬機器:

會看到很多「已經裝好軟體的 Image」,或是其他第三方的「作業系統」:

我們就不慢慢找了,直接使用搜尋引擎輸入 WordPress,按下 Enter,你會看到非常多可以用的版本,先點第一筆進去看看:

你會看到這個版本是由哪一個廠商所提供,還有作業系統版本,以及套件內容的相關描述:

重點是要再往下滑,你會看到價格資訊,除了原本 VM 的價格之外,它還有授權費喔!所以一定要看清楚!

既然如此,我們就退回上一頁,找免費的。
但我們不用一個一個點開來看,它很貼心地提供過濾器:

現在看到的,就是真的免費的版本,而且還是正宗 WordPress 原廠的喔!我們就把上面兩個版本點開來看:

你會看到左邊 Multisite 版本,顧名思義,它讓你建置多個網站,所以它給你 2 vCPU和 8GB 記憶體的規格,費用就比較高;右邊則是單一 Site, 1 vCPU和 2GB 記憶體的規格,費用自然就低很多。那我們就點擊「啟動」:

進來之後,可以設定主機名稱、資料中心、管理員 Email,更重要的是,你會發現它的規格還是可以再調整的:

那我就真的把它調到最小 N1系列的 f1-micro,每個月只要 5.59 美金,便宜啦!

再往下看到更多,它還讓你勾選安裝 phpMyAdmin,超方便的!
左邊有列出詳細的作業系統、軟體套件和版本。下方再給你選擇 Disk 的類型和大小,建議可以先選大一點,如果你上傳很多圖片的話,空間很快就滿了喔!!(雖然事後可以再調,但是先調大一點還是比較好,不要省那個錢)

再來是 VPC,它會先帶預設的 VPC,若有額外需求再調整。
往下是防火牆,它列出 HTTP 和 HTTPS 的選項,但是因為現在大部分瀏覽器都要求 HTTPS,如果只有 HTTP,瀏覽器會有一些警告標示,你可以選擇不開 HTTP。
(現在還不確定它有沒有自動把 HTTP 導向 HTTPS 的功能,晚一點可以再確認)
IP的部分,因為網站是要讓全世界來存取的,所以就直接設 0.0.0.0/0 即可。

最後,Stackdriver Logging 和 Monitoring 其實就是 Cloud Logging 和 Cloud Monitoring,為了維運和監控,請務必勾選喔!!
然後我懷疑它是不是有打錯字哈!

接下來你會看到它有一連串的動作,看它在那邊跑,莫名有種爽快的感覺!
要特別注意,它很貼心地給你 MySQL和 WordPress 的臨時密碼,要記得改喔!!

等它跑完,GCP 給主機一個 IP 位址,但左邊有一個警告訊息,先看警告好了 (我猜是不是主機規格開太小之類的):

它是說 Runtime Config 這個服務是 Beta 版,不保證何時 GA。反正我們只是測試,就不用理它。

那我直接點 IP 看看,再點這裡可以返回剛剛的頁面:

然後點右邊的 IP,結果!!

其實這是正常的,因為 HTTPS 是要有一個正式的憑證,瀏覽器才不會有警告的,那我們就點「進階」,然後點「繼續前往」:

哇!真的看到首頁了,好感動!

那我再點 Admin URL 呢?
有耶,管理員登入頁面也出現了!

進來了!太神奇了!它還把我大頭照直接帶進來 XD,不知道它怎麼做到的!

先回到 GCP 頁面,再看一下有沒有什麼細節要注意的:
首先它有 SSH 的按鈕,表示你除了從網頁管理 WordPress 之外,也可以直接進入它的底層來操作喔,但如果對 WordPress 底層不熟,建議還是不要亂來 XD!

再來去 phpMyAdmin 看看:
哇!

我猜是剛剛 HTTP 沒有勾,它有提示以下指令可以把 HTTP 打開:
gcloud --project=dong-dong-gcp-2-bigquery compute firewall-rules create "wordpress-1-tcp-80" --network https://www.googleapis.com/compute/v1/projects/dong-dong-gcp-2-bigquery/global/networks/default --allow tcp:80 --target-tags "wordpress-1-deployment"
那我就點擊右上角,把 Cloud Shell 開起來:

等它開起來後,把指令貼上後按 Enter,它很快就完成了:

再進去一次,有耶!真開心!

先到這裡,注意前面還有一個提醒,”Assign a static external IP address to your VM instance”,它可能表示目前 GCP 分配給主機的 IP 是臨時的,也就是說如果我們關掉重開,它的 IP 是會改變的,那每次我們連進 Console 的話,都要手動改 IP。
這還只是小問題,重點是 DNS,如果 IP 一直跳,那 DNS 就要一直改,這就麻煩大了,所以我們必須把 IP 改成固定的。
我們回去 GCP Console 看看:

找到了,我把它升級為靜態 IP:

它跳出視窗,要我們給它取名:

完成了,這一筆跑到最上面,而且 IP 沒有變動喔:

好,先這樣。
憑證的問題,我們就搭配 《004 零基礎快速建立 GCP 負載平衡器 Google Http Load Balancer 和 Google 自動更新的免費SSL憑證》
整個看下來,除了 HTTP 我忘記設定,所以要打指令去調整之外,其餘相關軟體都不需要手動安裝,真的是超方便呢!
最後提醒,因為是自建的,就沒有客服給你問了喔,一切都要靠自己 XD !
大家有空快來試試看吧!