[整理]通过ss-panelv3调用shadowsocks-go管理多用户

由于SS-panel V3增加了一些功能,但是调用传统的shadowsocks manyuser无法实现一些功能,所以可以通过shadowsocks-go来实现这些功能,下面是整理的一些安装信息。


来源:https://wrlog.com/shadowsocks-go.html

ss-panelv3安装基本上很简单,需求git组件,默认Centos6带的是1.7.1但是不利于后文ss-go的安装,所以我们这里直接编译安装最新的版本,截止到文章是2.2.1.如果你之前已经用yum install git 命令安装了老版本,那么需要先卸载
基础组件安装:
安装:
yum -y install gcc automake autoconf libtool make
安装g++:
yum install gcc gcc-c++
yum install zlib-devel
yum remove git
yum openssl-devel
yum expat-devel
yum gettext-devel
yum asciidoc
yum xmlto
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel   //检查是否有遗漏
然后开始安装:
># wget https://github.com/git/git/archive/v2.2.1.tar.gz
># tar zxvf v2.2.1.tar.gz
># cd git-2.2.1
># make configure
># ./configure –prefix=/usr/local/git –with-iconv=/usr/local/libiconv
># make all doc
># make install install-doc install-html
># echo “export PATH=$PATH:/usr/local/git/bin” >> /etc/bashrc
# source /etc/bashrc
如果还不行,尝试重新编译:
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz
tar xzvf gitlatest.tar.gz
cd git20111130 #你的目录可能不是这个
autoconf
./configure
make
sudo make install

查看版本号

># git –version
# git –version >git version 2.2.1
安装完毕
然后开始安装ss-panel

Step 0

git clone https://github.com/orvice/ss-panel.git    //下载程序包

Step 1

$ curl -sS https://getcomposer.org/installer | php   //获取composer包
$ php composer.phar  install    //安装

Step 2

cp .env.example .env    /更改配置文件
then edit .env
chmod -R 777 storage     //更改权限

Step 3

Import the sql to you mysql database.    //导入ss-panel目录内的数据库文件到你的mysql数据库中,具体怎么操作,这里就不再赘述了

Step 4

Nginx Config example:                                    //去nginx配置目录下写入重定向规则
if you download ss-panel on path /home/www/ss-panel     //如果你的ss-panel目录是/home/www/ss-panel的话,那么就在下面的配置中写入相应的目录后面别忘了加上真正目录/public
root /home/www/ss-panel/public;

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

Step 5

在相应的ss-panel目录修改文件权限chown -R www /home/www/ss-panel            //相对应去修改你自己的目录

Step 6

ss-panel v3 配置说明,请根据说明合理选择密码加密方式,认证方式等。
修改站点以及数据库配置都在:
vim .env

Auth Driver 认证设置

ss-panel v3支持多种存储用户认证信息的方式:
  • cookie 同v2的认证方式,不推荐。
  • redis 使用Redis存储,推荐此方式。
推荐使用redis

安装Redis

如果你是使用lnmp搭建的网站环境,进入lnmp解压后的目录,执行:./addons.sh install redis 来安装。很方便。
如果是centos  使用 yum install redis

密码加密方式

  • md5 不推荐
  • sha256 推荐

添加管理员

在网站根目录下执行
php xcat createAdmin
根据提示创建管理员帐号。
创建成功后登录可以在域名/admin进行管理

重置流量

php xcat resetTraffic

注意

如果都设置好了,运行网站测试的时候提示出现一个应用程序错误。是因为你没安装redis,并且.env文件默认的参数authDriver = ‘redis’ ,只要去安装redis就正常了。

这样ss-panel前端环境就搭建好了,下面进入后端shadowsocks-go的安装:
由于ss-go是用go语言写的,所以我们要下载go语言环境:http://www.golangtc.com/download 这是源码包地址
wget -c https://storage.useso.com/golang/go1.6.linux-amd64.tar.gz    //根据你的系统版本选择相应的环境包
tar -C /usr/local -xzf go1.6.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
export GOPATH=~/.go
接下来安装ss-go mu
go get github.com/orvice/shadowsocks-go    或者使用 git clone git://github.com/orvice/shadowsocks-go
cd ~/.go/src/github.com/orvice/shadowsocks-go/mu
go get
go build
cp example.conf ~/.go/bin/config.conf
vim ~/.go/bin/config.conf
[base]
N 1
ip 0.0.0.0
client webapi
checktime 60
synctime 60
[webapi]
url http://xxxxx.com/mu  /你的域名,后面别忘了跟mu
key xxxx                你的ss-panel .env文件的key秘钥
node_id 1
[mysql]
host 127.0.0.1:3306
user user
pass pass
db db
table table
[redis]
host localhost:6379
# if no passwd set,comment this line
#pass “”             //这里注释掉
#db 1
接下来开启go
cd ~/.go/bin/
./mu
如果不出意外,就看到正常的启动界面了。如果出错可以使用
./mu -debug
查看相关的错误信息
这样的话就把前端的和后端关联起来,我们的目的就达到了,下面是添加守护进程,常住后台:

安装easy_install supervisor
运行echo_supervisord_conf测试是否安装成功。
创建配置文件:
echo_supervisord_conf > /etc/supervisord.conf
修改配置文件:
在supervisord.conf最后增加:
[program:shadowsocks]
command = /root/.go/bin/mu
directory = /root/.go/bin/
user=root
autostart=true
autorestart=true
stderr_logfile = /var/log/shadowsocks.log
stdout_logfile = /var/log/shadowsocks.log
startsecs=3
使用指定配置文件启动:/usr/bin/supervisord -c /etc/supervisord.conf
-c 表示配置文件的路径,读取这里个配置文件,之前也是可以根据自己的情况放在不同的文件夹下
修改配置文件之后:supervisorctl reload 重载 服务重新启动
debug查看连接日志:supervisorctl tail -f shadowsocks stderr #Ctrl+C 取消查看
设置supervisord开机启动
编辑文件:vi /etc/rc.local
在末尾另起一行添加supervisord,保存退出(和上文类似)。
另centos7还需要为rc.local添加执行权限
chmod +x /etc/rc.local
至此运用supervisord控制shadowsocks开机自启和后台运行设置完成
常用命令
控制命令基本都通过supervisorctl执行,输入help可以看到命令列表。这是一些常用命令:
获得所有程序状态 supervisorctl status
关闭目标程序 supervisorctl stop shadowsocks
启动目标程序 supervisorctl start shadowsocks
关闭所有程序 supervisorctl shutdown
正常查看日志为supervisorctl tail -f shadowsocks stderr,可是有些懒人觉得太长,那么我们就精简一下吧,利用linux自带的alias功能
vim ~/.bashrc
添加一行
alias xxxxx=’supervisorctl tail -f shadowsocks stderr’    //这里的xxxxx是你自定义的命令,只要不和已有的命令冲突即可。
保存退出后,正常需要登出才会生效,这里我们输入:
source ~/.bashrc         //直接把命令导入到我们的环境中
这样以后直接输入xxxxx就可以显示后台的日志了。
ok 就是这样,enjoy it!

发表评论