Amazon Web Services(簡稱 AWS,亞馬遜網路服務系統)堪稱雲端運算的業界龍頭,也是網站或應用服務發展到最終階段開發者會考慮使用的服務之一,其他還有像是谷歌 Google Cloud Platform 或微軟的 Microsoft Azure 等等。在 AWS 上幾乎可以使用所有相關服務,彈性很高,可依照不同時間或目標需求來調整預算,讓資金充分運用在每一項資源,無須在前期投入大量成本建置平台,優勢不言可喻。
以往在 Amazon Web Services 上架站,我們會選擇 Amazon EC2 雲端虛擬主機,但對一般開發人員來說略顯複雜,上個月 Amazon 宣布推出自家虛擬專屬主機(VPS)服務「Amazon Lightsail」,讓產品線更完整,影響最大的可能是 DigitalOcean、Linode 和 Vultr 這些低價 VPS,勢必會搶佔到現有市場。
Amazon Lightsail 定價策略和它們相似,初始價格每月 $5 美元就有一台基本的虛擬伺服器可以使用,對於中小型網站來說綽綽有餘。
Amazon Lightsail 服務定位在為開啟伺服器提供更簡化的工作流程,尤其對想架站的朋友特別有用,以很低價格成本就能享受到專業、穩定及安全可靠的亞馬遜網路服務,目前只有單一美東節點可選擇,相信日後會逐步擴增到世界的其他節點(不過現階段的節點速度也不算太慢)。
我在實際使用過 Amazon Lightsail 後,發現相較於以往使用的 Amazon EC2 來說,它確實讓整體難度降低不少,如果你有使用過其他 VPS 服務的經驗,應該會覺得 Amazon Lightsail 很容易上手。它內建許多預設程式(Instance Image)可以快速安裝,包括 WordPress、LAMP、Node.js、Joomla、Magento、MEAN、Drupal、GitLab、Redmine 和 Nginx,也有純 OS 例如 Amazon Linux 和 Ubuntu。
但是,我在實際使用 Amazon Lightsail 安裝 WordPress 後發現仍然有些難度,因為亞馬遜服務預設是使用 SSH 公用密鑰(Public Key)來進行驗證,對一般習慣使用虛擬主機架站的朋友來說,可能還是習慣使用帳號密碼來進行驗證和登入,因此我決定搭配 ServerPilot 寫一篇教大家如何快速架 WordPress 教學文章,而且也好像很久沒有寫類似主題了。
順帶一提,Amazon Lightsail 並不是一項免費服務,但提供 $5 美元最低方案(512 MB 記憶體、CPU 一核心和 20 GB SSD 磁碟、1 TB 流量)一個月免費試用,只要註冊或登入你的 Amazon 帳戶即可,試用階段不會向你的帳戶扣錢,如果之後不想繼續使用必須手動停用。
目錄
ServerPilot 是在 VPS 架設 WordPress 最快的方法
ServerPilot 是一個很強大很好用的服務,它能快速在 VPS 或雲端主機上部屬 WordPress 網站,搭建出包括 Nginx、Apache、PHP-FPM 和 MySQL 架構,執行 PHP 5.4、5.5、5.6、7.0 和 7.1,並針對安全問題自動修補。如果你想使用 SSL ,也能付費後快速使用,真的非常方便,若不想折騰一些程式的東西,或者跟我一樣沒有技術背景,ServerPilot 就是你務必認識的工具。
以 Amazon Lightsail 設定預先的 VPS 環境
STEP 1
開啟 Amazon Lightsail 網站後,點選「Sign Up」註冊新帳號或點選「Log In」登入,若你之前使用過亞馬遜的其他服務,那麼該帳戶應該可以直接登入 Amazon Lightsail ,對於註冊部分我就不多做說明。
登入後,控制台沒有任何 VPS 機器,點選「Create an Instance」來開一台新的機器吧!
STEP 2
在選擇預設的映像檔(Instance Image)時,記得要切換到 Base OS 選擇「Ubuntu 16.04 LTS」,因為我們待會要用 ServerPilot 來部屬伺服器環境及安裝 WordPress。
STEP 3
選擇你要使用的 Amazon Lightsail 方案,前面有提過,它有提供最低價方案免費一個月試用,因此我們就選這個進行測試(如果之後你想要建置穩定的網站伺服器,可以再換成其他選項)。此外,下方還能設定你要使用的伺服器區域,現在只有美東可以選擇。
STEP 4
設定後開啟機器,Amazon Lightsail 就會幫你部屬好一台 VPS 囉!相較於 Amazon EC2 來說速度快了不少,而且省去很多複雜的前置設定,機器打開後會顯示分配到的 IP 位址(右下角)。
設定讓 VPS 防火牆擁有存取 HTTPS 權限
STEP 1
預設情況下 Amazon Lightsail 沒有開啟防火牆的 HTTPS(Port 443)存取權限,為了之後我們能在網站上走 SSL 協議,記得先把端口打開。點選剛開啟的機器右上角選單,選擇「Manage」。
延伸閱讀:
STEP 2
找到上方的「Networking」網路分頁,從下方「Firewall」防火牆功能進行管理調整,點選「Add another」找到「HTTPS」將它加入後再按右下角的「Save」即可完成設定。
以 ServerPilot 在 Amazon Lightsail 安裝 WordPress
STEP 1
前置作業完成後,接下來要進入本篇文章的重頭戲。
登入 ServerPilot(是的,你也是要註冊一個帳戶,但並不困難),登入後你目前沒有任何機器,一樣是點選「Connect a Server」來連結一台伺服器。
STEP 2
我們要使用手動安裝,因此 IP Address 和 Root Password 兩個欄位都「無須填寫」,只要勾選底下的選項「I don’t have a root password or public IP address.」,設定一下 Hostname 和 SFTP Password 密碼,點選最下方的「Connect to ServerPilot」。
ServerPilot 會丟出一串指令給你,先把視窗開著,稍後我們要複製這串指令,讓 ServerPilot 可以與剛才開好的 Amazon Lightsail 機器連結。
STEP 3
回到 Amazon Lightsail 後,從機器的詳細資訊頁面中,點選「Connect using SSH」來連線系統。
這是網頁版的 SSH 功能,連上機器後會看到指令列(Command Line),如果有經驗的開發人員應該知道要做什麼,將前一個步驟 ServerPilot 給我們的指令完整複製、貼上(Ctrl + V),就會進行一系列的安裝指令,記得兩邊視窗都不要關閉否則會發生問題。
當出現如下畫面後,你可以切換回去 ServerPilot 視窗看看。
STEP 4
ServerPilot 網頁會顯示目前正在進行設定及安裝,包括伺服器會用到的所有程式及安全設定,安裝畫面就跟一般在安裝軟體差不多,底下也會有進度列告訴你目前安裝進度,大概五分鐘內可以全部搞定!
完成後,點選「Create App」來建立你的應用程式(這裡是指 WordPress),因為 ServerPilot 剛幫我們部屬好伺服器環境,WordPress 程式則尚未安裝。
從 ServerPilot 設定第一個 WordPress 網站
STEP 1
點選「Create App」後,我們要開始建立第一個應用程式,也就是 WordPress,設定一下名稱(名稱部分必須要小寫字母、數字)及網域名稱,勾選 WordPress 後就能在下方設定網站的名稱、管理員帳號密碼和 Email ,這些稍後登入控制台都能夠變更修改。
最重要的是下方的 Runtime 執行環境、伺服器和使用者名稱,現階段建議使用 PHP 7.0 速度快而且更為安全穩定,Server 就選擇剛才設定好的主機,最後按下「Create App」即可立即將 WordPress 建立好。
STEP 2
一個動作就把 WordPress 架設好了,是不是非常簡單呢?不過別緊張,必須要先設定 DNS 讓你的網域名稱能對應到你的 VPS 主機才行。
STEP 3
因為每個網域名稱註冊商的設定畫面都不同,我就以 Google Domains 做簡單範例。
在網域名稱伺服器設定裡設定一個 A 記錄,把網址指向 Amazon Lightsail 的伺服器 IP 位址(不知道 IP 的話可以回到 Lightsail 控制台,主機右下角就會有 IP 位址),通常我也會習慣加上一個 CNAME 記錄將 www 指向同一個網域名稱。
STEP 4
當網域名稱的 DNS 記錄生效後(大約要 24-74 小時),就能從瀏覽器存取到你的 WordPress 網站,而這網站也是在 Amazon Lightsail 的 VPS 伺服器運作,速度還蠻快的,預設是英文版,可以點選右側邊欄的「Log In」登入 WordPress 控制台,帳號密碼是什麼呢?就是剛才建立應用程式時設定的帳號密碼組合。
登入後,從左側選單列的「Settings – General」找到「Site Language」,選擇「繁體中文」就能自動下載對應的中文語系,讓你的 WordPress 變成中文版囉!
STEP 5
如此一來你就有了一個自架的 WordPress 網站,架站是不是一點也不難呢?只要熟悉這些工具使用,其實真的相當簡單!不過難就難在後續維護,因為可能會碰到諸多問題,架好網站是個學習的起點,代表學習之路還非常漫長,還好 WordPress 使用者很多,網路上的教學資料也很好找,近年來中文的資料也越來越多囉!
開啟 SSH(SFTP)連線到 Amazon Lightsail 權限
STEP 1
預設 Amazon Lightsail 並不允許使用者以密碼方式來登入 SSH、SFTP,因此只能用公開金鑰方式存取,這個方法相對來說更安全一些,不過可能很多人不知道應該怎麼使用,仍習慣以一般帳號密碼來登入主機,沒關係,如果你有這樣的需求,還是可以把帳號密碼驗證功能打開。
依照 ServerPilot 說明文件,先登入你的伺服器,然後輸入以下指令:
sudo vi /etc/ssh/sshd_config
找到 PasswordAuthentication 這行,把它從 no 改成 yes 後儲存,然後再執行以下指令:
sudo service ssh restart
讓機器重新啟動,即可開啟以帳號密碼登入 SSH、SFTP 權限(至於指令列的編輯器怎麼使用,我就不做介紹了,可以上網 Google 一下操作說明)。
以上就是我嘗試以 Amazon Lightsail 搭配 ServerPilot 來快速架設 WordPress 網站的教學,希望從這篇簡短的文章中能帶領使用者摸索這項亞馬遜的全新 VPS 服務!我本身也累積一段時間的 ServerPilot 使用經驗,對於這項服務穩定性及安全性都有相當的把握,用來管理 VPS 主機是個很可靠且易於上手的選擇。
開始架站了嗎?你可以從「架站教學」標籤裡找到更多相關教學文件,或者分享你在 Amazon Lightsail、ServerPilot 等工具的使用經驗。