折腾了一天遇见了各种怪异问题终于在 Centos 和 AMH 环境中成功搭建了Shadowsocks 多用户前后台
首先介绍一下我 AMH 5.1 环境所使用的组件
以下这几项应该属于是必装
php-5.4.41 nginx-generic-1.6.0 mysql-generic-5.5.40 pdo_mysql-1.0
以下几项建议安装因为比较常用
eAccelerator zendx mysqli-1.5 sockets-1.0 mcrypt-1.0 soap-1.0
具体 AMH 环境安装步骤不在啰嗦很简单,很傻瓜 。
但是由于AMH 的特殊可以可以同时运行多个环境导致在 SSH 或者 python 中无法正常链接 MySQL
具体解决办法参见 :
下面开始安装 Shadowsocks
1.安装必要组件
yum clean all yum update yum install m2crypto python-setuptools git -y easy_install pip supervisor pip install cymysql
2.下载 Shadowsocks python 多用户版
git clone -b manyuser https://github.com/breakwa11/shadowsocks.git
3.切换目录编辑 Shadowsocks 数据库链接信息
cd /root/shadowsocks vi Config.py
4.创建数据库导入数据库。这里不再累赘 (我直接用 phpMyAdmin 创建并导入)
5.测试运行
python server.py
6.配置supervisord进程守护
echo_supervisord_conf > /etc/supervisord.conf
7.编辑supervisord.conf向文件末尾添加配置信息
vi /etc/supervisord.conf
[program:shadowsocks] command=python /root/shadowsocks/server.py -c /root/shadowsocks/config.json autostart = true autorestart = true user=root stdout_logfile = /tmp/shadowsocks.log stderr_logfile = /tmp/shadowsocks_err.log
8.最后设置开机启动
vi /etc/rc.local
在末尾添加
supervisord
supervisorctl stop shadowsocks //终止shadowsocks
supervisorctl restart shadowsocks //重启shadowsocks
supervisorctl //查看运行状态
udp_server = udprelay.UDPRelay(a_config, self.dns_resolver, False)
udp_server.add_to_loop(self.loop)
self.udp_servers_pool.update({port: udp_server})
然后到VIP节点的后端修改db_transfer.py,在81行
SELECT port, u, d, transfer_enable, passwd, switch, enable FROM user后面加上where plan=’B’
SELECT port, u, d, transfer_enable, passwd, switch, enable FROM user where plan=’B’
#加到最后面
ulimit -n 65535
#刷新配置
source /etc/profile
接下来安装 SS-Panel
1.下载 SS-Panel
git clone https://github.com/orvice/ss-panel.git front
2.修改配置文件 /lib/config-simple.php 改名为 config.php 并设置数据库信息 (这里注意因为是要和 Shadowsocks 对接所以要设置 Shadowsocks 同一个数据库)
3.把SQL目录中的 SQL 文件导入 数据库 完成安装
其实在使用过程中发现 SS-Panel 代码写的确实不敢恭维。但是开源精神可嘉。暂不做过多评论
下面详细说下修复几个严重错误解决后台无法设置用户信息的地方
> 1 . 替换 admin/user_edit.php JS 部分 (原因 post 字段 user_id 写成了 uid 并且页面没有引入 JQuery )
> 2. 修改 admin/_user_edit.php (修复流量设置单位换算)
$transfer_enable = $_POST['transfer_enable']; //替换成 $transfer_enable = $_POST['transfer_enable']*1024*1024*1024;
> 3. 修改 lib/Ss/User/User.php (修复 updateUser 拼写错误)
function updateUser($name,$email,$passwd,$transfer_enable,$invite_num){ return $this->db->update($this->table,[ "user_name" => $name, "email" => $email, "passwd" => $passwd, "transfer_enable" => $transfer_enable, "invite_num" => $invite_num ],[ "uid" => $this->uid ]); }
最后安装一下 net-speeder 神器 原因你懂得 我已经做好了一键安装
1.安装
wget --no-check-certificate https://raw.githubusercontent.com/x91270/Net_Speeder/master/netspeeder.sh
sh netspeeder.sh
2.启动
service netspeederd start
3.停止
service netspeederd stop
All Done . GoodLuck
出现这个是什么原因unix:///tmp/supervisor.sock no such file
我来留下脚印
出现这个是什么原因unix:///tmp/supervisor.sock no such file
配置文件修改stdout_logfile = /tmp/shadowsocks.logstderr_logfile = /tmp/shadowsocks_err.log
好像没什么关系?
你改下试试
无意溜达到了你的网站 留下足迹
我来留下脚印
秒赞不是偶然,是一种态度!
导入数据库…数据库文件呢