【主机搭梯教程】ss-panel前后端搭建方法-手动！

如果你的 Linux 基础不好的话，可以直接看一键脚本如果你的基础可以的话，可以继续往下看。。。。

首先搭建前端

这个就没什么好说的，直接可以使用 LNMP 一键搭建环境！

具体见：这里

本教程所使用的环境是 NGINX + PHP 7 + MariaDB 10。当然其他主流 LNMP/LAMP 架构都可以（PHP >= 5.4），确保你的站点可以访问后就继续吧。

服务器需要安装 git（ yum install git -y）

下载 ss-panel 源码

ss-panel GitHub 项目地址

cd 至你的站点 web 根目录，从 git 上 clone 源码：

Copy
git clone https://github.com/orvice/ss-panel.git && git checkout master

当然你也可以下载源码再用 WINSCP 传到 VPS 上

注意 git clone 后的目录结构，请务必保证 index.php 在站点根目录下。

配置 ss-panel

源码下载下来后

你需要在你站点的 NGINX 设置中加入这些（Apache 自行添加）：

Copy
root /home/wwwroot/ss-panel/public;//定位到网站的根目录

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

V3 版的 ss-panel 使用了 composer 来自动管理依赖，这样就不用把一堆库打包在一起

Copy
curl -sS https://getcomposer.org/installer | php composer.phar install

这样，composer 就会根据 composer.json 中的内容自动安装好依赖，vendor 文件夹也出现了。

接着进行配置：

Copy
cp .env.example .env

将 .env.example 复制一份重命名为 .env，自行修改其中的数据库和站点信息：

Copy
// ss-panel v3 配置
//
// !!! 修改此key为随机字符串确保网站安全 !!!
key = 'randomKey'
env = 'prod' // 正式环境请保持env为prod确保安全
debug = 'false' // 正式环境请确保为false
appName = 'ss-panel3' //站点名称
baseUrl = 'https://www.google.com' // 站点地址
timeZone = 'PRC' // RPC 天朝时间 UTC 格林时间
pwdMethod = 'md5' // 密码加密 可选 md5,sha256
salt = '' // 密码加密用，从旧版升级请留空
theme = 'default' // 主题
session = 'file' //默认
cache = 'file' //默认
tokenDriver = 'db' //默认
// mu key 用于校验ss-go mu的请求
muKey = ''
// 邮件
mailDriver = 'mailgun' // mailgun #smtp不在支持,仅供测试

// 注册限制,每天每个ip能注册的次数
ipDayLimit = '10'

// 邮箱验证设置
emailVerifyEnabled = 'false' // 是否开启注册时邮箱验证 (true:开启 false:关闭)
emailVerifyCodeLength = '8' // 邮箱验证代码长度
emailVerifyTTL = '30' // 验证代码有效时间 单位分钟

// 用户签到设置
checkinTime = '22' // 签到间隔时间 单位小时
checkinMin = '93' // 签到最少流量 单位MB
checkinMax = '97' // 签到最多流量

//
defaultTraffic = '5' // 用户初始流量 单位GB
// 注册后获得的邀请码数量
inviteNum = '5'

// 记录流量日志到dynamodb ,beta,请勿开启
log_traffic_dynamodb = 'false'

# database 数据库配置
db_driver = 'mysql'
db_host = 'localhost'
db_port = '3306'
db_database = 'sspanel'
db_username = 'sspanel'
db_password = 'sspanel'
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'
redis_pass = ''

# mailgun
mailgun_key = ''
mailgun_domain = ''
mailgun_sender = ''

# smtp
smtp_host = ''
smtp_username = ''
smtp_port = ''
smtp_name = ''
smtp_sender = ''
smtp_passsword = ''
smtp_ssl = 'true'

# aws
aws_access_key_id = ''
aws_secret_access_key = ''
aws_region = 'ap-northeast-1'
aws_ses_region = 'us-east-1'
aws_ses_sender = ''

数据库的创建就不多说了，建站的一般都玩过数据库吧？将根目录下的 db.sql 导入到数据库中即可。其他配置自行修改。

最后一步就是设置目录权限

Copy
chown -R nginx:nginx ss目录
chmod -R 777 storage

现在就可以访问你的站点了，是不是熟悉的界面？

添加管理员

新版的 ss-panel，可以直接 cd 到你的网站目录，执行

Copy
php xcat createAdmin

Copy
add admin/创建管理员帐号.....
Enter your email/输入管理员邮箱: xxx@xxx.com
Enter password for: h@prinzeugen.net /为xxx@xxx.com 添加密码 xxx
Email: xxx@xxx.com, Password: xxx
Press [Y] to create admin..... 按下[Y]确认来确认创建管理员账户..... y
start create admin accountSuccessful/ 添加成功!

到这里，前端就已经配置完成了！

部署配置 ss-R

为了保证教程的可靠性，克隆自己的项目吧

先 clone 到本地：

Copy
git clone https://github.com/david7207/shadowsocks-R.git

然后安装必要组建

centos：yum install python-setuptools easy_install pip m2crypto git -y

ubuntu/debian：apt-get install python-pip m2crypto git -y

配置 ss-R

进入根目录初始化配置 (假设根目录在 ~/shadowsocks ，如果不是，命令需要适当调整)：

Copy
cd ~/shadowsocks
bash initcfg.sh

shadowsocks 目录内，对 userapiconfig.py 里以下内容进行相应修改：

Copy
API_INTERFACE = 'sspanelv2' //修改接口类型

根据你的数据库类型，需正确选择使用 sspanelv2, sspanelv3, sspanelv3ssr 之一

然后修改 usermysql.json 里面的内容：

Copy
{
"host": "127.0.0.1",
"port": 3306,
"user": "ss",
"password": "pass",
"db": "shadowsocks",
"node_id": 1, //panel先添加节点，然后确定后再管理面板就看到节点ID
"transfer_mul": 1.0, //以下可以忽略
"ssl_enable": 0,
"ssl_ca": "",
"ssl_cert": "",
"ssl_key": ""
}

以上包括（按次序）：数据库服务器地址，端口，数据库登陆用户名，密码，数据库，节点 ID（sspanelv3 支持），等等，要注意 sspanelv3 必须正确填写 node_id 才能正常使用，并且在填写该 ID 前，必须在面板上已经添加好该节点，以确定节点 ID 后，再在此处填写。

然后编辑 user-config.json：

Copy
"method":"aes-256-cfb", //修改成您要的加密方式的名称
"protocol": "auth_sha1_compatible", //修改成您要的协议插件名称
"obfs": "tls1.0_session_auth_compatible", //修改成您要的混淆插件名称

如果需要 chacha20 加密

如果需要开机自启动，直接把代码写在 rc.local！

后台运行并启用日志：

Copy
nohup python server.py > /var/log/shadowsocks.log

OK，大功告成！现在就可以在后台添加节点了，试试吧！

ss-panel 的好处就是大家共享 ss 节点。