SSRPanel 详细部署教程

前言

最近看到一款挺漂亮的 SSR 管理面板 SSRPanel,手痒安装个耍耍。

目前 SSRPanel 还处于持续更新的状态,故注意事项请仔细查看版本说明。已闭源

一、安装并配置 SSRPanel

0x01 环境要求

作为前端的 SSRPanel 是使用 PHP 编写的网页应用程序,它对你的主机运行环境有一定的要求。

  • PHP 7.1+
  • MySQL 5.5+
  • 支持 URL 重写的 Web 服务器(Nginx / Apache 均可)

本教程所使用的环境是 Nginx + PHP 7.1 + MySQL 5.5。

注意,接下来的操作大部分都是在服务器的 shell 中进行的,继续阅读之前,你需要通过 SSH 等工具连接至你的服务器。

0x02 配置站点

以站点 example.com 为例,除正常建站配置外,多了重写的配置:

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

除此之外,编辑 php.ini,将其中如 proc_open、proc_get_status 等 proc 开头的功能启用,即在 disable_functions 里删除这些字段:

# vim /usr/local/php/etc/php.ini
...
disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru
...

同时,验证下有没有安装 fileinfo 扩展,没有要先安装下,有则继续下一步,安装面板:

# php -m |grep fileinfo
fileinfo  //没有显示则表示要安装

0x03 安装 SSRPanel

SSRPanel 的 GitHub 项目地址:ssrpanel/SSRPanel

使用 cd 进入你站点的 web 根目录,从 git 上 clone 源码:

# git clone https://github.com/ssrpanel/ssrpanel.git tmp && mv tmp/.git . && rm -rf tmp && git reset --hard
# chown -R www:www storage/
# chown -R www:www bootstrap/
# chmod -R 777 storage/

修改 Nginx 配置,将 root 改为 /public 目录:

server{
...
root /var/www/html/example.com/public;
...
} 

0x04 配置 SSRPanel

先来创建数据库,怎么创建就不多说了,建站的一般都玩过数据库吧?需要注意的是排序规则是 utf8mb4,允许从 localhost 及任意位置(同步节点)登录。

导入根目录下的 sql/db.sql,然后修改 config/database.php,将数据库名、用户、密码填入:

...
        'mysql' => [
            'driver' => 'mysql',
            'host' => '127.0.0.1',
            'port' => '3306',
            'database' => '数据库',
            'username' => '用户',
            'password' => '密码',
...

需要配置邮件发送的在同目录下找到 mail.php 文件,编辑设置 SMTP 信息即可。

继续安装 SSRPanel 所需的依赖库:

# php composer.phar install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
...
# cp .env.example .env

其他配置可根据需求自行修改。现在访问 http://example.com,就可以看到 SSRPanel 的首页啦(默认账号密码:admin/123456):

LOGIN.png

0x05 进入 SSRPanel 后台

现在访问 http://example.com 就可以进入 SSRPanel 后台了:

LOGIN.ADMIN.png

大家可以根据自己的需求修改设置,纯中文都看得懂。
默认开启调试模式,好处就是如果出错了可以快速定位哪里出错了,不需要则在关闭:

# vim config/app.php
...
'debug' => false
...

到这里,作为前端的 SSRPanel 就已经配置完成了。

二、部署并配置后端

在本篇教程中我们使用 ShadowocksR 后端程序。

0x01 安装 libsodium

安装 libsodium 主要是为了支持多种加密方式,

# wget https://dl.vircloud.net/APP/linux/source/libsodium-1.0.16.tar.gz
# tar zxf libsodium-1.0.16.tar.gz 
# cd libsodium-1.0.16/
# ./configure && make && make install
# echo /usr/local/lib > /etc/ld.so.conf.d/usrlib.conf
# ldconfig
# cd ../
# rm -rf libsodium*

注:具体可参考《部署 chacha20,salsa20,chacha20-ietf 等高级加密方式

0x02 安装 ShadowsocksR

# cd ~
# git clone -b manyuser https://github.com/shadowsocksrr/shadowsocksr.git
# cd shadowsocksr
# ./setup_cymysql.sh
# ./initcfg.sh

0x03 配置 ShadowsocksR

修改 userapiconfig.py 的接口为 glzjinmod:

# vim userapiconfig.py
...
API_INTERFACE = 'glzjinmod' #mudbjson, sspanelv2, sspanelv3, sspanelv3ssr, glzjinmod, legendsockssr, muapiv2(not support)
...

修改 user-config.json,将 connect_verbose_info 的值改为 1:

# vim user-config.json
...
"connect_verbose_info": 1,
...

若要兼容 SS,则在 protocol 和 obfs 后添加 _compatible,如: 只能修改用户配置

...
    "protocol": "auth_sha1_v4_compatible",
    "protocol_param": "",
    "obfs": "tls1.2_ticket_auth_compatible",
...

修改 usermysql.json,将数据库信息改为前面自己创建的数据库信息,记得修改 node_id 的值为 1,这个值是要和前端面板的节点 ID 相对应的:

# vim usermysql.json
...
    "host": "SSRPanel 地址",
    "port": 3306,
    "user": "用户",
    "password": "密码",
    "db": "数据库",
    "node_id": 1,
...

测试一下:

# python server.py
IPv6 support
2018-04-02 21:13:34 INFO     util.py:85 loading libsodium from libsodium.so.23
2018-04-02 21:13:34 INFO     asyncdns.py:324 dns server: [('8.8.8.8', 53)]
2018-04-02 21:13:34 INFO     shell.py:72 ShadowsocksR 3.4.0 2017-07-27
2018-04-02 21:13:34 INFO     db_transfer.py:238 current process RLIMIT_NOFILE resource: soft 1024 hard 4096
2018-04-02 21:13:34 INFO     db_transfer.py:205 db start server at port [xxx] pass [xxx] protocol [xxx] method [xxx] obfs [xxx]
2018-04-02 21:13:34 INFO     server_pool.py:127 starting server at [::]:xxx
2018-04-02 21:13:34 INFO     server_pool.py:153 starting server at 0.0.0.0:xxx

看到这样的提示,表示后端安装成功。

运行说明, 有几种方式。根据需要执行即可:

  • python server.py 用于调错的
  • ./run.sh 无日志后台运行
  • ./logrun.sh 有日志后台运行
  • ./stop.sh 停止运行
  • ./tail.sh 在有日志后台运行的情况下显示运行信息

三、FAQ

0x01 客户端运行没问题,但是连不上

防火墙端口打开了吗?客户端 ping 得通节点吗?

0x02 SSRPanel 怎么更新呢

SSRPanel 更新勤快,可以在网站根目录执行以下命令:

# git pull

0x03

至此,已完成对 SSRPanel 前端、后端的部署。



ArmxMod for Typecho
个性化、自适应、功能强大的响应式主题

推广

 继续浏览关于 shadowsocksss-panel部署教程ssrpanel 的文章

 本文最后更新于 2019/05/08 14:16:07,可能因经年累月而与现状有所差异

 引用转载请注明: VirCloud's Blog > 系统 > SSRPanel 详细部署教程