Vestacp问题:SSL证书,HTTP/2,网站统计,在线文件管理和301重定向

自从用了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统计系统-安装简单功能强大可媲美谷歌统计

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。

发表评论