原文地址:https://sobaigu.com/ss-panel-deploy-notes.html
老五照着搭建了一遍,发现的问题都已经在文末记录了,感谢sobaigu博主!文章源自IT老刘-https://itlao6.com/7128.html
前言
ssrpanel开源版已经不维护了,新版vnetpanel一直都不适应,索性重新琢磨下最开始的sspanel,做个基础笔记,方便自己折腾的时候复制粘贴用。文章源自IT老刘-https://itlao6.com/7128.html
实施步骤
总体来说也没啥复杂的过程,将要输的命令放一个 sh
脚本里执行就可以了,遇到什么问题根据错误提示解决什么问题即可。文章源自IT老刘-https://itlao6.com/7128.html
安装基础环境
sspanel依赖PHP+MySQL环境,还需要个nginx负责前端,一般安装LNMP即可。安装环境过程不表,最简单的一键脚本或者宝塔大法等安装即可,都是一键的,傻白甜推荐直接宝塔大法。
PHP版本建议是7.2+,删除 system、proc_open、proc_get_status、putenv
等禁用函数。
安装完了环境便可建立一个网站,设置好网站目录,数据库等信息。文章源自IT老刘-https://itlao6.com/7128.html
克隆仓库文件
sspanel众多版本,目前最活跃的当属 Anankke
负责维护的 SSPanel-Uim,如果需要稳定,建议用 master
分支,dev
分支指不定有什么坑。文章源自IT老刘-https://itlao6.com/7128.html
# 切换到网站目录,以宝塔大法为例,以sspanel这个网站目录为例
cd /www/wwwroot/sspanel
# 把master分支仓库克隆到当前目录下的tmp目录下
git clone -b master https://github.com/Anankke/SSPanel-Uim.git tmp
# 将仓库移到当前目录并硬恢复仓库文件
mv tmp/.git . && rm -rf tmp && git reset --hard文章源自IT老刘-https://itlao6.com/7128.html
部署安装
程序准备就绪就可以进入安装阶段了,以下步骤执行完会安装一大坨依赖。文章源自IT老刘-https://itlao6.com/7128.html
cd /www/wwwroot/sspanel
wget https://getcomposer.org/installer -O composer.phar
php composer.phar
php composer.phar install
chown -R www.www ../sspanel文章源自IT老刘-https://itlao6.com/7128.html
如果某依赖库路径不存在,在执行 php composer.phar install
安装命令时会报错,如:文章源自IT老刘-https://itlao6.com/7128.html
Your requirements could not be resolved to an installable set of packages.
Problem 1文章源自IT老刘-https://itlao6.com/7128.html- The requested package charlottedunois/yasmin could not be found in any version, there may be a typo in the package name.文章源自IT老刘-https://itlao6.com/7128.html
此时网络上查找下,修正为正确的包路径,此处将 composer.json
中的 charlottedunois/yasmin
修改为 laravel-discord/yasmin
,然后再执行以上安装命令即可。
至此,程序安装工作就完成了。文章源自IT老刘-https://itlao6.com/7128.html
初始化
新建网站时需要初始化数据库和配置等,一般修改完成后后期就很少变动了。文章源自IT老刘-https://itlao6.com/7128.html
导入数据库文件
以下方法任选其一,傻白甜强烈建议宝塔大法。
宝塔大法界面上导入:文章源自IT老刘-https://itlao6.com/7128.html
#创建个链接到宝塔数据库备份目录
ln -s /www/wwwroot/sspanel/sql/glzjin_all.sql /www/backup/database/文章源自IT老刘-https://itlao6.com/7128.html
以上链接创建完,宝塔面板上数据库菜单点进去,点 导入
,然后选择该数据即可。或者打开 phpmyAdmin
面板去导入即可,都是可视化的界面。文章源自IT老刘-https://itlao6.com/7128.html
命令行方式导入:文章源自IT老刘-https://itlao6.com/7128.html
cd /www/wwwroot/sspanel/
mysql -u 用户 -p
#输入数据库的密码,注意:这里输入密码是看不到的,直接回车就行
use 你创建的数据库;
source sql/glzjin_all.sql;
exit;文章源自IT老刘-https://itlao6.com/7128.html
创建管理员
cd /www/wwwroot/sspanel/
# 创建管理员账号
php xcat createAdmin
# 同步管理员账号
php xcat syncusers
# 纯真 IP 数据库
php xcat initQQWry
php xcat resetTraffic
# 初始化客户端工具下载
php xcat initdownload文章源自IT老刘-https://itlao6.com/7128.html
修改配置
cd /www/wwwroot/sspanel/
cp config/.config.example.php config/.config.php
vim config/.config.php文章源自IT老刘-https://itlao6.com/7128.html
打开 .config.php
可见每行配置的注释,根据实际情况填写即可。注释都是汉字的,相信也没什么好解释的。
设置定时任务
使用 crontab -e -u www
命令编辑系统定时任务,有些任务是根据自身需求的,自行斟酌。
这几条都是必须的:
30 22 * * * php /www/wwwroot/sspanel/xcat sendDiaryMail
0 0 * * * php -n /www/wwwroot/sspanel/xcat dailyjob
*/1 * * * * php /www/wwwroot/sspanel/xcat checkjob
*/1 * * * * php /www/wwwroot/sspanel/xcat syncnode
以下是可选的:
#每 20 分钟备份 1 次
*/20 * * * * php -n /www/wwwroot/网站目录/xcat backup
#发送财务报表
5 0 * * * php /www/wwwroot/网站目录/xcat sendFinanceMail_day
6 0 * * 0 php /www/wwwroot/网站目录/xcat sendFinanceMail_week
7 0 1 * * php /www/wwwroot/网站目录/xcat sendFinanceMail_month
#检测是否被墙
*/1 * * * * php /www/wwwroot/网站目录/xcat detectGFW
#如果要用到 radius添加以下任务
*/1 * * * * php /www/wwwroot/网站目录/xcat synclogin
*/1 * * * * php /www/wwwroot/网站目录/xcat syncvpn
*/1 * * * * php -n /www/wwwroot/网站目录/xcat syncnas
系统定时任务规则可自行查看帮助,或者网络搜索解决。
如何升级
升级时前面的一些动作就不用做了,需要做的就是拉取最新的程序文件,并xcat更新下即可。
cd /www/wwwroot/sspanel
git fetch --all
#下面这个步骤默认会丢失除 .config.php 文件以外的所有改动,因此请自行做好文件备份。
git reset --hard origin/master
git pull
拉取最新的文件后,然后在网站目录下,执行下述命令升级 config
:
cd /www/wwwroot/sspanel
php xcat update
上述命令会在 迁移/更新 操作之前自动备份原 config 文件到 .config.php.bak,迁移/更新操作完成之后会为你输出新旧配置之间的差异文标题:SSPanel-uim部署记录
QA:
以下是老五遇到的问题,记录下:
- 在 php xcat createAdmin 时 报错 :PHP Warning: require(/www/wwwroot/sspanel/vendor/autoload.php): failed to open stream: No such file or directory in /www/wwwroot/sspanel/bootstrap.php on line 17
解决方案:安装composer.phar 失败导致的,将 composer.json 中的 charlottedunois/yasmin 修改为 laravel-discord/yasmin,然后重新 php composer.phar install 安装即可(如果按照稳中脚本执行,则composer.json在站点根目录) - 安装完毕,打开站点后403
解决方案:将站点运行目录指到 /public,取消勾选防跨站攻击,站点设置伪静态:
location / {
try_files $uri /index.php$is_args$args;
} - 打开站点,登录进入用户主页所有图标都显示为字母
解决方案:部分css文件国内网络无法加载,需要翻墙,如:fonts.googleapis.com、cdn.jsdelivr.net,将这些文件本地化,然后修改代码即可,可自行百度谷歌必应360查找方法
评论