Ubuntu14.04下搭建ss-panel服务器管理多用户Shadowsocks服务

依赖包预安装
apt-get install python-pip
apt-get install git
apt-get install build-essential

1、安装Nginx
sudo apt-get update  
sudo apt-get install nginx  
或者自己编译安装Nginx

2、安装mysql
sudo apt-get install mysql-server  
安装过程中设置root密码

3、安装php7.0
设置语言
sudo apt-get install language-pack-en-base  
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php  
安装php
sudo apt-get update  
sudo apt-get install php7.0 php7.0-fpm php7.0-mysql php7.0-gd php7.0-curl php7.0-mbstring php7.0-dom 

4、安装redis
sudo apt-get install redis-server 

5、安装ss-panel
选定目录/home/deploy下载安装包
git clone https://github.com/orvice/ss-panel.git  
进入目录,使用 composer 安装需要的依赖
cd ss-panel
curl -sS https://getcomposer.org/installer | php  
php composer.phar  install  
设置权限,否则会报Slim Application Error
sudo chmod -R 777 /home/deploy/ss-panel/storage/

6、初始化ss-panel的mysql数据库

mysql -u root -p

mysql>?create database shadowsocks;  
> use shadowsocks;
> source /home/deploy/ss-panel/db.sql;
> flush privileges;
> exit;

7、配置nginx支持php
server {  
    listen 80;
    server_name sspanel.badtom.cn;
    root /home/deploy/ss-panel/public/;
    index index.php index.html index.htm;
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /home/deploy/ss-panel/public/;
    }
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

8、配置php开启端口监听
进入目录/etc/php/7.0/fpm/pool.d/,编辑配置文件www.conf,
cd /etc/php/7.0/fpm/pool.d/
vi www.conf
设置端口监听
listen 127.0.0.1:9000

9、修改ss-panel配置文件.env
cp .env.example .env  
vi .env

# database 数据库配置
db_driver = 'mysql'  
db_host = 'localhost'  
db_port = '3306'  
db_database = 'shadowsocks'  
db_username = 'root'  
db_password = 'yourpassword'  
db_charset = 'utf8'  
db_collation = 'utf8_general_ci'  
db_prefix = '' 

10、重启nginx、php
nginx -s reload
service php7.0-fpm restart

11、添加管理员账号
php xcat createAdmin  

12、部署shadowsocks-manyuser
下载安装包
cd /home/deploy/software/
git clone -b manyuser https://github.com/mengskysama/shadowsocks-rm.git  
安装 cmysql 依赖
sudo pip install cymysql  
进入 shadowsocks-rm/shadowsocks 目录,修改 config.py 文件的以下项
#Config
MYSQL_HOST = 'localhost'  
MYSQL_PORT = 3306  
MYSQL_USER = 'root'  
MYSQL_PASS = 'yourpassword'  
MYSQL_DB = 'shadowsocks' 

13、启动shadowsocks
python servers.py
但这是非常驻进程,需要安装supervisor管理

14、安装supervisor服务
apt-get install supervisor

在/etc/supervisor/conf.d/目录下新建配置文件,例如ssmanyuser.conf,内容如下:
[program:ssmanyuser]
command=python /home/deploy/software/shadowsocks-rm/shadowsocks/servers.py

user=root


启动supervisor服务
root@~>supervisord
如提示已启动则先kill掉supervisor进程

启动与停止进程
supervisorctl start ssmanyuser
supervisorctl stop ssmanyuser


至此,ss-panel与Shadowsocks多用户服务器搭建完毕,可以通过前端页面动态管理Shadowsocks用户。


问题解决:

shadowsocks启动报undefined symbol: EVP_CIPHER_CTX_cleanup错误
这个问题是由于在openssl1.1.0版本中,废弃了EVP_CIPHER_CTX_cleanup函数
修改方法:

用vim打开文件:vim /usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py (该路径请根据自己的系统情况自行修改,如果不知道该文件在哪里的话,可以使用find命令查找文件位置)
跳转到52行(shadowsocks2.8.2版本,其他版本搜索一下cleanup)
进入编辑模式
将第52行libcrypto.EVP_CIPHER_CTX_cleanup.argtypes = (c_void_p,) 
改为libcrypto.EVP_CIPHER_CTX_reset.argtypes = (c_void_p,)
再次搜索cleanup(全文件共2处,此处位于111行),将libcrypto.EVP_CIPHER_CTX_cleanup(self._ctx) 
改为libcrypto.EVP_CIPHER_CTX_reset(self._ctx)
保存并退出
启动shadowsocks服务:service shadowsocks start 或 sslocal -c ss配置文件目录
问题得到解决

猜你喜欢

转载自blog.csdn.net/u010227646/article/details/80014006
今日推荐