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 扩展:fileinforedisyaml
  • 删除 PHP 被禁用函数:proc_openproc_get_statusputenv

3. 创建网站并添加 SSL 证书

4. 下载并安装面板源码

1cd /www/wwwroot
2# 版本参考 GitHub
3git clone -b 2023.6 https://github.com/Anankke/SSPanel-Uim.git

5. 设置站点运行目录和伪静态

  1. 站点目录设置为 /www/wwwroot/SSPanel-Uim/public,关闭防跨站攻击
  2. 编辑 Nginx 配置文件,在 location / 下添加:
1location / {
2    try_files $uri /index.php$is_args$args;
3}
  1. 重启 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节点端口

  1. SSPanel-Uim/src/Services/Subscribe 目录下,除了 base.phpTrojan.phpV2ray.php 之外的文件都需要修改。
  2. 在每个文件的 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、用户端口的顺序加载端口
  1. 将后面 $links 开头的代码中的 $user->port 改为 $ss_port
  2. 重启服务器

参考


最后修改于 2024-01-26