v3 Guide - maxidea-com/ss-panel GitHub Wiki
完整版中文安装说明
由于IT行业的特殊需要,shadowsocks几乎成为每个IT人员的必须工具,本教程涵盖shadowsocks多用户服务器端及ss-panel控制台安装方式,仅供参考。
注意:本教程基于ss-panel v3.0 及 ubuntu linux,服务器端包含:nginx、mysql、php5-fpm、redis。
ss-panel控制台使用本人定制的版本:https://github.com/maxidea-com/ss-panel (基于https://github.com/orvice/ss-panel)
感谢 orvice (ss-panel & shadowsocks-go mu)、mengskysama (shadowsocks manyuser) 对开源的贡献!
1)设置服务器基本配置
apt-get update #更新源
1.1)设置中国时区
tzselect #运行后选择“Asia->China->Beijing Time”
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
date #此时时区正确显示为CST,例如: Sat Feb 13 16:55:55 CST 2016
1.2) 设置中文支持
vi /var/lib/locales/supported.d/local
写入:
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.GB18030 GB18030
dpkg-reconfigure locales #修改完local后重设本地语言支持
设置vi的中文支持 vi /etc/vim/vimrc 添加:
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set encoding=prc
2)安装Redis\MySQL\PHP\Nginx
2.1)安装Redis
ss-panel v3支持多种存储用户认证信息的方式,推荐使用Redis存储
apt-get install redis-server #安装完成保持默认配置即可
2.2)安装和配置MySQL
apt-get install mysql-server #安装过程会提示配置root用户密码,例如: pw123456
启动mysql:
service mysql start
创建ss用的mysql用户及数据库:
mysql -u root -p #输入root用户密码pw123456,进入mysql交互命令行
创建名为sspanel的数据库:
mysql>CREATE DATABASE sspanel character SET utf8;
创建用户ssuser密码sspasswd:
mysql>CREATE user 'ssuser'@'localhost' IDENTIFIED BY 'sspasswd';
设置ssuer对数据库sspanel的管理权:
mysql>GRANT ALL privileges ON sspanel.* TO 'ssuser'@'localhost';
mysql>FLUSH PRIVILEGES;
mysql>quit
创建一个快捷命令,进入mysql数据库,下次登录生效:
vi ~/.bash_aliases
添加一行:
alias ssdb='mysql --user=ssuser --password=sspasswd --host=localhost'
2.3) 安装PHP、Nginx、Git等
apt-get install git curl php5 php-guzzle php5-mysql nginx php5-fpm
2.4)安装PIP,并通过PIP安装cymysql
apt-get install python-pip python-m2crypto
pip install --upgrade pip
pip install --upgrade setuptools
pip install cymysql
3)安装Shadowsocks多用户版本
3.1) 安装shadowsocks manyuser
系统安装到/opt下:
cd /opt
git clone -b manyuser https://github.com/mengskysama/shadowsocks.git
导入初始化数据库:
cd ./shadowsocks/shadowsocks
mysql -u ssuser -psspasswd sspanel < ./shadowsocks.sql
修改配置:
vi Config.py
MYSQL_HOST = 'localhost'
MYSQL_PORT = 3306
MYSQL_USER = 'ssuser'
MYSQL_PASS = 'sspasswd'
MYSQL_DB = 'sspanel'
设置默认的加密方式:
vi config.json
{
"server":"0.0.0.0", #除了容器以外,VPS等云主机一般需要设置为公网IP地址
"server_ipv6": "[::]",
"server_port":8388,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"m",
"timeout":300,
"method":"aes-256-cfb"
}
测试运行shadowsocks服务器端:
service mysql start
python ./server.py
看到以下输出就为正常安装成功:
INFO: loading config from config.json
shadowsocks
2016-02-15 16:26:01 INFO db start server at port [50000] pass [0000000]
2016-02-15 16:26:01 INFO start server at 50000
2016-02-15 16:26:01 INFO starting server at 0.0.0.0:50000
3.2) 安装进程管理工具supervisor
apt-get install supervisor
新增shadowsocks的配置文件:
vi /etc/supervisor/conf.d/shadowsocks.conf
[program:shadowsocks]
command=python /opt/shadowsocks/shadowsocks/server.py -c /opt/shadowsocks/shadowsocks/config.json
autorestart=true
user=root
启动
service supervisor start
supervisorctl reload
修改以下文件
/etc/profile
/etc/default/supervisor
结尾添加3行:
ulimit -n 51200
ulimit -Sn 4096
ulimit -Hn 8192
debug查看日志:
supervisorctl tail -f shadowsocks stderr
启动/重启/停止:
supervisorctl start/restart/stop shadowsocks
4)安装ss-panel
4.1)下载ss-panel
cd /opt
git clone https://github.com/maxidea-com/ss-panel.git
4.2) 下载php框架
curl -sS https://getcomposer.org/installer | php -- --install-dir=/bin --filename=composer
cd /opt/ss-panel/
composer install
chmod -R 777 storage
4.3) 设置ss-panel
cp .env.example .env
vi .env
// ss-panel v3 配置
//
// !!! 修改此key为随机字符串确保网站安全 !!!
key = 'testsiteforsspanel'
debug = 'false' // 正式环境请确保为false #如果启动站点出现“Slim Application Error”,则把debug设置为‘true’,即可在页面上查看错误日志。
appName = 'ss控制平台v3.0' //站点名称
baseUrl = 'http://sspanel.yourdomain.com' // 站点地址
timeZone = 'PRC' // RPC 中国时间 UTC 格林时间
pwdMethod = 'sha256' // 密码加密 可选 md5,sha256
salt = '' // 密码加密用,从旧版升级请留空
theme = 'default' // 主题
authDriver = 'redis' // 登录验证存储方式,推荐使用Redis 可选: cookie,redis
sessionDriver = 'redis'
cacheDriver = 'redis'
// 邮件
mailDriver = 'mailgun' // mailgun or smtp #如需使用邮件提醒,例如邮件找回密码,请注册mailgun账号并设置 (https://mailgun.com/)
// 用户签到设置
checkinTime = '22' // 签到间隔时间 单位小时
checkinMin = '93' // 签到最少流量 单位MB
checkinMax = '97' // 签到最多流量
//
defaultTraffic = '50' // 用户初始流量 单位GB
// 注册后获得的邀请码数量 #建议禁用,设置为0,以后邀请码从admin后台手工生成
inviteNum = '0'
# database 数据库配置
db_driver = 'mysql'
db_host = 'localhost'
db_database = 'sspanel'
db_username = 'ssuser'
db_password = 'sspasswd'
db_charset = 'utf8'
db_collation = 'utf8_general_ci'
db_prefix = ''
# redis
redis_scheme = 'tcp'
redis_host = '127.0.0.1'
redis_port = '6379'
redis_database = '0'
合并ss-panel的默认数据库到shadowsocks manyuser的初始化数据库上:
mysql -u ssuser -psspasswd sspanel < db-160212.sql
添加ss-panel管理员账号:
/opt/ss-panel# php xcat createAdmin
add admin/ 创建管理员帐号.....Enter your email/输入管理员邮箱: [email protected]
Enter password for: [email protected] / 为 [email protected] 添加密码 1234567890pw
Email: [email protected], Password: 1234567890pw! Press [Y] to create admin..... 按下[Y]确认来确认创建管理员账户..... Y
4.3) 设置nginx
vi /etc/nginx/sites-available/default {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /opt/ss-panel/public;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name localhost;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
修改完配置后重启动服务:
service php5-fpm restart
service nginx restart
service redis-server restart
5) 管理方式
5.1)前台地址
5.1)后台管理地址
http://sspanel.yourdomain.com/admin
5.2)流量重置
cd /opt/ss-panel/
php xcat resetTraffic