SSPanel Uim部署及修复SS订阅下发教程
SSPanel-Uim 部署及修复订阅下发
前言
请注意,本教程仅用于学习目的,切勿将其用于非法用途。使用本教程搭建面板需要遵循法律法规,谨慎使用相关技术。
1. 安装宝塔面板 7.7
1# 更新系统和安装 wget、curl
2apt-get update -y && apt-get install wget -y && apt-get install curl -y
3
4# 安装宝塔面板
5curl -sSO <https://raw.githubusercontent.com/zhucaidan/btpanel-v7.7.0/main/install/install_panel.sh> && bash install_panel.sh
6
7# 删除登录验证
8sed -i "s|if (bind_user == 'True') {|if (bind_user == 'REMOVED') {|g" /www/server/panel/BTPanel/static/js/index.js
9rm -rf /www/server/panel/data/bind.pl
2. 配置宝塔面板
- 安装如下:
Nginx 1.22.1
PHP 8.2 +
MySQL 10.11.6-MariaDB
Redis 7.0.11
phpMyAdmin 4.9
Pure-Ftpd 1.0.49
- 安装
PHP
扩展:fileinfo
、redis
、yaml
。 - 删除
PHP
被禁用函数:proc_open
、proc_get_status
、putenv
。
3. 创建网站并添加 SSL 证书
4. 下载并安装面板源码
1cd /www/wwwroot
2# 版本参考 GitHub
3git clone -b 2023.6 https://github.com/Anankke/SSPanel-Uim.git
5. 设置站点运行目录和伪静态
- 站点目录设置为
/www/wwwroot/SSPanel-Uim/public
,关闭防跨站攻击
。 - 编辑 Nginx 配置文件,在 location / 下添加:
1location / {
2 try_files $uri /index.php$is_args$args;
3}
- 重启 Nginx。
6. 设置站点根目录整体权限
1chmod -R 775 /www/wwwroot/SSPanel-Uim
7. 编辑网站配置文件
- 将
appprofile.example.php
重命名为appprofile.php
。 - 将
.config.example.php
重命名为.config.php
。 - 编辑
.config.php
,填写必要的参数。
1$_ENV['key'] = 'abcde'; //Cookie加密密钥,请务必修改此key为随机字符串
2$_ENV['appName'] = 'sspanel'; //站点名称
3$_ENV['baseUrl'] = '<https://www.aaa.com>'; //站点地址,结尾不要带斜杠
4$_ENV['muKey'] = 'abcde'; //WebAPI密钥,用于节点服务端与面板通信
5$_ENV['db_database'] = 'database'; //数据库名
6$_ENV['db_username'] = 'user'; //数据库用户名
7$_ENV['db_password'] = 'password'; //用户名对应的密码
8$_ENV['enable_login_bind_ip'] = false; //是否将登陆和IP绑定,建议false
9$_ENV['checkNodeIp'] = false; //是否webapi验证节点ip,建议false
10$_ENV['cloudflare_enable'] = true; //是否开启 Cloudflare 解析
11$_ENV['cloudflare_email'] = 'aa@gmail.com'; //Cloudflare 邮箱地址
12$_ENV['cloudflare_key'] = 'key'; //Cloudflare API Key
13$_ENV['cloudflare_name'] = 'www.aaa.com'; //站点域名
14// ...其他参数
8. 站点初始化
1cd /www/wwwroot/SSPanel-Uim
2# 切换为PHP8.2
3sudo ln -sf /www/server/php/82/bin/php /usr/bin/php
4
5wget https://getcomposer.org/installer -O composer.phar
6php composer.phar
7php composer.phar install --no-dev
8php xcat Migration new
9php xcat Tool importAllSettings
10php xcat Tool createAdmin
11
12# 将目录权限用户设为 www
13chmod -R 755 /www/wwwroot/SSPanel-Uim
9. 设置定时任务
1# 安装 cron
2sudo apt-get install cron
3
4# 编辑定时任务
5crontab -e
6
7# 添加以下任务
8*/5 * * * * /usr/bin/php /www/wwwroot/SSPanel-Uim/xcat Cron
9
10# 保存并退出,重启 cron
11systemctl restart cron
10. 修改节点订阅下发端口问题
面板会将用户端口下发为ss节点端口
- 在
SSPanel-Uim/src/Services/Subscribe
目录下,除了base.php
、Trojan.php
、V2ray.php
之外的文件都需要修改。 - 在每个文件的
foreach ($nodes_raw as $node_raw) {
后添加以下代码:
1# 在 foreach ($nodes_raw as $node_raw) { 这一行的下一行添加下面这一行代码:
2$node_custom_config = json_decode($node_raw->custom_config, true);
3
4# 在if ((int) $node_raw->sort === 0) { 这一行的下一行添加下面这一行代码:
5$ss_port = $node_custom_config['offset_port_user'] ?? ($node_custom_config['offset_port_node'] ?? $user->port);
6# 这里是指按照 offset_port_user、offset_port_node、用户端口的顺序加载端口
- 将后面
$links
开头的代码中的$user->port
改为$ss_port
。 - 重启服务器
参考
最后修改于 2024-01-26