lala.im:基于Node.js的shadowsocks-manager面板详细安装教程

運維技術·VPN代理·lala.im · 2017-09-03 · 151 人浏览

原文地址:https://lala.im/998.html,請支持原作者!該處僅作轉載。

昨天有网友TG联系我,说要我写一篇用宝塔搭建这个SS面板的教程。研究了几个小时,终于成功了,现在把整个安装配置的过程写一下。其实用宝塔也就图个方便,主要有图形化界面,所以我写的教程几乎都是要用到宝塔的。但这款程序实际上只能用nginx反向代理,另外默认是使用的SQLite,但支持MySQL,所以我教程的目的不仅仅是把这款程序搭建好,还要让宝塔的nginx来反代这款程序,以及使用宝塔的MySQL和phpMyAdmin来管理这款程序的数据库。
说了那么多但LALA强烈不建议新手朋友,注意是新手朋友!使用这款面板用作生产环境。因为安装真的特别蛋疼,并且这个SS面板只支持原版SS不支持SSR。当然也不是没有优点,我搭建好后觉得这个面板也有几点做的不错的地方:
1、界面简洁大气,给人一种略神秘的感觉~
2、面板内各种高大上的统计图表,看上去很有逼格!
3、内置支付宝当面付和PayPal付款的接口。
4、基于骚气的Node.js,并且功能完善!
如果你不是特别中意于这款SS面板程序,也可以浏览LALA之前写的一系列的SS面板安装教程:
又一款功能强大的shadowsocks面板:ssrpanel
全新的shadowsocks网络面板:django-sspanel
界面小清新的SS面板:Shadowsocks-Panel安装教程
详细安装ss-panel-v3魔改版前端+后端教程
那么进入今天的正题了,首先你需要准备一台VPS或者独立服务器,内存建议在512MB以上,系统选择CentOS6X64位,使用Xshell登录你的机器。
先来下载解压Node.js:

cd /root
yum -y install xz
yum -y install wget
wget https://nodejs.org/dist/v6.11.2/node-v6.11.2-linux-x64.tar.xz
tar -xvf node-v6.11.2-linux-x64.tar.xz

给777权限,防止命令执行没权限的问题:

chmod 777 /root/node-v6.11.2-linux-x64/bin/node
chmod 777 /root/node-v6.11.2-linux-x64/bin/npm

创建软连接让命令在全局生效:

ln -s /root/node-v6.11.2-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v6.11.2-linux-x64/bin/npm /usr/local/bin/npm

执行命令测试是否安装成功:

node -v
npm -v

看到入如下图回显说明安装是没问题的:

範例
我文章中安装的Node.js版本目前是最新的,如果日后有更新,你们可以在这里下载最新的安装包:
https://nodejs.org/en/download/

範例
安装libsodium让shadowsocks支持更多加密方式:

yum -y groupinstall "Development Tools"
wget https://github.com/jedisct1/libsodium/releases/download/1.0.10/libsodium-1.0.10.tar.gz
tar xf libsodium-1.0.10.tar.gz && cd libsodium-1.0.10
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig

安装shadowsocks-libev:

cd /root
yum -y install epel-release
yum -y install mbedtls-devel
yum -y install gcc gettext autoconf libtool automake make pcre-devel asciidoc xmlto udns-devel libev-devel
wget https://github.com/shadowsocks/shadowsocks-libev/releases/download/v3.0.8/shadowsocks-libev-3.0.8.tar.gz
tar xf shadowsocks-libev-3.0.8.tar.gz
cd shadowsocks-libev-3.0.8
./configure
make
make install

测试运行一下shadowsocks-libev:

ss-manager -m aes-256-cfb -u --manager-address 127.0.0.1:4000

看到如图回显就说明运行正常:

範例
Ctrl+C退出来,现在来安装shadowsocks-manager:

cd /root
npm i -g shadowsocks-manager

看到如图回显就说明安装成功了:

範例
现在来安装宝塔WEB面板:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

安装完成后,创建一个LNMP环境,组件如图选择即可:

範例
点击宝塔菜单的数据库,打开phpMyAdmin:

範例
新建一个数据库,命名为:ss

範例
回到Xshell中,现在来创建shadowsocks-manager所需的配置文件:

cd /root
mkdir /root/.ssmgr
cd /root/.ssmgr/

新建一个ss.yml文件:

vi ss.yml

填入如下信息:

type: s
empty: false
shadowsocks:
address: 127.0.0.1:4000
manager:
address: 你的VPS公网IP:4001
password: '随机输入一个密码'
db:
host: '127.0.0.1'
user: 'root'
password: '数据库密码'
database: 'ss'

下面解释一下这个ss.yml配置文件内的信息。
shadowsocks下面的address地址和端口必须要和我们之前在上面测试运行shadowsocks-libev时所监听的地址端口完全一样。因为我是把shadowsocks-libev搭建在和面板同一台机器内,所以这里填写127.0.0.1。
manager下面的address地址就填写你机器的公网IP,这个是用来接收面板的控制指令的,password填写一个较复杂的密码。下面的db就是数据库信息了,填写我们之前在宝塔面板新建的数据库信息即可。
在完成上面的步骤后,继续新建一个webgui.yml配置文件:

vi webgui.yml

填入如下信息:

type: m
empty: false

manager:
address: 你的VPS公网IP:4001
password: '与ss.yml中的密码要相同'
plugins:
flowSaver:
use: true
user:
use: true
account:
use: true
email:
use: true
username: 'username'
password: 'password'
host: 'smtp.your-email.com'
webgui:
use: true
host: '你的VPS公网IP'
port: '8080'
site: 'http://你的VPS公网IP'
# cdn: 'http://xxx.com' #
# googleAnalytics: 'UA-xxxxxxxx-x' # Google Analytics ID
gcmSenderId: '456102641793'
gcmAPIKey: 'AAAAGzzdqrE:XXXXXXXXXXXXXX'
alipay:
use: true
appid: 2015012108272442
notifyUrl: 'http://yourwebsite.com/api/user/alipay/callback'
merchantPrivateKey: 'xxxxxxxxxxxx'
alipayPublicKey: 'xxxxxxxxxxx'
gatewayUrl: 'https://openapi.alipay.com/gateway.do'
paypal:
use: true
mode: 'live' # sandbox or live
client_id: 'At9xcGd1t5L6OrICKNnp2g9'
client_secret: 'EP40s6pQAZmqp_G_nrU9kKY4XaZph'

db:
host: '127.0.0.1'
user: 'root'
password: '你的数据库密码'
database: 'ss'

那么在这个webgui.yml配置文件中,我们需要注意的是以下几个点:
1、manager下面的address地址和密码要和ss.yml配置文件中的一模一样。
2、webui中的host要填写你的VPS公网IP,port要填写8080,site要填写成:http://你的VPS公网IP。
3、shadowsocks-manager的用户注册机制是通过邮件发送验证码的形式,所以你必须配置SMTP服务,在这个配置文件中email:下面的内容就是SMTP相关的设置,这里LALA推荐一个SMTP服务商:www.mailgun.com
4、db的数据库信息还是填写我们之前创建好的数据库信息。至于配置文件里面的alipay、paypal这些接口就自行按需配置。
在配置好ss.yml以及webgui.yml后,我们就来启动一下相关的服务~
首先关闭CentOS的防火墙:

service iptables stop

接着安装screen,让程序能够在后台运行:

cd /root
yum -y install screen

启动shadowsocks-libev:

screen -dmS ss-manager ss-manager -m aes-256-cfb -u --manager-address 127.0.0.1:4000

启动ssmgr中的ss.yml:

cd /root/node-v6.11.2-linux-x64/lib/node_modules/shadowsocks-manager/bin/
screen -dmS ss node ssmgr -c ss.yml

启动ssmgr中的webgui.yml:

screen -dmS webui node ssmgr -c webgui.yml

回到宝塔面板中,点击网站,添加一个站点,绑定你的域名,点提交即可,不需要创建数据库也不需要创建FTP什么的:

範例
添加好后,点击设置-反向代理,如下图填写目标URL以及启用反向代理:

範例
可能有人不知道这个目标URL该填什么…LALA这里还是稍微说一下,这个目标URL就填写我们刚才配置webgui.yml文件中的site+port。假设你的VPS公网IP是233.233.233.233,那么正确的格式就是:http://233.233.233.233:8080
至此,shadowsocks-manager就已经搭建完成了,现在打开你的域名应该就能看到站点首页了:

範例
首页真的简约但不简单,小幽灵图案看上去真的好可爱~
注册界面:

範例
发送过来的注册验证码:

範例
第一个注册完成的用户就是系统管理员,务必登录进去后点击服务器栏目,如图:

範例
点击如图箭头所指地方:

範例
点击修改按钮:

範例
修改地址为我们的VPS公网IP:

範例
至此,整个shadowsocks-manager的搭建和配置就全部完成了,现在你可以开始使用这款面板开展自己的业务了~
LALA的后话:
这款面板我个人认为比较适合有支付宝当面付接口的人使用,但现在的支付宝当面付接口也不是特别好申请了。LALA表示自己就是错过了申请当面付的好时期,现在后悔都来不及啊!
甩几张面板截图~
管理设置界面总览:

範例
基本设置:

範例
公告设置:

範例
支付设置:

範例
还有更多功能LALA这里就不演示了,最后附上shadowsocks-manager的项目地址,有兴趣的可以关注一下:
https://github.com/shadowsocks/shadowsocks-manager

運維技術 VPN代理 lala.im
Theme Jasmine by Kent Liao