【網站開發】使用Bitnami佈署WordPress於Google Cloud Platform

  Bitnami是個雲端套件佈署平台,亦即它幫忙把許多專案打包成套件,以最簡單的方式自動佈署至指定的雲端平台,使用者可以花費最有效的功夫達成最終需求。Bitnami提供的套件與支援的平台相當多,我想自己到官網上去看一下應該就知道有支援哪些東西了。

  在上一篇中,我提到如何在Google Cloud Platform設立虛擬機,由於我最終目的是在虛擬機上架設Wordpress,所以這一篇將說明如何架設Wordpress。要架設Wordpress其實也沒什麼難度,也就是安裝好Apache和MySQL,把Wordpress上傳上去,一切大功告成。所以說,在GCP上直接透過幾行簡單指令碼,也能全部達成。可是我這人就是懶,寧可依靠自動佈署比較保險,也不想自己安裝。

  首先,GCP上其實就有Cloud Launcher可以佈署各種專案,而且種類還算滿多。如果搜尋Wordpress,會發現有很多種Wordpress。啊勒,那我到底是要裝哪種Wordpress呀?先來說說Wordpress本身的類型。Wordpress其實分為Wordpress和Wordpress Multisite,前者為傳統的單一網站,後者為一個管理者管理多項網站,其實我是到最近才發現原來Wordpress還有分這兩種類型。如果只是要開發一個網站,當然是只要安裝傳統類型就可以了。我也有將Wordpress Multisite下載下來玩玩看,功能確實強大,但domain mapping卻怎麼樣也搞不定,所以最終我放棄,不同的兩個網站我還是分別裝兩個傳統型Wordpress好了。

  針對Wordpress(名字後面沒接任何東西),又分Google Click to Deploy和Bitnami兩種佈署方式。你可能又有疑惑了,這兩種有什麼差別?其實點進去看看就知道了。

  上面兩張圖,前者是Google Click to Deploy,後者是Bitnami,可以看見兩者裝得軟體不太一樣。Google Click to Deploy只裝了最基本的Apache、MySQL和PHP,Bitnami還裝了一堆奇奇怪怪的東西。聽起來我只要用Google Click to Deploy就好了,根本就不想再裝更多奇怪的東西。

  一鍵安裝好後,系統便會自動告知管理登入帳號與密碼。順道一題,上圖只是我為了撰寫此篇文章,臨時創設的虛擬機,所以帳號和密碼直接貼出來也無妨,現在想連進去也連不上囉。

  既然Google Click to Deploy已經如此方便,那麼為何還需要Bitnami呢?如果你的Wordpress是從零開始,那麼用Google Click to Deploy也就夠了,但我的需求是從別的網站將MySQL與自製佈景匯入,就必須使用到FTP上傳。MySQL匯入還沒什麼問題,登入phpmyadmin後直接把備份好的MySQL匯入,再稍微修正幾許,一下就完工了。最大的問題在於想將佈景上傳的時候,FTP權限一直出現問題。

  前面的文章提過,Cloud SDK所產生的金鑰只允許上傳檔案至「\home\使用者名稱」,其他地方通通都permission denied。但這類自動佈署所安裝的Wordpress都安裝在/opt/local/apache2/htdocs/之類的地方,我要上傳佈景檔就必須將檔案放到Wordpress的/wp-content/themes/下,雖然也是可以從Wordpress的後台上傳壓縮檔,或是透過FTP上傳到「\home\使用者名稱」再用指令碼介面的sudo mv來搬移檔案,但是都太麻煩,且對以後更新檔案不符合效益。在研究了半天老是遇到permission denied後十分火大,深知我編輯Wordpress內的所有檔案,就必須擁有Super User的金鑰才行。

  Cloud Launcher上無論Google Click to Deploy還是Bitnami,貌似都不給金鑰,必須自行以Cloud SDK產生自己的金鑰才能上傳檔案,而這個金鑰又受限於只能對「\home\使用者名稱」進行操作。因此最終我決定直接從Bitnami網站佈署Wordpress。

https://google.bitnami.com/

  直接從Bitnami網站佈署到GCP,作法和Cloud Launcher執行Bitnami套件相同,但Bitnami網站介面顯然更加親民,更重要的是當佈署完成後,在上圖虛擬機管理介面上就直接提供了管理者的金鑰(.PEM、.PPK)了,真是佛心來著。我先前用Cloud SDK產生金鑰因為permission denied氣得半死,換成以Bitnami產生的金鑰直接導入FTP軟體中,一切搞定,多麼美好啊。除此之外,直接打開網站前台、後台管理介面、SSH指令碼介面、虛擬機重開機和刪除等等,都能直接在Bitnami網站管理介面上直接操作,簡易到讓我有點良心不安。有了Bitnami網站簡易自動佈署,我為何還要使用比較不方便的Cloud Launcher呢?

  那麼安裝好Wordpress還需要注意什麼,以及SSH該如何設定,那又是另一場惡夢了,這就在下一篇文章說明。