ServerPilot 是一款和傳統需要安裝在本機上不同的次世代面板, 本質上就是 SaaS 的雲服務, 專為優化雲端主機或 VPS 而設計, 能夠輕鬆建立網站或 PHP 的應用、每日會自動升級軟體、利用防火牆自動保護主機、監控主機的執行狀況, 操作介面十分乾淨簡潔 。

當 ServerPilot 一但主機和連線之後, 就會自動為主機安裝 PHP、 MySQL、Nginx、Apache 搭配 PHP-FPM 等套件. 它對 Git、PageSpeed、SPDY 等之外還有一大堆的應用都很友善, 若有需要安裝其它套件時, 只要按照官方說明文件, 就能很輕鬆的自行安裝。

使用 ServerPilot 前, 需要注意它只能安裝在運行 Ubuntu 的主機上, 其它的系統很抱歉, 絕對沒機會使用. 傳輸檔案也只用較安全的 SFTP 協議, 所以要連上主機前, 需要先準備好一組加密金鑰.

費用的部分有三種, 免費、$10/月、$49/月, 可自行參考有什麼差異, 若用免費的 Plans 也能滿足基本的建站需求.

接著將介紹如何用 ServerPilot 建立 WordPress, 官方推薦使用 Digital Ocean 的主機來得到最佳的使用體驗, 所以我試裝在 DO 512 RAM 的 Droplet 上, 域名用 cloudwp.org, CPU型號是 [1核] Intel Xeon CPU E5-2630L v2 @ 2.40GHz.

章節

安裝 ServerPilot安裝 WordPress設定 SFTP安裝 phpMyAdmin

安裝 PagespeedNginxApachePHPMySql

FirewallSPDY

安裝 ServerPilot

ServerPilot 是屬 SaaS 服務, 原理是以連線方式來遠端控制主機, 並不會將面板安裝在主機上, 所以當要增加網站或是資料庫等設定時, 需要登入 ServerPilot 官網上的個人帳號中執行. 在同一個帳號中, 可以添加無數的主機. 若是付費使用時, 二台主機則需二筆的使用月費.

啟用 ServerPilot 前,需先至官網註冊取得新帳號.
網址: https://serverpilot.io

  • 取得帳號後進入設定畫面, 首先新增一台主機.

 

  • 為要連結的主機取名, 在右側欄位中有提示要連線的主機並需是運行 64位元的 Ubuntu.

 

  • 全選複製下方區塊中的指令到主機上執行, 兩分鐘內就能和主機完成連線. 這邊也有說明主機一定要是運行64位元的 Ubuntu, 連結後將會在主機上安裝 Nginx、Apache、PHP 和 MySQL.

 

  • 成功連線後, 進入主機資訊頁面, 在選單上的 Apps 等於網站, 一般是稱為 Web 或 Domain, 所以一個 App 就是一個網站.

 

  • 接下來新增一個 App, 選擇要運行的 PHP 版本, 之後也可以隨時變更.

 

  • 建立完 App 後, 會進入該 App 資訊頁面, 下方有 App 的域名和主機的 CPU 及 RAM 等相關訊息.

 

  • 進入 Databases, 新增一個資料庫, 記得把帳號密碼抄下.

跑完以上的步驟後, 一個可以運行 PHP 網站的基本架設就完成了.

安裝 WordPress

建議剛進入 VPS 的新手, 若要安裝 WP, 用指令方式進行是最快的, 可以照下面的步驟安裝. 注意指令中的路徑 App 名稱是 cloudwp, 安裝時記得要把它換成你的. 若想以 FTP 的方式上傳檔案, 請參考下一章節.

進入目錄# cd /srv/users/serverpilot/apps/cloudwp/public
下載 WP# wget http://tw.wordpress.org/latest-zh_TW.tar.gz
解壓縮# tar zxvf latest-zh_TW.tar.gz
把檔案移至目錄# mv wordpress/* .
刪除原檔# rm latest-zh_TW.tar.gz
刪除空目錄# rmdir wordpress
更改目錄權限# chown -R serverpilot:serverpilot /srv/users/serverpilot/apps/cloudwp/public/*

結束後就能用瀏覽器連到 WordPress, 填寫你的基本資料啦.

SFTP

ServerPilot 只開放使用 SFTP 與主機連線, 這個規範應該是很多站長都希望面板上該有的標配, 若不知如何使用 SFTP, 請參考這篇說明.
ServerPilot 上的主機的預設使用者名稱是 serverpilot, 要連 SFTP 前需先設定或變更連線密碼.
要在後台變更密碼的設定路徑:
Servers > 你的主機 > Users > System Users > serverpilot, 就能進入變更密碼的頁面如下.

用 SFTP 和主機連線之後, 放置網頁資料的目錄

# /srv/users/serverpilot/apps/cloudwp/public/

安裝 phpMyAdmin

使用 ServerPilot 就能很輕鬆的在後台新增或移除資料庫, 所以預設是不會安裝 phpMyAdmin 在主機上, 但若有需要時可在手動安裝.

首先到 phpMyAdmin 官網選擇要下載的版本, 檔案的壓縮格式選 .tar.gz, 在把檔案下載到本地電腦中, 這邊是下載 phpMyAdmin-4.2.7-all-languages.tar.gz 全語系這個版本, 然後再把檔案上傳到主機上的 public 目錄裡, 上傳方式可用 SFTP 或 SCP 上傳.

SCP 指令

# scp phpMyAdmin-4.2.7-all-languages.tar.gz serverpilot@1.2.3.4:apps/cloudwp/public

上傳完檔案之後

進入public# cd /srv/users/serverpilot/apps/cloudwp/public
解壓縮# tar xzf phpMyAdmin-4.2.7-all-languages.tar.gz

接下來為了安全起見, 設定一個只有你自己知道的資料夾名稱, 因為那就會是登入 phpMyAdmin 的網址字串.

更改目錄名稱# mv phpMyAdmin-4.2.7-all-languages phpmyadmin-cludwp-phpMyAdmin
(替換掉 -cludwp-phpMyAdmin)
進入新目錄# cd phpmyadmin-cludwp-phpMyAdmin
建立設定檔# cp config.sample.inc.php config.inc.php
編輯設定檔# nano config.inc.php

在設定檔中, 使用隨機字串替換 cloudwp

$cfg['blowfish_secret'] = 'cloudwp’;

接著就能進入 phpMyAdmin 了, 登入帳號和密碼就是 database 的帳號密碼.
網址連結: http://1.2.3.4/phpmyadmin-cludwp-phpMyAdmin/

安裝 Pagespeed

想要在 ServerPilot 管理的主機上安裝 PageSpeed 模組很容易, 但如果主機的規格不高, 安裝後感覺會拖慢效能時在關閉它就好, 這點請自行斟酌.

建立快取資料夾# mkdir /var/cache/pagespeed 
更改目錄權限# chown www-data:www-data /var/cache/pagespeed
建立設定檔# nano /etc/nginx-sp/vhosts.d/cloudwp.d/pagespeed.conf

把下面設定資料貼上後存檔.

pagespeed on; //若不用時改成 off
pagespeed FileCachePath /var/cache/pagespeed;
# Ensure requests for pagespeed optimized resources go to the pagespeed
# handler and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
location ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
location /ngx_pagespeed_statistics { deny all; }
location /ngx_pagespeed_global_statistics { deny all; }
location /ngx_pagespeed_message { deny all; }
location /pagespeed_console { deny all; }

存檔後執行重啟 Nginx.

# service nginx-sp restart

確認 Pagespeed 是否執行.

# curl -s -I http://cloudwp.org/ | grep X-Page-Speed

若成功執行會出現以下回應.

# X-Page-Speed: ...

Nginx

設定檔路徑

主機# /etc/nginx-sp/nginx.conf
網站# /etc/nginx-sp/vhosts.d/cloudwp.d/main.conf

ServerPilot 重啟 Nginx 的指令

# service nginx-sp restart

Apache

設定檔路徑

主機# /etc/apache-sp/httpd.conf
網站# /etc/apache-sp/vhosts.d/cloudwp.d/main.conf

ServerPilot 重啟 Apache 的指令

# service apache-sp restart

PHP

設定檔路徑, 依照 Server 或 App 使用更換路徑 php5.x.

主機# /etc/php5.4-sp/php.ini
網站# /srv/users/serverpilot/apps/cloudwp/.user.ini
php-fpm# /etc/php5.4-sp/fpm-pools.d/cloudwp.d/main.conf

MySql

設定檔路徑

/etc/mysql/my.cnf

Firewall

基本開啟的阜號如下, 若需自行修改時, 必需要先關閉 ServerPilot 的自動防護才能保存自訂的設置.

tcp# 22 
tcp# 80
tcp# 443
udp# 68

SPDY

為網站設置 SSL 協定後, 當 visitor 是以 https:// 連入網站時, ServerPilot 就會自行應用 SPDY, 不需要再另外設定, 但是只有付費版才能為網站設定 SSL 的.

總結

創立 ServerPilot 的成員都是幾位經驗不錯的好手, 成員裡還有 Amazon 的初代目系統管理員. 實際安裝後的感覺, 說真的, UX 設計的很棒, 官網上的支援文件也很詳細, 是一款用心思設計的面板.

有用過 DO 的人應該都知道, 預設的新 Droplet 是要再自己分割 SWAP 的, 但 ServerPilot 會自動就設定好 SWAP. 若你正為你的 VPS 找一款面板, 一定要試試 ServerPilot.

若想要用 Digital Ocean 試運行 ServerPilot , 請使用我的推連結進入 DO 吧 ~

點我