只要你严格按照教程走,保证你能够成功!非原创,但非常好使。
一.环境准备
请事先拥有VPS/DS用以部署前后端。如果使用国内服务器,被请去喝茶请不要怪别人。如果你的VPS提供商在面板上单独提供了防火墙控制台,请先暂时放通所有端口,以免出错。
推荐的VPS基础配置:1 Core,1G RAM,10G HDD/SSD,1M(前端)~1G(后端) Network
根据本教程的要求,请安装操作系统为CentOS 6 x64。
首先,请SSH到服务器,如果你这步都不懂,请直接关闭教程,谢谢。
然后,依次使用如下命令部署LNMP环境:
1、screen -S lnmp
//此处如果提示无法找到命令,请使用yum install -y screen
安装screen插件,等待安装完毕然后把这个命令再执行一次。
2、wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz && tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full && ./install.sh lnmp
3、此时应有如下图所示,请在这里输入mysql数据库的root密码
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/1.png)
4、然后会问你是否需要启用MySQL InnoDB,请输入Y
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/2.png)
5、提示选择mysql和php版本,请根据需要选择,推荐如下:2G内存、50G硬盘或以上选择5.6或5.7,(硬盘因素不确定,不达到要求可以安装试试,大不了出错了重装系统再来一次,但是内存最好达标),如果不符合上述要求的话,mysql请选择5.5。注意第4、5项的MairaDB请不要选择!Php注意要使用7.0.7。完成前两个选择后,会提示你是否安装内存优化此处可以任选2、3之一,也可以选1不装然后请等待编译完成,如右图示,所有4个项目都OK的话,会提示Install LNMP V1.3 Complete如果提示失败,请修改上面步骤的安装选项重新来过此时,前期环境准备工作告一段落。
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/3.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/4.png)
二、域名注册、VHOST建立、VHOST配置
域名注册:此步骤请自行完成,本教程不提供帮助,如果你不懂得注册解析域名,请关闭本教程,自行闭关。
VHOST建立:本篇提供基本的VHOST配置,不提供SSL支持,如需https请自行研究。
执行exit退出screen
依次执行如下命令:
lnmp vhost add
//————执行完弹出如下图提示:
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/5.png)
此时请键入你的www开头域名,确定后弹出如下图提示
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/6.png)
输入y,会要求你再输入需要添加的域名,此时请键入你的不带www的域名。(举例:第一次输入www.baidu.com,第二次输入baidu.com)
确认后,会要求你输入VHOST网站文件保存位置,如下图
<img src="http://4gml.com.cn/wp-content/uploads/2017/05/7.png" alt="" width="403" height="38" srcset="http://doubledou.club/wp-content/uploads/2017/05/7.png 403w, doubledou.club/wp-content/uploads/2017/05/7-300×28.png
300w” sizes=”(max-width: 403px) 100vw, 403px” class=”” style=”max-width: 100%; margin: 0.5em auto; display: block; height: auto;”>
请务必输入带/home/wwwroot/前缀的完整地址(举例:/home/wwwroot/www.baidu.com)。完成后,会依次出现如下图选择三个选项请都选择n
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/8.png)
接着会出现信息确认,按任意键启动你的VHOST,如果有误,请也暂时按任意键启动然后自行查找删除vhost的方法删除再行新建即可。为了不浪费时间精力,请上面步骤认真操作,不要失误。
VHOST配置:
下面需要针对VHOST进行特定的配置修正,因为魔改的目录不在根目录。
首先请执行 vi /usr/local/nginx/conf/vhost/你刚才保存的网站文件夹名称.conf,或者FTP下载到本地修改(文件路径举例:/usr/local/nginx/conf/vhost/www.baidu.com.conf)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/9.png)
打开这个配置文件,找到下方有几处location的字段,这些字段以location为开头,下方两个{}括号之间为一个完整定义,你要做的事情,是找到如箭头所指的位置,即任意一个定义的结尾处,换行,然后插入如下字段
//————————————————
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
//————————————————
PS:代码是两个//—–中间的部分
然后,将 root /home/wwwroot/你的站点文件夹/ 这行在后面加上public,改成如下:root /home/wwwroot/你的站点文件夹/public; 改完保存。
三、魔改版前端安装
cd /home/wwwroot/你的站点文件夹
yum install git -y
git clone https://github.com/glzjin/ss-panel-v3-mod.git tmp && mv tmp/.git . && rm -rf tmp && git reset –hard
chown -R root:root *
chmod -R 755 *
chown -R www:www storage
//完成魔改版文件的下载和权限部署,然后需要对.user.ini进行修改。
chattr -i .user.ini
mv .user.ini public
cd public
chattr +i .user.ini
service nginx restart
此时暂时完成了文件系统上的操作。
有时候,你可能需要修改系统时间到北京时间,方法如下:
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
输入完回车后,请再输入y回车确认
//————————————————————————————-
!!!以下为魔改版和radius对接设置,如果不知道这是什么或者不用此功能请跳过本环节,请勿配置!!!
依次输入如下命令:
cd
yum install perl-DBI freeradius freeradius-mysql freeradius-utils
然后打开PHPMyAdmin,地址:你的服务器IP/phpmyadmin,如下图,按照要求设置。
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/10.png)
创建好后,左边会出现radius数据库,然后你需要导入数据库,先点击这个数据库,然后如右图②步,在用户右边有个导入,点击一下,选择从WEB导入这个文件(点击下载)即可,导入后,再次点击radius数据库,点击边导航栏的权限,选择下面的新建用户,用户名写:sspanelradius,Host选本地,密码自行设置。
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/12.png)
然后勾选下面的这个选项,创建即可。
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/11.png)
接着我们需要继续设置 Radius ,请返回SSH窗口。
vi /etc/raddb/sql.conf
配置login(用户名),password(密码),radius_db(数据库名)等字段为你刚才数据库的相关参数
找到readclients一行,设为yes并去掉注释符号#
执行以下五条命令以替换文件:
wget https://github.com/glzjin/Radius-install/raw/master/radiusd.conf -O /etc/raddb/radiusd.conf
wget https://github.com/glzjin/Radius-install/raw/master/default -O /etc/raddb/sites-enabled/default
wget https://github.com/glzjin/Radius-install/raw/master/dialup.conf -O /etc/raddb/sql/mysql/dialup.conf
wget https://github.com/glzjin/Radius-install/raw/master/dictionary -O /etc/raddb/dictionary
wget https://github.com/glzjin/Radius-install/raw/master/counter.conf -O /etc/raddb/sql/mysql/counter.conf
导入完成后,执行如下命令
service radiusd start && chkconfig radiusd on
!!!至此,radius配置完成!!!
//————————————————————————————-
接着用winscp登陆到你的服务器,然后在/home/wwwroot/你的域名/sql目录下找到glzjin_all.sql,保存在你的本地电脑上。
然后打开PHPMyAdmin,地址:你的服务器IP/phpmyadmin,我们需要新建一个魔改版的用户和数据库,参考radius对接的方法即可。
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/10.png)
但是其中,用户名请更换成sspanel,其余步骤一致。然后我们需要导入数据库,先点击左侧导航栏里刚刚新建出来的sspanel数据库,参考下图导入魔改版目录下的 glzjin_all.sql
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/13.png)
完成后,返回SSH窗口,执行如下命令:
cd /home/wwwroot/你的网站文件夹
php composer.phar install
cp config/.config.php.example config/.config.php
vi config/.config.php
(为了方便配置,建议winscp下载此.config.php文件到本地,用sublime text 3之类的工具进行编辑)
注意,如果此文件配置不对会导致一大堆不知道什么鬼的问题,如果你配置完又又又又遇到了各种问题麻烦回来把这个文件反反复复仔仔细细认认真真检查一遍,谢谢!
为了保证本教程质量,我花点时间给你认认真真一行一行注释过去,按照要求修改谢谢。没有注释的字段表示我不改或者没必要改的选项,以下图片是文件按顺序截图得来
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/14.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/15.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/16.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/17.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/18.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/19.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/20.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/21.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/22.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/23.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/24.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/25.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/26.png)
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/27.png)
以上为config相关配置。完成后,保存即可。如果使用FTP到本地修改,请上传到原目录下覆盖
配置完需要创建管理员并进行同步。***如果config设置错误,此步骤将报错!***
引用原文“不过这个管理的话,不会自动同步到 radius ,需要在网站上注册的才可以。”
切换到SSH窗口,在你的网站目录下执行以下命令创建管理员:
php xcat createAdmin
按照提示,输入管理员邮箱密码等信息,然后执行以下命令同步用户:
php xcat syncusers
此时管理员创建完成。
接下来需要对服务器进行计划任务的设置,执行以下命令:
crontab -e
//提示找不到该命令请安装cron再来,命令:yum install -y vixie-cron
按 I 编辑 (字母I,键盘对应U右边的那个)
30 22 * * * php /home/wwwroot/你的站点文件夹名/xcat sendDiaryMail
*/1 * * * * php /home/wwwroot/你的站点文件夹名/xcat synclogin
*/1 * * * * php /home/wwwroot/你的站点文件夹名/xcat syncvpn
0 0 * * * php -n /home/wwwroot/你的站点文件夹名/xcat dailyjob
*/1 * * * * php /home/wwwroot/你的站点文件夹
/xcat checkjob
*/1 * * * * php -n /home/wwwroot/你的站点文件夹名/xcat syncnas
然后按esc,再按住shift,点两次z保存。
最后,以防万一,修改一下防火墙设置以免数据库不通
执行:vi /etc/sysconfig/iptables
检查3306端口的设置,请修改为和下方的参数一致。
![]((null))
四、魔改版后端安装
前端是你的流控网站,后端是你要添加的ssr代理服务器
在SSH登录后,依次执行如下命令:
yum install python-setuptools && easy_install pip
yum install git
yum -y groupinstall “Development Tools”
wget https://github.com/jedisct1/libsodium/releases/download/1.0.10/libsodium-1.0.10.tar.gz
tar xf libsodium-1.0.10.tar.gz && cd libsodium-1.0.10
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig
cd
pip install cymysql
git clone -b manyuser https://github.com/glzjin/shadowsocks.git
cd shadowsocks
chmod +x *.sh
cp apiconfig.py userapiconfig.py
cp config.json user-config.json
vi userapiconfig.py
此时应该打开userapiconfig.py的修改页面
注意,没有说明的参数请不要修改,除非你明白修改这个参数带来的后果
如图,node_id = 1,把1修改为你的节点编号
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/29.png)
编号在管理面板,节点管理查看,如图
注意,节点编号不带#,#3请填写3
Speedtest = 6,把6修改为你在config设置的值
Cloudsafe =1,建议不修改,antissattack = 0,如果改为1则启用防攻击模式
Autoexec =0,这个选项如果没有部署自动下发请保持为0,否则改为1,前提是你懂得怎么用。
修改完上述参数,往下翻,找到如下图代码
![](https://i0.wp.com/4gml.com.cn/wp-content/uploads/2017/05/30.png)
其中host填写数据库所在主机IP
User填写sspanel
Pass填写你自己设置的密码
Db填写sspanel
下方的SSL_Enable,如果没有启用SSL,加密数据库与服务端的连接,请保持0
否则填写相应参数,具体方法查看这里
保存退出后,对于SSR魔改后端的安装已经完成。
现在,可以执行python server.py进行纠错,查看是否有报错的情况
运行方式部署:(以下两种方案任选)
Ⅰ、使用run.sh运行:
chmod +x /etc/rc.local
vi /etc/rc.local
在空白行插入如下内容/root/shadowsocks/run.sh然后保存退出
echo “echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all” >>/etc/rc.d/rc.local
禁ping安全措施
完成后执行reboot即可启动
Ⅱ、使用supervisord运行(更稳定,崩溃后服务自动重启):
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm –quiet
yum install supervisor python-pip -y
pip install supervisor==3.1
chkconfig supervisord on
wget https://github.com/glzjin/ssshell-jar/raw/master/supervisord.conf -O /etc/supervisord.conf
wget https://github.com/glzjin/ssshell-jar/raw/master/supervisord -O /
etc/init.d/supervisord
vi /etc/supervisord.conf
替换[program:ssshell]的段落,如果没有,直接插入
修改、插入改成如下的,以 /root/shadowsocks/ 为例(适用本教程)
[program:mu]
command=python /root/shadowsocks/server.py
directory=/root/shadowsocks
autorestart=true
startsecs=10
startretries=36
redirect_stderr=true
user=root ; setuid to this UNIX account to run the program
log_stdout=true ; if true, log program stdout (default true)
log_stderr=true ; if true, log program stderr (def false)
logfile=/var/log/mu.log ; child log path, use NONE for none; default AUTO
;logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
;logfile_backups=10 ; # of logfile backups (default 10)
保存退出
vi /etc/init.d/supervisord
在这两行之间添加 ulimit -n 51200
echo -n $”Starting supervisord: ”
ulimit -n 51200
daemon supervisord -c /etc/supervisord.conf
然后保存退出,执行以下命令:
service supervisord start
五、关于更新:
此流控官方已停止更新,年底会有新版流控,敬请期待。
六、致谢
感谢赵大对魔改版的无私贡献,感谢本文原作者的用心编写,实乃精彩教程,如有搭建问题欢迎加群437308310,关于本项目如有更多问题可查看官方文档https://github.com/esdeathlove/ss-panel-v3-mod/wiki