VestaCP是由俄罗斯人编写的免费虚拟主机控制面板,该面板功能强大,即可自用也可对接WHMCS销售。不过面板并不支持免费的文件管理,官网的商业项目为 “File Manager”(月付3刀,终身50刀)及“SFTP Chroot”(月付1刀,终身18刀),虽说VestaCP是免费面板,赞助支持是不可缺少的动力源泉,但是收费项目却为常用的文件管理器和SFTP Chroot(功能:限制用户访问文件夹的权限,如果不启用该功能将是一个安全隐患),而且价格设置的也不是很合理,这就让人有些尴尬,使得很多使用VestaCP的用户都不得不使用第三方文件管理器的程序或源码。
但VestaCP官方并没有把这样的收费项目当做主要的赞助方式,也没有去做过多的保护机制。实现的方式很简单,在VestaCP配置文件中设置这两个项目的授权码即可。
用WinSCP连接SFTP,首先进入/usr/local/vesta/web/list/directory,编辑index.php,将7-10行注释掉。
//if ((!isset($_SESSION['FILEMANAGER_KEY'])) || (empty($_SESSION['FILEMANAGER_KEY']))) {
//header("Location: /filemanager-not-purchased/");
//exit;
//}
随后进入/usr/local/vesta/web/templates,修改admin和user目录下的panel.html。
将
<?php if ((isset($_SESSION['FILEMANAGER_KEY'])) && (!empty($_SESSION['FILEMANAGER_KEY']))) {?><div class="l-menu__item <?php if($TAB == 'FILEMANAGER' ) echo 'l-menu__item--active' ?>"><a href="/list/directory/"><?=__('File Manager')?></a></div><?php }?>`
修改为
<div class="l-menu__item <?php if($TAB == 'FILEMANAGER' ) echo 'l-menu__item--active' ?>"><a href="/list/directory/"><?=__('File Manager')?></a></div>
随后进入VestaCP,发现导航上也增加了“文件管理”菜单。
SFTP Chroot暂时无解。
文件管理器使用的是谷歌的JS库,但谷歌的JS库在国内部分地区可能无法使用,请修改/usr/local/vesta/web/templates/file_manager的main.php文件的第119行,改为“code.jquery.com/jquery-1.11.1.min.js”(不需要输入引号)**