搭建过程中出现任何问题欢迎留言,需要人工搭建可以咨询此处
前言
其实网上关于ss-panel安装教程已经很多了,但是有些不完整或者是不够详细,导致很多小白出现教材没提到的报错的时候就不知道怎么办了。。
so… 这篇教程,我会把新手可能碰到的所有问题都写进来,如果有不完善的地方 欢迎评论反馈,谢辣
简介
SSPanel UIM 是一款专为 Shadowsocks / ShadowsocksR / V2Ray / Trojan 设计的多用户管理面板,基于 ss-panel-v3-mod 开发。
特性
- 集成支付宝当面付,PAYJS,Paymentwall 等多个支付系统
- 重构面板首页、节点列表、商品列表
- 新增 SPA(Single Page Apps)版 UI
- 商品增加同时连接设备数,用户限速属性
- 新用户注册现金奖励、用户常规端口切换与指定
- 公共库文件加载使用 jsDelivr
- 支持 V2Ray & Trojan
- 性能优化,程序逻辑改善,代码质量修正
- 更多新功能写不下了
环境准备
SSPanel UIM 的需要以下程序才能正常的安装和运行:
- Git
- PHP 8.0+
- Composer
- MySQL / MariaDB
SSPanel UIM 支持安装在 LNMP、CloudPanel 等集成环境中。
在正式安装前可以用ls /usr/bin/composer
来检查下环境是否都准备好了,宝塔是默认安装过composer的
报错的话注意升级下试试composer selfupdate
当然如果还是不行可以排查下是不是默认php版本不对
rm -f /usr/bin/php
删除默认的配置
将默认版本修改成你正在使用的php版本
ln -sf /www/server/php/80/bin/php /usr/bin/php
确定好后环境就没问题了,咱们就可以开始了,因为大部分都是宝塔用户,所以这里就拿宝塔举例子~
开始安装
1.创建一个站点
需要注意的就这2个地方,域名处填写你的域名即可(好像是废话 )数据库不需要,后面再自建
2.拉取源码
删除网站目录默认文件
在宝塔面板里打开网站目录
全选删除
但是.user.ini无法删除,这时回到ssh控制台
删除.user.ini
确保当前ssh终端目录在网站根目录,执行
// 修改权限
chattr -i .user.ini
// 再次删除
rm -rf .user.ini
进入到站点根目录
cd /www/wwwroot/你的网站目录
下载最新版的代码
git clone https://github.com/Anankke/SSPanel-Uim.git .
如果提示找不到git命令请安装git
yum -y install git
当然了。。你也可以通过宝塔的文件管理把程序上传到站点目录去解压。。
另外目录结构别搞错了
设置伪静态
在网站-站点设置中
location /
{
try_files $uri /index.php$is_args$args;
}
将网站目录的运行目录改为public,关闭防跨站。
删除禁用函数
然后进入,软件商店-php设置-禁用函数中,删除掉这几个函数
popen、proc_open、putenv
3.安装面板
进入网站根目录
cd /www/wwwroot/你的网站目录
输入以下命令安装面板!
cp config/.config.example.php config/.config.php
cp config/appprofile.example.php config/appprofile.php
mv db/migrations/20000101000000_init_database.php.new db/migrations/20000101000000_init_database.php
wget https://getcomposer.org/installer -O composer.phar
php composer.phar
php composer.phar install
chmod 755 -R *
chown www -R *
git config --global --add safe.directory $(pwd)
git checkout .
4.修改配置文件
编辑文件 config/.config.php
,找到以下部分
db_host
如果使用本地数据库,填localhost
或127.0.0.1
- 如果使用云数据库,填写
ip
或域名,并注意允许服务器ip
连接 db_socket
可留空,或根据文件上方注释填写- 注意数据库账户需要有对表结构的操作权限
- 数据库名默认是
sspanel
,可修改为其他的。但注意后续创建数据库时,创建的库名需与在此填写的保持一致
$_ENV['db_driver'] = 'mysql';
$_ENV['db_host'] = '';
$_ENV['db_socket'] = '';
$_ENV['db_database'] = 'sspanel'; //数据库名,可自定义
$_ENV['db_username'] = 'root'; //数据库用户名,建议root
$_ENV['db_password'] = 'sspanel'; //用户名对应的密码,在宝塔面板数据库里查看
还需要依照注释,修改这些重要的参数
$_ENV['key'] = '1145141919810'; //!!! 瞎 jb 修改此key为随机字符串确保网站安全 !!!
$_ENV['debug'] = false; //正式环境请确保为 false
$_ENV['appName'] = 'SSPanel-UIM'; //站点名称
$_ENV['baseUrl'] = 'https://sspanel.host'; //站点地址
$_ENV['muKey'] = 'NimaQu'; //用于校验魔改后端请求,可以随意修改,但请保持前后端一致,否则节点不能工作!
创建数据库
登录到数据库
mysql -uroot -p
数据库的root密码在宝塔面板里查看
创建数据库
create database sspanel;
sspanel
为默认数据库名,请与配置文件数据库名保持一致修改了
登出。按下 Ctrl
+ D
导入表结构
执行数据库迁移,在网站根目录执行
vendor/bin/phinx migrate
5.后续操作
导入配置项目
php xcat Tool importAllSettings
创建管理员账户
php xcat User createAdmin
下载 ip 数据库
php xcat Tool initQQwry
接下来添加计划任务
crontab -e
按i进入输入模式,将下面任务里/home/wwwroot/sspanel
改为你的网站目录,然后替换进去。
echo "*/1 * * * * /usr/bin/php /home/wwwroot/sspanel/xcat Job SendMail
*/1 * * * * /usr/bin/php /home/wwwroot/sspanel/xcat Job CheckJob
0 */1 * * * /usr/bin/php /home/wwwroot/sspanel/xcat Job UserJob
30 23 * * * /usr/bin/php /home/wwwroot/sspanel/xcat SendDiaryMail
0 0 * * * /usr/bin/php -n /home/wwwroot/sspanel/xcat Job DailyJob" >> crontab.list
财务报表(可选)
5 0 * * * /usr/bin/php /home/wwwroot/sspanel/xcat FinanceMail day
6 0 * * 0 /usr/bin/php /home/wwwroot/sspanel/xcat FinanceMail week
7 0 1 * * /usr/bin/php /home/wwwroot/sspanel/xcat FinanceMail month
输入完之后按esc,然后输入:wq,按回车保存并退出。
至此,前端面板就安装就完成了,如需后端安装/对接,请移步:[教程]SSPanel UIM后端对接一键安装脚本
搭建过程中出现任何问题欢迎留言,需要人工搭建可以咨询此处
![[教程]宝塔面板搭建SSPanel UIM教程,SSPanel-v3-mod再次修订版插图10 [教程]宝塔面板搭建SSPanel UIM教程,SSPanel-v3-mod再次修订版插图10](https://www.xiaolanhhy.com/wp-content/uploads/2022/11/微信-gzh.png)
Unable to load class: AppCommandUser
大佬这是啥情况
能具体点嘛
你好, 一直卡在数据库导入那里, 研究了五六个小时就是没有导入数据库,头疼
你好,能贴出来具体报错日志吗
是PHP和SQL版本低的问题, 已经解决了,谢谢
执行导入表结构报错
跟他这个差不多
warning no environment specified, defaulting to: production
using adapter mysql
using database sspanelxx
ordering by creation time
== 20000101000000 InitDatabase: migrating
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column ‘remark’ can’t have a default value in /www/wwwroot/aaa.com/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php:192
Stack trace:
0 /www/wwwroot/aaa.com/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php(192): PDO->exec()
mysql版本不受支持,更新一下吧~~
php xcat createAdmin
Unable to load class: AppCommandcreateAdmin
这个是什么问题呢?
PHP路由失败,建议重装下PHP哈拓展
(/ω\)
这个安装不了最新版了,在debian11测试不行。另外,数据库已经创建了,还进入数据库创建一个同名的数据库,不是多余吗
确实不是最新版,但也不是很古老;数据库前面是没有创建的你可以看第一步新建站点那里,数据库选择不创建,就是为了避免重复,当然感谢提意见啦~
vendor/bin/phinx migrate
报错,执行不下去了。
warning no environment specified, defaulting to: production
using adapter mysql
using database sspanelxx
ordering by creation time
== 20000101000000 InitDatabase: migrating
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column ‘remark’ can’t have a default value in /www/wwwroot/aaa.com/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php:192
Stack trace:
0 /www/wwwroot/aaa.com/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php(192): PDO->exec()
你好,哪一步呢
计划任务总是保存不下来,不知道哪里的格式不对