WordPress / 快速架站教學:在 Google Cloud (GCP) 台灣主機上免費架設 WordPress Bitnami

WordPress / 快速架站教學:在 Google Cloud (GCP) 台灣主機上免費架設 WordPress Bitnami

本篇快速架站教學是給已經熟悉 GCP、Linux 指令、Apache Server 和 WordPress 的朋友一個快速查詢指令與設定方式的文件,省略所有細節的解說直接把指令和參數一個步驟、一個步驟詳列出來。也可以搭配教學系列的文章閱讀,查詢詳細的說明。 環境說明與範例假設 在所有的教學文章當中,我們都是用 WordPress Bitnami 架設網站,目前 (2019.09) 的作業系統是 Linux Debian 9,並且使用 Google Cloud Platform (GCP) 的伺服器架設,目前有第一年免費試用的額度可以使用。主要架站的步驟大約是: 建立 GCP 專案並佈署 WordPress Bitnami,並安裝 Google Cloud SDK 以 SSH 連線的方式控制遠端伺服器 架設 FTP Server 更改 MySQL Administrator 密碼、設定外部靜態 IP 位址 設定 Domain Name 及 Apache Server 參數 申請 SSL 憑證,建立網站加密連線   步驟一:使用...

WordPress / 多重架站三:設定 SSL 加密連線 (以 Apache 為例)

WordPress / 多重架站三:設定 SSL 加密連線 (以 Apache 為例)

設定完各網站的網址之後,接著就要來設定 SSL 連線。他的設定方式與單一 WordPress 的設定方式幾乎相同,關於 SSL 的詳細說明可以參考 WordPress / 架站教學五:設定 SSL 加密連線,讓網站連線更安全 (以Apache為例) ,本篇就不再多做說明。 申請 SSL 憑證 本篇教學是用免費的 Let’s Encrypt 申請 SSL 憑證。 ▍安裝 Lego Client 下載 Lego 安裝檔,放在 /tmp 當中。並以 ls 指令確認下載回來的版本,像我下載的是 lego_v3.0.2_linux_amd64.tar.gz。 記得把 X.Y.Z 換成你所下載的版本、解壓縮,建立資料夾並將 Lego 移過去。 ▍停用 Apache server ▍產生密鑰並向 Let’s Encrypt 申請憑證 將 EMAIL-ADDRESS 改成你的 email。將 DOMAIN 改成你要申請的網址,可以同時申請多個 domains,以--domains="DOMAIN" 作為參數放進去即可。Lego...

WordPress / 多重架站二:設定 Domain Name,指定多個 WordPress 的網址 (使用subdomain)

WordPress / 多重架站二:設定 Domain Name,指定多個 WordPress 的網址 (使用subdomain)

架設好第二個網站之後,預設是用子目錄的方式連結到網站。到底該用子網域還是子目錄作為新網站的網址好,這會考量到 SEO、品牌經營、網站結構或甚至個人偏好等眾多因素。另外,SSL 加密連線也是現在網站必備的安全性設定。如果有看過 WordPress 系列的架站教學,我提過好多次由於 Bitnami 對系統的優化及模組化管理的考量,讓整個 Apache server 的參數設定疊床架屋,變得非常複雜。接下來兩篇教學會告訴你如何正確的設定 domain name 和 SSL 連線,步驟其實非常簡單,只是當初我花了非常多的時間爬了很多文件和參考資料,try and error 最後才成功的設定。 網站的 Domain Name 設定,採用子網域 設定 domain name 主要只有四個步驟:取消預設 prefix 模式 → 引入各網站的 virtual host 參數檔案 → 設定個網站 virtual host 參數 → 更新 WordPress 參數及資料庫 環境說明 伺服器架設在 Google Cloud Platform (GCP) 使用 WordPress Bitnami 部署 網站根目錄位置:主站:/opt/bitnami/apps/wordpress副站:/opt/bitnami/apps/newblog Domain...

WordPress / 多重架站一:如何在同一個伺服器架設第二個 WordPress (Multiple WordPress,以 Bitnami 版本為例)

WordPress / 多重架站一:如何在同一個伺服器架設第二個 WordPress (Multiple WordPress,以 Bitnami 版本為例)

如果你想要架設兩個甚至更多個 WordPress 網站,有 Multiple WordPress 和 WordPress Multisite 兩種選擇。本篇建議使用 Multiple WordPress 架設多個 WP 網站,以下會先稍微比較一下兩種版本的差異,接著教學 Multiple WordPress 的安裝方法,以 Bitnami 的版本部署在 GCP 上為例。 Multiple WordPress 和 WordPress Multisite 的差異 Multiple WordPress 和 WordPress Multisite 雖然字長得很像,但由上圖應該可以清楚的看出兩種網站截然不同的結構。 WordPress,原生 WP 的版本之一 首先先提一下 WordPress Multisite (右邊),如果你上網搜尋架設多個 WordPress 肯定會找到很多關於 Multisite WordPress 的資訊,那是因為在原生的 WordPress 當中分為一般的 (Single) WordPress 和 WordPress Multisite 兩種版本。Single WordPres...

WordPress / 架站教學五:設定 SSL 加密連線,讓網站連線更安全 (以Apache為例)

WordPress / 架站教學五:設定 SSL 加密連線,讓網站連線更安全 (以Apache為例)

前面有提到關於 WordPress 網站連線有兩件重要的事,一是 domain name 網址的導引,這在前一篇已經談過。本篇要來談另外一個重要的事情,那就是網站的安全性。 SSL 憑證與 https 加密連線 早期的 http 連線是瀏覽器存取網站的通訊協定,最早期是在 1898 年由歐洲核子研究組織 (CERN) 所提出,在當時這樣的通訊協定已經可以滿足通訊的需要。http 它是一個沒有經過加密的明文通訊傳輸,隨著網路的發展以及駭客們的鼓勵 ?! 安全性的問題日漸被重視。 明文通訊的資安風險非常的高,因為你無法得知和你通訊的人 (伺服器) 是不是你想像中應該的那個人?而伺服器也無法得知目前的 client 端是否是可以信任的那個人?就算雙方身份都正確,亦無法確認你們兩個之間的通訊是否有被擷取、竄改、攔截。所以 https 就這麼誕生啦~ https 的全文是 HyperText Transfer Protocol Secure,安全超文本通訊協定。和原始的 http 不同的地方是,它透過雙方的認證 (handshake,交握) 過程,確認彼此的身份,並藉由 SSL 或 TSL 憑證加解密通訊內容。 所以簡單來說,申請了一份 SSL 憑證就能讓伺服器以 https 的方式通訊,讓網站的連線更加安全。 SSL 連線的基本流程概述 在建立 SSL 連線前,首先要先知道一個重要的角色以及幾個檔案: CA (Certificate Authority,憑證簽發機構) CRT 憑證 (也就是...

WordPress / 架站教學四:設定 Domain Name 及 Apache 參數 (單一WordPress)

WordPress / 架站教學四:設定 Domain Name 及 Apache 參數 (單一WordPress)

關於連線到我們網站的網址,有兩件重要的事情要設定:指定 Domain Name和設定安全的 SSL 連線 (下一篇)。 本篇前半段花了一些篇幅簡單介紹了 domain name 和 DNS 的運作方式和基本需要知道的概念,如果讀者已經對這部分熟悉或是就想直接查詢設定方式可以直接跳到 指定 Domain Name 給本地端 server 這一節。 另外,架站教學系列是針對單一 WordPress Bitnami 的教學,多站 (Multisite WordPress) 的設定會遠比單一網站複雜得多,可以參考多站教學系列文章。 Domain Name 簡介 在網路的世界當中 IP 位址就好像是每個裝置的地址,但那是給電腦看的,要人類記得一長串的數字 xxx.xx.xx.xx 實在是不容易也不好辨識,所以才有了 Domain Name 的出現。Domain name 就像我們常看到的網址,通常是由一個 domain 加上尾綴組成,像是 .com, .org, .com.tw, .co.uk 等等。 以這個網站為例,charlestw.com 就是我的 domain name。那麼前面的 note 呢?它就是 sub domain (子網域)。在註冊網域名稱的時候,只會註冊後面的...

WordPress / 架站教學三:更改 MySQL Administrator 密碼、設定外部靜態 IP 位址

WordPress / 架站教學三:更改 MySQL Administrator 密碼、設定外部靜態 IP 位址

這一篇要討論的是關於一些安全性相關的設定。在前兩篇當中我們已經架設好我們的 WordPress 網站,不過看一下 GCP 的控制面板,還是有一些提示建議我們去做的:更改暫時性的密碼、設定外部的靜態 IP 位址。 更改 MySQL Administrator 的密碼 這裡指的暫時性的密碼,並不是我們前面更改過的 WordPress 預設 user 這個使用者的密碼,而是這個 server 的 root 密碼,也就是 MySQL Administrator 的密碼,預設也是面板上的那一組 Admin password (Temporary)。 在 Bitnami 建立的環境下,很方面的是很多常用的功能都已經被寫成 script 腳本,我們只需要執行腳本、加入參數,就能完成原本麻煩的步驟。根據官方文件的說明,更改 root 密碼只需執行一個腳本即可。 ▍ 首先我們先用 SSH 連上主機,並輸入以下指令: 前面的路徑是 Bitnami stack 的安裝路徑,如果你沒有特別更改過,上面這就是預設的路徑。後面的 theNewPasswd 則是新的密碼,這邊替換成你自己的新密碼。 按下 Enter 之後必須再輸入一次原始的密碼,root 密碼就更改完成啦! 關於更改 root 密碼的詳細說明可以參考官方文件:Modify the MySQL Administrator Password...

WordPress / 搬家教學:一個按鍵幫網站搬家,使用 All-in-One Migration

WordPress / 搬家教學:一個按鍵幫網站搬家,使用 All-in-One Migration

幫整個網站搬家其實是一件非常繁雜的一件事情,除了搬移 server 上的那些前後端檔案之外,還有整個 Database 的搬移。這中間還牽扯到 IP 位置的更改、domain name 映射、相對目錄的設定等等。即便是老手也有可能不小心就破壞到了原始資料,輕則要花很多的時間 debug,重則直接造成不能挽救的慘劇。 除了記得在搬家之前做備份好之外,還好 WordPress 有提供內建的搬家工具,也有人提供搬家的 Plugin 可以使用,讓網站搬家這件事變得非常容易。 目前比較多人使用的工具有 WordPress 內建的 Export & Import 工具、Duplicaotr 和 All-in-One Migration 這兩個 Plugin。WordPress 內建的輸出/輸入工具非常好用,可以把大部分的文章內容搬到新的網站去,不過他沒辦法把整個網站一模模一樣樣的重現,只能算是幫內容複製貼上而已。 本篇文章要使用的是 All-in-One Migration,它的使用方式非常簡單,只需要幾個按鍵就能完成。目前它的免費版在輸出/備份功能沒有任何限制,不過在輸入功能有檔案大小的限制,官方最大可以支援到 512 MB。 步驟一:安裝 All-in-One Migration 並提升檔案上限 1. 安裝 Plugin 在本文撰寫的時候,Bitnami 版本的 WordPress 已經有先預設安裝 All-in-One Migration,你只需要在 Plugin 設定當中啟用他就可以了。如果沒有的話,就去搜尋此一套件安裝,啟用它之後就會在左側面板看到選項。 記得新舊網站都要安裝喔!舊網站要用來輸出、新網站要用來輸入。 2. 增加免費版的檔案大小限制 就像文章開頭說的,免費版的輸出/備份功能使沒有檔案大小的限制,但如果你要將你備份好的網站整個輸入到另一個 server 上,他預設只有...

WordPress / 移除 Bitnami 圖示

WordPress / 移除 Bitnami 圖示

用 WordPress Bitnami 架設的網站預設右下角都會有一個 Bitnami 的圖示,它叫做 Bitnami Info Page Banner。點擊它會進入 Bitnami 的說明文件,告訴你一些實用的功能,不過在那邊顯然是有點礙眼。好在的是,Bitnami 也沒有這麼霸道,它是能直接下個指令移除的。 移除 Bitnami Info Page Banner 首先,要先用 SSH 登入我們的 server。如果還不知道怎麼登入的話,請參考這篇WordPress / 架站教學二:透過 SSH 連線遠端控制 GCP 並設定 FTP 伺服器 (使用 WordPress Bitnami)。 登入主機之後,輸入下列指令執行 bnconfig : 紅字的部分是 WordPress 的根目錄位置,這是預設的位置。如果你是直接在 Marketplace 安裝 WordPress Bitnami 那麼就會是這個目錄。 參數 –disable_banner 設定 Bitnami Info Page Banner 是否要顯示出來,預設是 0 會顯示。我們把它設定為...