魔改版再改版 ss-panel-v3-mod_Uim 前后端搭建

项目主页: 基于ss-panel-v3-mod的 UI 修改版
环境CENTOS 7 最小化安装,默认关闭selinux及firewalld

前端

宝塔面板及LNMP环境

这个就不多说了

下载程序

cd 网站根目录

git clone -b master https://github.com/NimaQu/ss-panel-v3-mod_Uim.git tmp && mv tmp/.git . && rm -rf tmp && git reset --hard

安装依赖

wget https://getcomposer.org/installer -O composer.phar
php composer.phar
php composer.phar install
chmod -R 755 ${PWD}
chown -R www:www ${PWD}
mv tool/alipay-f2fpay vendor/
mv -f tool/cacert.pem vendor/guzzle/guzzle/src/Guzzle/Http/Resources/
mv -f tool/autoload_classmap.php vendor/composer/

配置文件

cp config/.config.php.example config/.config.php

修改配置文件(也可以在宝塔页面修改,后面章节有说明)

vi config/.config.php

伪静态设置

宝塔-网站-设置-伪静态,添加如下

location / {
                        try_files $uri $uri/ /index.php$is_args$args;
                }

伪静态

网站目录设置

将运行目录改为/public

运行目录

修改目录权限将 storage 目录权限改为 www 777

目录权限

禁用函数

宝塔用户可能会在超过某一数量节点的时候出现 ~Undefined offset :0 in 你的网站路径 这个错误, 这个问题会导致后端无法进行连接,可以按照以下方法解决

宝塔-软件管理-php7.1设置

在禁用函数一栏找到 systemproc_open 去除它,(我多去除了两个,proc_get_statuspopen

在性能调整中,把 PHP 运行模式设置为 静态

在配置文件中 按 Ctrl+F 搜索 display_errors = 改为 Off 后保存

去除禁用函数

运行模式

配置文件

导入数据库

Github项目主页下载,https://github.com/NimaQu/ss-panel-v3-mod_Uim

下载数据库文件

下载后解压,找到数据库文件 sql/glzjin_all.sql

宝塔-数据库-导入

导入数据库文件

添加计划任务

执行 crontab -e 命令, 添加以下四条

30 22 * * * php /网站目录/xcat sendDiaryMail
0 0 * * * php -n /网站目录/xcat dailyjob
*/1 * * * * php /网站目录/xcat checkjob
*/1 * * * * php /网站目录/xcat syncnode

创建管理员并同步用户

php xcat createAdmin          //创建管理员
php xcat syncusers            //同步用户
php xcat initQQWry            //下载IP解析库
php xcat resetTraffic         //重置流量
php xcat initdownload         //下载ssr程式

其他计划任务可选

如果需要自动备份,可添加以下一条 (此例为每20分钟备份1次)

*/20 * * * * php -n /网站目录/xcat backup

如果需要财务报表,可选添加以下三条

5 0 * * * php /网站目录/xcat sendFinanceMail_day
6 0 * * 0 php /网站目录/xcat sendFinanceMail_week
7 0 1 * * php /网站目录/xcat sendFinanceMail_month

如果需要检测被墙,添加以下一条

*/1 * * * * php /网站目录/xcat detectGFW

如果要用到radius,需要添加下面这三条

*/1 * * * * php /网站目录/xcat synclogin
*/1 * * * * php /网站目录/xcat syncvpn
*/1 * * * * php -n /网站目录/xcat syncnas

其他可添加命令

参考 /www/wwwroot/ss.augustdoit.bid/app/Command 下的php文件

前端更新

git stash
git pull
php xcat update

后端手动

安装libsodium以支持更多的加密方式

timedatectl set-timezone Asia/Shanghai
yum -y groupinstall "Development Tools"
yum -y install wget vim
wget https://github.com/jedisct1/libsodium/releases/download/1.0.16/libsodium-1.0.16.tar.gz
tar xf libsodium-1.0.16.tar.gz && cd libsodium-1.0.16
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig

下载后端

cd
yum -y install python-setuptools
easy_install pip
git clone https://github.com/wewall/shadowsocks
cd shadowsocks
pip install -r requirements.txt
cp apiconfig.py userapiconfig.py
cp config.json user-config.json

配合前端填写userapiconfig.py:

vi userapiconfig.py

数据库对接:

NODE_ID = %//替换为前端对应的nodeid
API_INTERFACE = 'glzjinmod'
MysqlMYSQL_HOST = '%'//替换为前端对应的数据库地址
MYSQL_PORT = 3306
MYSQL_USER = '%'
MYSQL_PASS = '%'
MYSQL_DB = '%'
MANAGE_BIND_IP = '%'//替换为前端管理地址

WEBAPI对接:

NODE_ID = %//替换为前端对应的nodeid
WEBAPI_URL = '%' //替换为你的网站非CDN地址
WEBAPI_TOKEN = '%'

可选项:

MANAGE_PASS = '%'//替换为一个复杂的密码

保存后启动后段测试是否可以运行:

python server.py

则有问题根据报错信息来找原因。

确定没问题后,结束,输入如下命令将程序放到后台运行:

./run.sh

开机启动脚本

方法一

vi /etc/rc.d/rc.local
# 加入如下字段
sh /root/shadowsocks/run.sh
#赋予可执行权限
chmod +x /etc/rc.d/rc.local
#然后重启
reboot

方法二

配置supervisord

yum install supervisor -y
systemctl enable supervisord
wget https://saku.moe/resource/supervisord.conf -O /etc/supervisord.conf
systemctl start supervisord

默认仓库应该是 /root/shadowsocks ,如果不是,请自行修改 supervisord.conf 最底部 [program:mu] 中的 directory

优化设置

参考 SSR后端优化

补充

dgchost 及 linode 小鸡安装出错解决办法

后端安装不了easy_install pip,用下面方法

yum -y install epel-release
yum install python-pip

如果pip install -r requirements.txt超时

pip install -r requirements.txt --default-timeout=100

或者

pip install -r requirements.txt --trusted-host pypi.python.org