[教學] 使用 Openshift (v3) 架設 WordPress

之前有和大家分享過在 Openshift (v2)上架設 WordPress 的方法,改版之後,就沒那麼容易了

[教學] 在 Openshift 上架設 WordPress+自訂域名

比起第二版的 WordPress 部署方式,第三版目前尚無自動化安裝腳本,安裝起來稍微複雜些。不過,你不用擔心,以下的教學都將採用圖形介面操作,假如真的遇到問題,再去研究文字指令怎麼使用,文末也附上遇過的問題與大家分享。

溫馨提示:不推薦拿來做為正式用途,因為新版平台類似 Heroku,有 30分鐘休眠限制,且容器內部 IP可能會因為重新啟動而變更,您需要自行修改 YAML 檔,避開這樣的問題。

準備開始

安裝開始前,你需要知道 Openshift (v3) 底層是容器,使用 Kubernetes 進行管理,在這樣的架構下,每個應用程式被獨立開來,專注做自己的事,當問題發生的時候,可以個別重新啟動,或是更進一步的診斷。

那麼我不懂容器,不懂 Kubernetes,我只想裝 WordPress,可以嗎?

可以的,你應該知道 WordPress 是由 PHP 語言與 MySQL 資料庫搭建而成的部落格系統,需要有個 PHP 環境跑 WordPress ,再加上 MySQL資料庫儲存我們的資料

我們使用 Openshift 提供的免費資源來架設,他提供 1GB 記憶體與 1GB 儲存空間,運行速度比起第二版快很多,但是有資源休眠的限制 (Resource Hibernation),假如你的應用程式 30 分鐘內沒有動靜,那麼就會進入休眠狀態,而且每 72 小時,必須要休眠 18 小時。


Step1 註冊 Openshift (v3) 帳號

進入 Openshift 註冊帳號,就不贅述囉

https://manage.openshift.com/
o3s2 - [教學] 使用 Openshift (v3) 架設 WordPress

Step2 建立 Openshift 專案

登入主控台後,新增一個專案

os newpj0 - [教學] 使用 Openshift (v3) 架設 WordPress

輸入你的專案名稱,需要是獨一無二的喔,無法用別人用過的名字

os newpj - [教學] 使用 Openshift (v3) 架設 WordPress

Step3 建立 MySQL 應用程式

新增專案後,會直接導向這個「新增應用程式」頁面,或是點擊導覽列中的「Add to Project」

因為 Openshift 官方有提供 MySQL 映像檔,我們就直接拉過來用,所以直接在「Deploy Image」中,選擇「Openshift」,接著選 「MySQL 5.7」。名字取個看得懂的就可以了,例如我給他起個名字叫「mysql」

mtsql22 - [教學] 使用 Openshift (v3) 架設 WordPress

往下滑,有個環境變數設定,要自己加上這些參數 (帳號、密碼與資料庫名稱),以免待會資料庫跑不起來。

MYSQL_USER 使用者名稱
 MYSQL_PASSWORD 使用者密碼
 MYSQL_DATABASE 資料庫名稱

這需資訊要記住唷,待會安裝 WordPress 會用的到

mtsql3 - [教學] 使用 Openshift (v3) 架設 WordPress

完成之後,看看你的主控台上是不是出現 MySQL 了呢

mtsql23 - [教學] 使用 Openshift (v3) 架設 WordPress

正常應該是藍色圈圈 (預設 1 pod),如果出現紅色或是跳出警告訊息,請看下方疑難排解


Step4 建立 WordPress 應用程式

接著,我們透過 GitHub 上的程式碼來部署 WordPress。點擊導覽列中的「Add to Project」
這次我們選擇「Browse Catalog」標籤,並點擊 「PHP」執行環境

php0 - [教學] 使用 Openshift (v3) 架設 WordPress

選第一個,Bulids source code

php1 - [教學] 使用 Openshift (v3) 架設 WordPress

起個名字之後,貼上下方 WordPress 的 GitHub位置。之後系統就會去拉原始碼,自動建立應用程式

https://github.com/wordpress/wordpress
php2 - [教學] 使用 Openshift (v3) 架設 WordPress

給他點時間建置,之後你就能在主控台看到兩個應用程式。點擊 WordPress 右方的網址,就能進入你的網站囉 (如果打不開,請再給他點時間做  routing)

wp55 - [教學] 使用 Openshift (v3) 架設 WordPress

Step5 安裝與設定 WordPress

接下來就是設定資料庫資訊了,讓 我們的wordpress找的到 MySQL。點擊「Let’s Go」

os3 wp1 - [教學] 使用 Openshift (v3) 架設 WordPress

請輸入剛剛在環境變數中給的帳密以及資料庫名稱,資料庫主機 (Database Host) 請填 MySQL 應用程式的內部 IP 位置,而 Table Prefix 不用更動

wp connect - [教學] 使用 Openshift (v3) 架設 WordPress

那麼,MySQL 應用程式的內部 IP 位置在哪裡呢?

Application -> Pods -> mysql-xxxxx

在狀態表中可以看到內部 IP 位置,把這個 10.xxx.xxx.xxx 複製過去就對了

pod - [教學] 使用 Openshift (v3) 架設 WordPress

接著就是傳統的安裝步驟了,輸入部落格帳密、設定電子郵件等等

os3 wp4 - [教學] 使用 Openshift (v3) 架設 WordPress

完成囉

wp445 - [教學] 使用 Openshift (v3) 架設 WordPress

疑難排解

1. 甚麼是 Kubernetes

請參考相關介紹與教學文章

2. MySQL 應用程式架設不成功

假如架設出現問題,出現紅色圈圈,就要檢查紀錄訊息了,好在網頁介面可以直接看

mysql failed - [教學] 使用 Openshift (v3) 架設 WordPress

請進入以下位置查看原因。好比下圖是忘記設定環境變數,出現的提示訊息

Application -> Pods -> mysql-xxxxx -> Logs
openshift3 error2 - [教學] 使用 Openshift (v3) 架設 WordPress

這部分需要自行修改 Deployment 中的 YAML 設定檔,重新部署。假如砍掉重練,只透過圖形介面沒辦法刪掉現有的部屬設定,要安裝 Openshift的 CLI 工具,透過 oc 指令修改。


參考資料

Jerry
Jerry

樂於分享的軟體工程師,曾在新創與大型科技公司實習,獲得黑客松競賽冠軍,擔任資安研討會講者。長期熱衷於資訊安全、雲端服務、網路行銷等領域,希望將科技知識分享給更多人。內容轉載請來信:jlee58tw@gmail.com

18 則留言

    • Hi Beneb,

      你可以依照我文章中的說明檢查看看有沒有錯誤訊息
      我想應該是有設定沒有做好
      試試看吧~

  1. 請問如果已經在Openshift V2版有wordpress網站,該如何搬家到新版V3網站?
    是否有快速的wordpress搬家法?
    似乎近期要刪除V2了…
    謝謝

發表回應