如果你正凖備要租 VPS 用來架設 WordPress 或其它用途的網站,剛好也需要一個好用而且免費的控制面板的話,那麼 Vesta 會是個很好的選擇 。

Vesta CP

Vesta 是一款輕巧、UI 簡潔而且執行速度快的面板,它能安裝在 Red Hat、CentOS 及 Ubuntu 上執行,最特別的是它利用 Nginx 當反向代理來支援 Apache/PHP。

Nginx 會用來取代 Apache 監聽 80 port,處理訪問網站的連線請求,過濾請求之後再傳遞給 Apache。還有 JavaScripts、CSS、圖檔等靜態檔案也都是由 Nginx 處理,如此一來, Vesta 基本上就是走 LAEMP 的架構,能夠用來輕鬆的建置網站,而且運行的速度非常快。

建立新 VPS

OK,接下來我用 Digital Ocean 的主機,選擇 Ubuntu 來安裝 Vesta ,網域是用手上空閒的 efstudio.com.tw。

首先建立一個 Droplet,因為 Digital Ocean 用的硬碟是 SSD 關係,所以一下子就部屬好了,當然也要記得去設定 DNS ,這樣才能把網址連到 Droplet。

然後用 SSH 和 Droplet 連線,安裝 Vesta 只需要輸入兩行指令,夠簡單吧?

安裝 Vesta

1.下載腳本

curl -O http://vestacp.com/pub/vst-install.sh

2.執行

bash vst-install.sh

整個安裝過程花不到三分鐘的時間就能結束,安裝完 Vesta 的畫面上,會告訴你進入後台的網址和帳密,這個記得一定要抄下來才能順利登入。

用瀏覽器進入 Vesta 的後台,位置是

https://<網址 或 主機IP>:8083

要是不小心把密碼搞丟了,到這邊可以更改

/usr/local/vesta/bin/v-change-user-password admin 你的新密碼

新增網站

在進入後台之後,首先進入上方 WEB 的選項裡,這邊是設定網站的連線資料頁面,可以先把它預設的現有網站刪除,之後再建立一個新的網站設定。

設定好之後可以先在瀏覽器打上網址,測試一下剛剛資料的設定有沒有問題,沒錯的話網頁上就會出現域名的畫面。

建立資料庫

接下來要設定資料庫,回到 Vesta 後台進到 DB 裡,設定好帳號跟密碼,如果你是搬家的話就要先到 phpMyAdmin 裡還原資料,或是需要用到 PostgreSQL 的話,Vesta 也能夠支援。

連進 phpMyAdmin 的位置預設是

http://<網址 或是 主機IP>/phpmyadmin/

再 來是把 WordPress 的主檔案拷貝過去,若是用 FTP 的連線的話,登進帳號之後會看到放網站的資料夾是 public_html,而 public_shtml 是給 SSL 用的。如果有加密協定需求的話,其實把資料放在 public_html 也可以,之後再到後台裡設定就好。

FTP 連線

登入ftp的方法

主機IP
admin_ftp帳號
密碼

若是覺得用 FTP 傳檔太慢的話,用 SSH 設定的方法如下:

安裝 WordPress

進入放網頁的資料夾

cd /home/admin/web/efstudio.com.tw/public_html

下載 wordpress 最新版本

wget http://tw.wordpress.org/latest-zh_TW.tar.gz

解壓縮

tar zxvf latest-zh_TW.tar.gz

把檔案移到正確位置

mv wordpress/* .

更改資料夾權限

chown -R admin:admin /home/admin/web/efstudio.com.tw/public_html/*

最後記得要把資料資裡預設的 index.html 刪除,才能正確的讀到網站,等資料都填完後就衝吧!

Nginx Cache

如果你很在乎網站的效能的話,那麼應該知道要利用 cache 的方式讓網站提升速度,只要進入 WEB 裡,在 Nginx Template 的下拉選單指定 caching 就完成了。(快取預設 15 分鐘)

 

安裝防火牆

網站的安全防護也是很重要的部份,如果是租一般的分享空間的話,基本上主機商都已經做好防火牆之類的設定了。但我租的是 VPS,所以向主機商租到的只有硬體、傳輸量、DNS 跟支援服務而已,需要防衛的話就要自己處理,建議可以安裝 CSF 防火牆來保護主機的安全。

用 SSH 與主機連線安裝 CSF:

下載CSF

wget http://www.configserver.com/free/csf.tgz

解壓縮

tar -xzf csf.tgz

安裝

ufw disable

進到 CSF 資料夾

cd csf

執行安裝腳本

sh install.sh

安裝完成後再測試一下 iptables 模組看有沒有問題

perl /usr/local/csf/bin/csftest.pl

接著編輯需要要開放的 Port

nano /etc/csf/csf.conf

因為 Vesta 的後台是走 Port 8083,所以也要開啟這個阜號才能進入後台

# Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,8083"

# Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443,8083"

若是還需要其它的設定,可以參考這篇教學

總結

Vesta 是一個開源、免費的主機面板,若需要技術性的支援服務時,它也能夠經由付費來取得。以上的介紹只有提到 Vesta 的一小部份功能而以,如果想安裝試用一下,建議用 Digital Ocean 就能用最短的時間作安裝測試。

使用 Vesta Control Panel 來管理主機,不管是要用在個人架站方面,或者是工作室接案用來要幫客戶管理網站,相信選擇 Vesta 都會是個很不錯的的方案。

若要在 Linode 安裝,請用我的推薦連結: 點此
若要在 Digital Ocean 安裝,也請用我的推薦連結: 點此

資料整理

Vesta HomepageDigital Ocean VPSCSF

更新

8/12
Vesta CP 目前版本已更新至 0.9.8-9 ,背景改為藍色、選單置頂, FTP 能增加多帳號,更新細節:

查看

13 thoughts on “Vesta 近乎完美的免費 VPS 面板

  1. 文章写的不错,挺受用的~

  2. 請問您一下
    重新安裝很多次VestaCP,phpMyAdmin都會出現如附圖的錯誤訊息
    應該要如何解決呢?
    主機是 DigitalOcean
    系統是 Ubuntu 14.04

    謝謝您!

    1. Debian 8 也會發生一樣的狀況,我用下面的方法可以解決。

      cd /usr/share/doc/phpmyadmin/examples

      gunzip config.sample.inc.php.gz

      mv ./config.sample.inc.php /etc/phpmyadmin/config.inc.php

      1. 謝謝您,我去測試下
        也謝謝您提供繁體中文在GitHub供大家安裝

        1. VestaCP 現在內建有中文翻譯了,github 上的已經沒有更新,不建議用。

          1. VestaCP內建的中文翻譯如果切換成tw語系會直接出現500錯誤的樣子

          2. 是啊,可能是字串有問題,之前自己的版本也有碰過,只是沒空去除錯,其實 Panel 裡的字很少所以也不太需要中文化。

          3. internal 500 錯誤的原因是語系檔的結束字元有錯而且重po了兩段的語言檔,需要手動修改語言檔,目前新的版本沒有這個問題了.因為這樣我也上vestacp的討論板反應這個bug…

      2. 執行到 gunzip config.sample.inc.php.gz
        出現
        No such file or directory
        這是指檔案不存在?

  3. 再請教您一個問題
    VestaCP使用CloudFlare的CDN來連接
    有需要像WordPress一樣另外排除所有快取嗎?
    謝謝!

    1. 一般後台登入頁面都是不能有快取的,JS or CSS 等靜態檔案除外,VestaCP 連 CF 沒什麼效益,除非你有其它用途。

      1. 要怎麼半?

留言功能已關閉。