ShadowSocks多用户管理系统(SS-Panel-smarty-Edition+SSR+锐速)搭建教程
[hermit autoplay="true" mode="circulation" preload="auto"]netease_songlist#:30569173[/hermit]
现在很多人都用VPS 搭建了 shadowsocks 科学上网,刚开始 一两台VPS自用随便装,后来 VPS 买着买着就多了,闲置资源也多了,就开始考虑如何集中管理。看到网上很多人都在用SS-Panel 搭建,教程也多这里就不啰嗦了,直接 GOOGLE搜索一大堆。我就来耍耍一个修改版的 SS-Panel。
GitHub : https://github.com/Ahref-Group/SS-Panel-smarty-Edition
搭建需求:
PHP >= 5.4
PDO Extension
MCrypt Extension
Mysql >= 5.1
系统推荐用Ubuntu 14.04、Debian 7系统,32位、64位均可,推荐64位。
我选用的是 Debian 7 64bit
推荐一个非常好用的密码生成网站:
http://randomkeygen.com/
软件需求:
Xshell 5 (SSH连接):https://www.netsarang.com/download/down_xsh.html
Xftp 5 (FTP连接):https://www.netsarang.com/download/down_xfp.html
因为习惯用 Xshell 连接SSH ,所以 也一样习惯性的使用他们家的 Xftp ,真心好用方便的一对组合。在Xshell 成功连接 SSH 后,任意目录下 CTRL+ALT+F 就可以打开Xftp非常方便。
- 打开 Xshell 5 如下图操作:
点击左侧“键盘”,在右边选择“ASC”ASCII 127"。这样做可以避免在点击“BACKSPACE”按钮的时候出现“^H”符号而不删除错误字符。
- Xftp 默认的文本编辑器是 windows 自带的,非常不好用,推荐自定义。
菜单栏“工具”---“选项”---“高级”标签页---编辑器路径。修改为你常用的编辑器就可以了。我这里是EverEdit,其实Notepad++也不错。
搭建前端
也就是搭建web环境,LNMP/LAMP都可以,又或者NGINX + PHP 7 + MariaDB 10都行,只要能访问网站就行。我这里用的是军哥的 LNMP 1.3,简单方便。
LNMP一键安装包:http://lnmp.org/install.html
更新系统的预装软件:
apt-get update && apt-get upgrade -y
安装运行LNMP、SSpanel、SSR需要的软件:
apt-get install -y redis-server screen m2crypto git python-pip
使用screen命令建立一个独立会话来安装 LNMP:
screen -S lnmp
开始安装LNMP:
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
运行安装脚本后,需要回答几个问题如下图:
安装过程有些漫长,要看你的VPS性能如何,耐心等待就是了。
漫长等待过后,LNMP安装完成了就会如下图:
创建虚拟机
lnmp vhost add
过程很简单:
- 输入域名。我这里输入的是 ss.hopol.cn ,当然你要输入你自己的域名,或者直接输入IP也可以。
- 是否输入更多域名。否,输入 n <回车>
- 输入网站文件保存路径。默认是你刚输入的域名,直接 <回车>
- 是否添加伪静态规则。是,输入 y <回车>
- 伪静态规则模板,默认other,直接 <回车>
- 是否保存网站访问记录。一般都不查阅,输入 n <回车>
- 是否添加MySQL数据库用户,不添加,输入 n <回车>
创建数据库及用户
打开phpmyadmin,用刚才安装时候设置的 root 密码登录。
新建一个数据库用户 sspanel
这样数据库和用户都创建了,当然用户名及密码你要记住。
安装 SS-Panel-smarty-Edition
浏览器打开 https://github.com/Ahref-Group/SS-Panel-smarty-Edition
下载 SS-Panel-smarty-Edition-smarty.zip到桌面并且解压
请按需修改 /lib/config-sample.php 的设置,然后把文件重命名成 /lib/config.php
将 lib/Ss/Code/config-sample.php 改名为 config.php 内容不用修改。
打开 /sql 目录,将目录下 的*.sql 文件通过phpmyadmin 导入到数据库sspanel中。
打开 Xshell 5 连上 VPS 的 SSH 后
输入命令 cd /home/wwwroot/ss.hopol.cn
这里的 ss.hopol.cn 是我刚才安装的目录,你要按照你自己安装的名称修改才能打开。
按键盘 CTRL + ALT + F , 打开 Xftp,找到 /home/wwwroot/ss.hopol.cn 目录,将刚才下载并且修改过的的网站文件上传。
请确保目录 lib/Ss 有读写权限
SSH下 输入 chmod -R 777 Ss (lib目录下)
打开你的网址就可以看到 网站界面,数据库*.SQL下默认有一个邀请码为 233 。用这个邀请码注册第一个用户。然后打开数据库 找到 ss_user_admin 插入一个 uid=1 id=1 ,就设置了你刚才注册的第一个用户为管理员,以后通过 http://网址/admin 打开管理页面。
官方已经更新 ,默认不带 邀请码。 请按照官方的教程手动添加管理员。
PS. 用户等级:
A-免费用户
B-普通用户
C-普通节点不限流量用户
D-高级用户
E-高级节点不限流量用户
配置节点
分两种情况
同在一台VPS下的节点配置
一、安装节点负载
将桌面 SS-Panel-smarty-Edition-smarty 文件夹根目录下的 serverinfo.py 修改后复制到 VPS的 /root 目录下。
在SSH下输入命令
apt-get install gcc python-dev
pip install psutil
运行测试
python serverinfo.py //本脚本可独立于Shadowsocks服务端运行
如果正常会看到反馈信息。懒得截图了,累。
后台运行方式很多种,我这里用的是nohup:
nohup python /root/serverinfo.py >/dev/null 2>&1 &
二、SSR后端安装
还是喜欢用SSR https://github.com/breakwa11/shadowsocks-rss
教程:https://github.com/breakwa11/shadowsocks-rss/wiki/Server-Setup(manyuser-with-mysql)
- 安装 cymysql
cd && pip install cymysql - 下载 SSR 源码
cd && git clone -b manyuser https://github.com/breakwa11/shadowsocks.git - 修改 SSR 配置文件
A. 通过Xftp来修改。输入目录:/root/shadowsocks,将apiconfig.py改名为userapiconfig.py后修改内容。API_INTERFACE = 'sspanelv2' //修改接口类型
B. 将 mysql.json改名为usermysql.json修改内容如下:
C. 将 config.json改名为user-config.json,然后编辑:
"method":"aes-256-cfb", //修改成您要的加密方式的名称
"protocol": "auth_sha1_compatible", //修改成您要的协议插件名称
"obfs": "tls1.0_session_auth_compatible", //修改成您要的混淆插件名称 - 运行测试
python /root/shadowsocks/server.py
如果正常 就用 nohup 后台运行
在 /shadowsocks 目录下
chmod +x *.sh
nohup /root/shadowsocks/run.sh >/dev/null 2>&1 &
三、安装锐速破解版
因为我的VPS 都是 KVM ,所以必须安装锐速。
破解版用的是91yun 的:https://www.91yun.org/archives/683
SSH 下输入命令:
cd && wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh
查看锐速是否启动
/serverspeeder/bin/serverSpeeder.sh status
重启锐速
/serverspeeder/bin/serverSpeeder.sh restart
在不同的VPS下安装节点
这里拿一台 Virmach 买的 128M内存的 KVM 来做测试。
首先选用的系统是
Debian 7.0.0 x86 Minimal v1 (gen 2)
Debian 7.0.0 x86 Minimal v1 (gen 2) - Min 2GB HDD
小内存没办法了。
打开 /etc/apt/sources.list 把开头为 deb cdrom 的行 用 “#”注释掉。
之后运行命令 apt-get update 更新下,会看到如下错误:
There is no public key available for the following key IDs: xxxxxxxxxxxxxxxx
输入命令修复错误:
aptitude install debian-keyring debian-archive-keyring
再运行 apt-get update 就不会再看到错误了。
安装需要的软件
apt-get install -y redis-server m2crypto git python-pip
一、安装节点负载
入上面教程一样,修改serverinfo.py的时候要根据后台节点服务器列表修改相应的ID
二、安装 SSR
同上,只是在修改usermysql.json内容的时候:
“host”: "127.0.0.1" # 改为你对应前端网站服务器的IP,或者域名
三、安装锐速破解版
同上。
异常排查
如果节点无法访问数据库可能是vps的3306端口被iptables防火墙规则屏蔽了外部链接。
Debian7的方法
打开防火墙规则文件。
/etc/iptables.rules
删掉原来的3306规则(ACCEPT和DROP),然后加上这个规则。
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
然后重载iptables配置文件
iptables-restore < /etc/iptables.rules
Centos6的方法
打开防火墙规则文件。
/etc/sysconfig/iptables
删掉原来的3306规则(ACCEPT和DROP),然后加上这个规则。
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
然后重启iptables
/etc/init.d/iptables restart
开机启动
很多时候忘记了设置开机启动
Centos系统:
chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
Ubuntu/Debian系统:
chmod +x /etc/rc.local
vi /etc/rc.local
这个面板坑很多更新教程请浏览
版权声明:
作者:hopol
链接:https://www.hopolcn.com/2016/09/599/
来源:HopoL's Blog
文章版权归作者所有,未经允许请勿转载。
oommbb
安装此法方搭建,网站无发打开网页,求助
hopol@oommbb
肯定是 你哪一步 错了,自己排除一下
andysu
我到创建第一个用户的时候,默认邀请码233 无效,这是为什么?求解。。。默认邀请码不对了?
hopol@andysu
应该是 后来更新了,去掉了默认的邀请码。你去GitHub 参看官方说明,应该要去SQL 自建ID 为1 的用户
andysu@hopol
请问下这个版本,查看shadowsocks运行状态,重启,命令怎么写?小白自学中,求指导!
万分感谢!
hopol@andysu
就是 查看运行测试
python /root/shadowsocks/server.py
andysu
运行一段时间就会出错,显示端口被占用。。。。求解,
万分感谢
hopol@andysu
在我的VPS 里面没有遇到过这个问题 , 如果端口占用估计是VPS 主机对某些特定的端口做了 防火墙策略 你详细看看。但未必都能解
一个新手
“打开你的网址就可以看到 网站界面,数据库*.SQL下默认有一个邀请码为 233 。用这个邀请码注册第一个用户。然后打开数据库 找到 ss_user_admin 插入一个 uid=1 id=1 ,就设置了你刚才注册的第一个用户为管理员,以后通过 http://网址/admin 打开管理页面。”看不到怎办,只看到LNMP默认界面
新手
上传好,网站打不开
kgd
我在phpmyadmin的user里添加了一个用户可是在登录上怎么输入都是错误的,这是怎么回事?
lamdiablo
你好,请问一下,我要怎么添加管理员账号,一开始就没法注册,需要邀请码,不好意思我是小白
Mr.Chatwin
兑换系统出现问题 一直转圈无法成功兑换 求解答
Admin
管理员帐号怎么弄 数据库内不会插入帐号,不要意思小白
run
请问 phpmyadmin 那里 浏览器输入ip/phpmyadmin显示404怎么办
Archer_
请问怎么修改用户的默认到期时间?
kot4ri
我自己都没想到我们这个bug满天飞的玩意还真的有人用
a123zhi
妈的弄了两天好多遍还是看不到那个网站所谓的管理页面,只看到LNMP默认界面?!
tupct
Virtualhost infomation:
Your domain: 198.**.**.**
Home Directory: /home/wwwroot/198.**.**.**
Rewrite: other
Enable log: no
Create database: no
Create ftp account: no
================================================
root@debian:~/lnmp1.3-full#
为什么这个设置完之后无法访问. 403权限问题
rsg
这个管理员还是搞不定啊 博主
rsg
完全迷茫 官方文档也没有写 只是说数据库加UID1
XIXI
phpmyadmin打不开 怎么回事啊
┭┮﹏┭┮
为什么我下载的lib/Ss/Code/config-sample.php这里面没有config-sample.php文件只有code和newfile这两个php文件
hopol@┭┮﹏┭┮
年代久远,你懂!!!