自從用了WHMCS搭配Vestacp後,發現Cpanel確實也可以不需要再用了。其實我們建站用的功能不多,虛擬主機管理面板只需要一個綁定網域、FTP檔案管理、MysqL資料庫管理等幾個基本的功能就行了,Cpanel雖然很強大,但是好多的功能用不著。

比Vestacp這樣的免費面板還有好多,但是Vestacp與WHMCS卻是整合最好的免費主機面板,官方自己開發了WHMCS接口,有域名DNS解析、郵局、網站管理、文件管理等,當然還有SSL證書安裝,支援一鍵新增Lets Encrypt SSL證書,可滿足大部分建站需求。

今天要說的是使用Vestacp面板過程中的SSL憑證新增與綁定的問題,另外預設的Vestacp面板採用的是HTTP/1.0,如果啟用了Https自然開啟HTTP/2是最好的了。本文也將分享一個免費開啟Vestacp線上文件管理器的辦法。

Vestacp問題:SSL憑證,HTTP/2,網站統計,線上檔案管理器和301重定向

更多的關於VPS主機面板安裝與使用方法,你可以試試這些:

  1. ISPConfig 3.1 優秀的VPS主機控制面板安裝與使用-DNS網域解析SSL自動部署
  2. ISPConfig與WHMCS整合方法-自動啟動開通虛擬主機與管理空間用戶
  3. WHMCS新增支付寶微信付款、主題範本修改方法和PDF發票亂碼問題解決

一、Vestacp新增SSL證書

自動開啟Lets Encrypt SSL憑證。 首先是進入到Vestacp的WEB服務,增加新的網站網域。

輸入新的域名,注意如果你像我這樣使用的是二級域名,請刪除「別名」中的自動產生的www三級域名。

然後在下方勾選“SSL支援”,如果你有自己的SSL憑證直接在下方填入CRT和KEY,沒有的話直接勾選“Lets Encrypt SSL”支援(注意:你需要提前將網域解析到伺服器IP上,否則無法申請到SSL)。

確定點選儲存。注意:從我的體驗來看,對於管理員點擊保存後稍等五分鐘就可以看到已經申請到了SSL證書,但是對於多用戶來說,可能需要點擊保存兩次。 大家在使用過程中會根據實情來決定。

沒有申請到SSL證書,你也可以透過查看網站目錄下的WEB設定檔是否自動產生了Snginx.conf還有CRT、Key等檔案。沒有生成那就表示申請失敗。

最後打開網頁,就可以看到SSL憑證已經加入成功了。

Vestacp後台開啟SSL。 預設的Vestacp的SSL是自簽的,雖然不影響不使用,但是有強迫症的朋友可能想改成瀏覽器信任的SSL。這個其實也簡單,進入到Vestacp後台,在伺服器設定中加入SSL憑證。

二、Vestacp啟用HTTP/2

首先,確認一下你綁定的網域開通了SSL服務,然後進入:/home/(vesta_user)/conf/web/snginx.conf,打開將裡面的:

server {
listen xx.xx.xx.xx:443;
…
}

改成以下程式碼:

server {
 listen xx.xx.xx.xx:443 http2 ssl;
...
}

然後,將以下程式碼:

location / {
proxy_pass https://%ip%:%web_ssl_port%;
location ~* ^.+.(%proxy_extentions%)$ {
root %sdocroot%;
access_log /var/log/%web_system%/domains/%domain%.log combined;
access_log /var/log/%web_system%/domains/%domain%.bytes bytes;
expires max;
try_files $uri @fallback;
}
}

改成這樣:

 location / {
 proxy_pass https://%ip%:%web_ssl_port%;
 location ~* ^.+.(%proxy_extentions%)$ {
 root %sdocroot%;
 access_log /var/log/%web_system%/domains/%domain%.log combined;
 access_log /var/log/%web_system%/domains/%domain%.bytes bytes;
 expires max;
 try_files $uri @fallback;
  add_header Access-Control-Allow-Origin *;
 }
 }

最後儲存重新啟動:nginx -s reload。如果你想在建立時就自動開啟HTTP/2,你需要修改模板檔:

/usr/local/vesta/data/templates/web/nginx/default.stpl
/usr/local/vesta/data/templates/web/nginx/hosting.stpl
/usr/local/vesta/data/templates/web/nginx/caching.stpl

將以下程式碼:

server {
listen %ip%:%proxy_ssl_port%;
server_name %domain_idn% %alias_idn%;
ssl on;

改成這樣:

server {
 listen %ip%:%proxy_ssl_port% http2 ssl;
 server_name %domain_idn% %alias_idn%;
 ssl on;

最後開啟瀏覽器看看是不是已經成功開啟了HTTP/2。

三、Vestacp啟用Awstats統計

PS:2018年3月3日更新,更多專業的獨立統計系統可以試試免費開源的PHP統計系統Piwik(Matomo):Piwik(Matomo)免費開源的PHP統計系統-安裝簡單功能強大可媲美Google統計。

Vestacp已經自帶了Awstats網站統計,很多朋友可能沒有在意,其實它就在創建網站時的高級選項中,你可以勾選確認開啟Awstats統計。

開啟後,再回到網站列表,你就可以看到網站統計了。

點擊它就可以開啟Awstats線上統計情況,這裡就是網站訪問數據統計。 (點擊放大)

四、免費文件管理器和SFTP Chroot

用WinSCP連接SFTP,進入/usr/local/vesta/conf,編輯vesta.conf,在檔案最後加上兩行:

FILEMANAGER_KEY='KuwangNetwork'
SFTPJAIL_KEY='KuwangNetwork'

儲存後,你就可以在VestaCP看到檔案總管了,上傳、複製、刪除等都沒有問題。 (點擊放大)

有兩個地方要注意:

1.vesta.conf會被系統自動修改,建議將vesta.conf改成唯讀(440)。

2.文件管理器使用的是谷歌的JS庫,但谷歌的JS庫在國內部分地區可能無法使用(雖然搬回了國內),請修改/usr/local/vesta/web/templates/file_manager的main. php檔的第119行,改為「code.jquery.com/jquery-1.11.1.min.js」(不需輸入引號)

五、Vestacp 301重定向方法

HTTP 重新導向到 HTTPS。開啟:/home/USER/conf/web/nginx.vestacp.com.conf ,然後加入以下程式碼(注意替換你的USER路徑和你的網域):

if ($scheme = http) { return 301 https://vestacp.com$request_uri; }

HTTPS 重定向 HTTP。開啟:/home/USER/conf/web/nginx.vestacp.com.conf ,然後加入以下程式碼(注意替換你的USER路徑和你的網域):

if ($scheme = https) { return 301 http://vestacp.com$request_uri; }

WWW 重定向到 非WWW。開啟:/home/USER/conf/web/nginx.vestacp.com.conf,然後加入以下程式碼(注意替換你的USER路徑和你的網域):

if ($host = "www.vestacp.com") { return 301 https://vestacp.com$request_uri; }
#未使用Https的,可用以下代码:
if ($host = "www.vestacp.com") { return 301 http://vestacp.com$request_uri; }

非WWW 重定向到 WWW。開啟:/home/USER/conf/web/nginx.vestacp.com.conf,然後加入以下程式碼(注意替換你的USER路徑和你的網域):

if ($host = "vestacp.com") { return 301 https://www.vestacp.com$request_uri; }
#未使用Https的,可用以下代码:
if ($host = "vestacp.com") { return 301 http://www.vestacp.com$request_uri; }

強制域名使用Https。使用以下命令:

cd /usr/local/vesta/data/templates/web
wget http://c.vestacp.com/0.9.8/rhel/force-https/nginx.tar.gz
tar -xzvf nginx.tar.gz
rm -f nginx.tar.gz

下載的檔案主要有兩個檔案:force-https.tpl和force-https.stpl,你也可以將這兩個檔案放在你原有的套餐配置中。或者你新建一個套餐,模板就用這個Nginx,最在當新用戶創建網站時就可以應用上這個新的配置了。

六、總結

Vestacp在建立Lets Encrypt SSL憑證時,如果是多用戶的話可能出現不同的網域存取到的卻是同一個網域的SSL憑證的情況,這種情況可以重啟伺服器。另外,多用戶在建立SSL憑證可能會失敗,需要重複儲存幾次。

Vestacp 301重定向需要有修改nginx.vestacp.com.conf 權利。 FTP使用者沒有這個檔案的檢視和修改權限,需要管理使用Winscp登入伺服器存取不同的使用者下的conf來進行修改。當然如果你的Vestacp用的是Apache,可以自己修改.htaccess。

發表評論