LNMP下安装V2Board机场管理面板教程

军哥LNMP一键脚本配置装Web环境,并手动部署V2board面板比官方教程使用宝塔面板部署更省资源,也可避免宝塔面板的安全隐患。本教程一步步教你在lnmp环境下安装V2Board面板,并实现前后端分离,为您扫盲&避坑。

V2Board是一款公认的多协议用户管理面板开源软件,与SSPanel面板一道,被广大用户认可并广泛使用,两者在市场上的使用量均居首位。

其中,SSPanel面板的功能更为丰富全面,而V2Board则以其简单的操作界面受到用户的喜爱,两者都可以满足大部分用户需求。

然而,由于V2Board主要开发者失联,目前稳定版本维持在1.7.4版本,本文将在此分支版的基础上进行实用性演示,以此版本的功能和支持度都比原版更为丰富

项目地址:
https://github.com/v2board/v2board (原版)
https://github.com/wyx2685/v2board (分支)
这个分支版本增加了很多功能:在线设备数量限制,支持vless的reality/h2等。

V2Board面板

准备环境

服务器建议1G内存及以上硬件配置,采用Debian操作系统,网站环境是:nginx-1.20 、 mysql-5.7 、 php-7.4 ,两个不同的主域名或二级域名均可(如下文的前端访问域名 v2b.jiemahao.com 与后端对接域名 sk.jiemahao.com );

安装lnmp环境并配置V2Board环境

我们这里主要讲常用的LNMP环境,也就是Linux、Nginx、MySQL、PHP,网上也有很多一键部署的LNMP脚本,我这里用的是https://lnmp.org/的一键安装包作为教程演示

一键安装包部署web环境命令

wget https://soft.lnmp.com/lnmp/lnmp2.0.tar.gz -O lnmp2.0.tar.gz && tar zxf lnmp2.0.tar.gz && cd lnmp2.0 && ./install.sh lnmp

安装V2Board面板所需的扩展

安装Redis

Redis此脚本是用来安装Redis,Redis是一个开源、支持网络、基于内存、键值对存储数据库。
安装
进入lnmp解压后的目录,执行:./addons.sh install redis

安装opcache

此脚本是用来安装opcache的,是 Zend 开发的闭源但可以免费使用的 PHP 优化加速组件。LNMP 1.2下安装的PHP 5.5或更高版本的PHP不需要额外安装OPcache,默认已经安装上。
LNMP默认已安装但未启用执行:./addons.sh install opcache 进行开启。

安装fileinfo

使用lnmp2.0里面的 ./addons.sh 进行安装。

 ./addons.sh fileinfo

删除PHP的禁用函数 putenv , proc_open ,proc_get_status
打开/usr/local/php/etc/php.ini
查找 putenv , ,proc_get_status,打开 php.ini 找到把有的都删掉。

vi /usr/local/php/etc/php.ini
    lnmp php-fpm reload ##重新加载

防跨目录设置

考虑到像Thinkphp,codeigniter,Laravel等框架,网站目录通常是在’public’下面。然而,’public’下的程序需要跨目录调用’public’上级目录的文件。

因为LNMP默认是不允许跨目录访问的,所以我们必须禁用防止跨目录访问的设置。有时,这类框架程序显示的500错误提示也可能由此问题引起。

cd /root/lnmp2.0/tools
./remove_open_basedir_restriction.sh ##移除防跨目录访问

进行移除,输入原网站目录完整路径(注意不是新的网站路径),回车即可。

设置虚拟主机

配置网站目录地址,编辑网站配置文件:

vi /usr/local/nginx/conf/vhost/jiemahao.com.conf

找到 /home/wwwroot/站点目录 修改为 /home/wwwroot/站点目录/v2board/public 并保存退出

配置伪静态规则

命令行输入:vi /usr/local/nginx/rewrite/other.conf,添加如下内容并保存退出;

 
    location /downloads {
    }
    location / {
    try_files $uri $uri/ /index.php$is_args$query_string;
    }
    location ~ .*\.(js|css)?$
    {
    expires 1h;
    error_log off;
    access_log /dev/null;
    }

下载V2Board并上传到网站目录

下载 https://codeload.github.com/wyx2685/v2board/zip/refs/heads/master
上传网站目录并解压,把文件移动到网站目录

部署V2Board

进入到网站目录 cd

执行下列命令安装依赖和配置V2B数据库、管理账户,同时记录好回显的管理地址和密码;

sh init.sh

执行下列命令给与站点目录权限,避免后面打开网站500错误.

chown -R www:www *

配置计划任务和队列服务

在完成上面的步骤后已经能正常访问网站,但是由于v2board的邮件系统和支付订单确认强依赖队列,所以还需要设置队列服务,这里我们采用Crontab计划任务和supervisor守护,命令行执行:

crontab -e
    ##打开在后面编辑添加下面一行,代表每隔1分钟执行一次任务
    */1 * * * * php /home/wwwroot/jiemahao.com/artisan schedule:run

安装和配置supervisor

Debian为例: apt install supervisor
设置开机启动:systemctl enable supervisor

在配置Supervisor来管理您的应用时,您需要创建一个新的配置文件。这应该在/etc/supervisor/conf.d/目录下,并且文件扩展名应为.conf。

V2Board应用的Supervisor配置如下:

下面我们要在Supervisor管理器添加应用

[program:V2Board]
user=root
directory=/home/wwwroot/jiemahao.com/
command=php artisan horizon
autostart=true
autorestart=true
redirect_stderr=true

完成配置文件的创建,命名为V2Board.conf,上传到/etc/supervisor/conf.d/目录下

通过以下命令让Supervisor读取并应用新的配置:

supervisorctl reread
supervisorctl update

到此手动部署v2board面板已经完成,可能有的用户之前在宝塔面板已经搭建好并推广了不少用户,需要迁移到这边,那么只需要备份好数据库,并进入到新的数据库导入即可,当然最方便的是使用其它数据库,在前面安装v2board时修改下默认地址即可。

V2Board面板
V2Board面板

V2Board配置前后端分离主题(可选功能)

1、V2Board面板支持把用户访问的前端、管理后台分别部署为不同的网站,或者不同的服务器上面,这里采用V2b-Theme-Sleek开源主题演示,主题源码地址:https://github.com/binglog/V2b-Theme-Sleek

2、准备一个提供给用户访问的域名,在原服务器或其它服务器中新建个网站,在网站根目录中执行下列命令把主题源码克隆至本机;

git clone https://github.com/binglog/V2b-Theme-Sleek.git ${PWD}

3、编辑config.js文件,把其中的hosturl地址修改成v2b面板的网址,其它项根据需求替换修改后保存即可;

4、当支付的回调域名使用主题域名时,需要把v2b面板的app/Services/PaymentService.php文件替换下;

##找到文件50行

'return_url' => config('v2board.app_url') . '/#/order/' . $order['trade_no'],
##替换成以下代码
'return_url' => $_SERVER['HTTP_ORIGIN'] . "/#/dashboard",<.pre>
原文链接:https://jiemahao.com/lnmp-v2board/,转载请注明出处。
0
显示验证码