搭建自己的shadowsocks分享服务器
本文针对 ss-panel V2 版本的教程,更新于 2018-1-4
服务器vultr、digitalocean,系统版本Ubuntu 16.04.3 LTS
上测试通过
周末本想出去转转,无奈帝都的雾霾太大,只能在家里撸码,整了一个ss账号分享平台,在这记录一下过程吧。
本文是基于Ubuntu 14.04下使用后端manyuser和前端ss-panel,使用nginx做代理所搭建的。
服务器推荐vultr、digitalocean。
过程
首先我们远程登录服务器,安装nginx,mysql和php,具体命令如下:
1 | root@ubuntu-512mb-sfo1-01:~# apt-get update |
过程中如果没有错误,那就说明我们安装成功了,如果服务器中有这些环境,则可以忽略对应的步骤。
接下来我们就要创建数据库了,运行mysql -u root -p
,输入root
密码。开始创建shadowsocks
数据库,具体 SQL:create database shadowsocks;
如下图:
然后建立一个名为ss,密码为ss的MySQL用户,因为这个用户只能本地登录,所以密码简单点也无所谓:
1 | mysql> grant all privileges on shadowsocks.* to ss@localhost identified by 'ss'; |
创建完成我们退出MySQL:
1 | mysql> exit; |
到这步,我们的数据库已经完成了。下面我们来安装shadowsocks ss-panel supervisor,一次执行下面的命令:
1 | root@ubuntu-512mb-sfo1-01:~# apt-get install python-pip git python-m2crypto |
如果是服务器上没有git,则需要先安装git,具体如下:
1 | root@ubuntu-512mb-sfo1-01:~# pip install git |
然后我们来修改配置文件/root/shadowsocks/shadowsocks/Config.py
1 | #Config |
然后我们还要修改这个文件/root/shadowsocks/shadowsocks/config.json
1 | { |
然后我们来导入数据库。进入MySQL:
1 | root@ubuntu-512mb-sfo1-01:~# mysql -u root -p |
导入数据库之后,我们在shadowsocks目录下运行一下server.py,具体如下:
1 | root@ubuntu-512mb-sfo1-01:~# cd shadowsocks/shadowsocks/ |
没有error的话,ctrl + c结束进程,我们进行下一步,安装守护进程,这样重启以后或者程序崩了还能自己重启。
1 | root@ubuntu-512mb-sfo1-01:~# apt-get install python-pip python-m2crypto supervisor |
然后我们需要新建两个文件,具体如下:
1 | root@ubuntu-512mb-sfo1-01:~# vim /etc/supervisor/conf.d/shadowsocks.conf |
具体内容为:
1 | [program:shadowsocks] |
再创建一个文件
1 | root@ubuntu-512mb-sfo1-01:~# vim /etc/supervisor/conf.d/cgi.conf |
具体内容为:
1 | [program:cgi] |
然后命令:
1 | root@ubuntu-512mb-sfo1-01:~# cd shadowsocks/shadowsocks |
在以下两个文件/etc/profile
和/etc/default/supervisor
结尾添加如下代码:
1 | ulimit -n 51200 |
至此ss的后端服务已经搞定了,现在我们来整前端界面:
1 | root@ubuntu-512mb-sfo1-01:~# cd /usr/share/nginx/ |
重命名文件夹,
1 | root@ubuntu-512mb-sfo1-01:~# mv ss-panel ss |
现在来修改文件夹权限,
1 | root@ubuntu-512mb-sfo1-01:~# cd /usr/share/nginx/ |
然后我们需要将ss-panel中的数据库导入我们刚刚创建的数据库中,还是进入MySQL:
1 | root@ubuntu-512mb-sfo1-01:~# mysql -u root -p |
然后我们来修改配置文件
1 | root@ubuntu-512mb-sfo1-01:~# cd /usr/share/nginx |
以下是congfig.php文件的内容我们可以针对自己的需求来修改,重点先修改
1 | //Define DB Connection 数据库信息 |
完整的配置文件
1 |
|
到此,ss-panel前端界面也安装完毕,然后我们需要修改一下Nginx配置文件,
1 | root@ubuntu-512mb-sfo1-01:~# cd /etc/nginx/sites-available/ |
把default文件修改成
1 | server { |
然后重启一下
1 | root@ubuntu-512mb-sfo1-01:~# shutdown -r now |
然后我们访问http://ip:443
就可以看到ss-panel前端界面了:
后端我们可以http://ip:443/admin
界面如下
如果不知道账户名,密码的话,我们可以去数据库查一下,我们可以登录数据库中,看一下shadowsocks
库中的表
我们可以查一下ss_user_admin
表和user
看一下管理员和用户,然后登录后台,进行相应地操作。如果要设置新的管理员,我们可以再导入 user.sql 之前修改里面的信息
或者我们直接写 SQL 语句来修改,mysql -u root -p
,进入 mysql,切换 DataBase为 shadowsocks
,执行下面的 SQL 预计即可
1 | UPDATE user SET user_name = 'user_name', email = '邮箱', pass = 'md5-32位小写'; |
然后通过http://ip:443/admin
登录
到此,ss前后台管理多用户的分享平台就这样建成了。