Centos下搭建Shadowsocks多用户后端Manyuser+前端ss-panel

老规矩,先更新下系统:yum -y update

一、安装shadowsocks多用户后端shadowsocks-manyuser
项目地址:https://github.com/mengskysama/shadowsocks
1.先安装需要的环境依赖

Debian / Ubuntu:

apt-get install python-pip python-m2crypto

CentOS:

yum install m2crypto python-setuptools
easy_install pip

2.安装cymysql

pip install cymysql

3、安装shadowsocks-manyuser

git clone -b manyuser 
https://github.com/mengskysama/shadowsocks.git

PS:建议自己fork一份源码,原因你懂的。

如果提示没有安装git,则先安装git

yum -y install git
通过phpmyadmin创建数据库shadowsocks(名称随意),然后将shadowsocks-manyuser文件夹中的shadowsocks.sql导入到你创建的数据库中。

4、配置数据库连接
cd /用户名/shadowsocks/shadowsocks 打开Config.py所在文件夹

编辑Config.py文件:vi Config.py,修改对应的端口、密码等等操作。如下格式

#Config
MYSQL_HOST = '127.0.0.1' #这一行是服务器IP,127.0.0.1表示本机
MYSQL_PORT = 3306 #数据库端口号
MYSQL_USER = 'ss' #数据库用户名
MYSQL_PASS = 'ss' #数据库密码
MYSQL_DB = 'shadowsocks' #数据库名称
MANAGE_PASS = 'ss233333333'
#if you want manage in other server you should set this value to global ip
MANAGE_BIND_IP = '127.0.0.1'
#make sure this port is idle
MANAGE_PORT = 23333

下面这一段不知道有什么作用,貌似可以随便填

5、开启服务

python server.py

如果是一串提示“starting server at  *************”之类的就表示启动成功了

如果放在后台运行则可以,

nohup python server.py &


nohup用法可以百度,也可以用screen或者配置supervisor进程守护。我是centos用的screen,方法如下:

screen -S shadowsocks
cd /root/shadowsocks/shadowsocks/
python server.py

此时按住Ctrl+a,然后按d退出就可以了。
查看screen运行任务可以screen -ls可以看到刚才创建的ss任务在运行。

如果需要恢复执行:

screen -r shadowsocks


当然,出意外的话killall也是可以。

Shadowsocks开机自动启动并后台运行

vi /etc/rc.local


用vi编辑器添加以下内容(先按键盘Ins键,切换到编辑模式):

cd /root/shadowsocks/shadowsocks
screen -dmS Shadowsocks python server.py

然后Esc退出编辑,Shift+;打出英文半角冒号,然后wq,回车,保存文件。
(screen -dmS Shadowsocks python server.py,也就是让程序运行后就在后台了。)
至此多用户SS后端安装完毕。

debian下使用supervisor进程守护的方法
安装supervisor

apt-get install supervisor


配置supervisor进程守护
在目录/etc/supervisor/conf.d/下, 新建一个文件,名字:shadowsocks.conf
在shadowsocks.conf文件里编辑添加:

[program:shadowsocks]
command=python /shadowsocks/shadowsocks/server.py -c /shadowsocks/shadowsocks/config.json #/此处目录请自行修改
autorestart=true
user=root

修改以下文件

/etc/profile
/etc/default/supervisor


在文件结尾处添加以下3行内容

ulimit -n 51200
ulimit -Sn 4096
ulimit -Hn 8192

启动supervisor

service supervisor start

 #启动

supervisorctl reload

 #重载
debug查看连接日志等

supervisorctl tail -f shadowsocks stderr

 #Ctrl+C 取消查看

2015.8.13补充centos使用supervisor
安装

easy_install supervisor


运行

echo_supervisord_conf

测试是否安装成功。
创建配置文件:

echo_supervisord_conf > /etc/supervisord.conf


修改配置文件:
在supervisord.conf最后增加:

[program:shadowsocks]
command = python 
/server.py -c 
/config.json
autostart=true
autorestart=true
user=root

使用指定配置文件启动:

/usr/bin/supervisord -c /etc/supervisord.conf/


-c 表示配置文件的路径,读取这里个配置文件,之前也是可以根据自己的情况放在不同的文件夹下
修改配置文件之后:supervisorctl reload 重载 服务重新启动
debug查看连接日志:

supervisorctl tail -f shadowsocks stderr

 #Ctrl+C 取消查看
常用命令
控制命令基本都通过supervisorctl执行,输入help可以看到命令列表。这是一些常用命令:
获得所有程序状态 supervisorctl status

关闭目标程序 supervisorctl stop spider
启动目标程序 supervisorctl start spider
关闭所有程序 supervisorctl shutdown


二、安装shadowsocks多用户前端sspanel
1、首先安装前端所需环境,这里我用的是vestacp。LNMP环境类似,之所以选择vestacp是因为比较简单,而且PHP版本是5.4.41的。sspanel前端程序需要PHP不低于5.4,否则打开是一片空白。
安装vestacp面板步骤:
#下载安装脚本

curl -O http://vestacp.com/pub/vst-install.sh


#运行脚本

bash vst-install.sh


这里不做详述,具体可搜索之。
2、下面开始安装sspanel:
git项目地址:https://github.com/orvice/ss-panel
中文安装文档:https://github.com/orvice/ss-panel/wiki/Install-Guide-zh_cn

中文安装文档已经说明的很详细了。导入ss-panel-master里sql文件夹下面的所有数据库到你自己建立的数据库中,就是之前建立了的ss数据库,修改lib/config-sample.php(里面填写你的数据库信息)并改为:config.php即可。
修改默认配置即可。

后台默认信息:
后台地址:你的域名/admin
帐号:xxxx
密码:xx

新版sspanel后台默认用户名密码已更新,默认情况下,user表中uid为1的用户为管理员

默认管理帐号: first@blood.com 密码 1993

PS:admin账户不要删除!貌似管理员密码也只能通过数据库更改

最新管理员账号开通方法,先注册用户,然后数据库修改用户id为1即可

2、可能服务器还需要开启防火墙端口,附centos6.5修改方法:

       vi /etc/sysconfig/iptables  打开配置文件加入如下语句:
       -A INPUT -p tcp -m state –state NEW -m tcp –dport 80 -j ACCEPT   重启防火墙,修改完成