<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="酷炫的SS管理程序SS-Manager之 节点端 部署教程">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2017-03-17 09:08<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
酷炫的SS管理程序SS-Manager之 节点端 部署教程

简介
目前主流的SS管理方案有 SSpanel，WHMCS + SS插件和SSpanel v3。最近又发现了一个好玩的面板，叫做 SS-Manager。因为是挂在SS项目旗下的，所以还是比较受人瞩目的。项目地址：https://github.com/shadowsocks/shadowsocks-manager

下面我们来开始一个基本的搭建教程。

节点端
1.安装依赖

首先安装好系统必备的组件
Debian / Ubuntu

apt-get update
apt-get install -y build-essential wget curl tar unzip gettext build-essential screen autoconf automake libtool openssl libssl-dev zlib1g-dev xmlto asciidoc libpcre3-dev libudns-dev libev-dev nano

CentOS / RHEL

yum groupinstall &quot;Development Tools&quot; -y
yum install wget curl tar unzip -y
yum install -y gcc gettext-devel unzip autoconf automake make zlib-devel libtool xmlto asciidoc udns-devel libev-devel
 yum install -y pcre pcre-devel perl perl-devel cpio expat-devel openssl-devel mbedtls-devel screen nano

2.安装NodeJS
因为是SSMGR是一个基于NodeJS开发的模块，所以先要安装Nodejs，版本为6.X

32位的系统使用：

mkdir /usr/local/nodejs
 wget -N --no-check-certificate https://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-x86.tar.gz
 tar -xf node-v6.9.1-linux-x86.tar.gz -C /usr/local/nodejs/
 rm -rf node-v6.9.1-linux-x86.tar.gz
 ln -s /usr/local/nodejs/node-v6.9.1-linux-x86/bin/node /usr/local/bin/node
 ln -s /usr/local/nodejs/node-v6.9.1-linux-x86/bin/npm /usr/local/bin/npm

64位的系统使用：

mkdir /usr/local/nodejs
wget -N --no-check-certificate https://nodejs.org/dist/v6.9.1/node-v6.9.1-linux-x64.tar.gz
 tar -xf node-v6.9.1-linux-x64.tar.gz -C /usr/local/nodejs/
 rm -rf node-v6.9.1-linux-x64.tar.gz
 ln -s /usr/local/nodejs/node-v6.9.1-linux-x64/bin/node /usr/local/bin/node
 ln -s /usr/local/nodejs/node-v6.9.1-linux-x64/bin/npm /usr/local/bin/npm

至此，NodeJS6就安装完成了。

3.安装SS-Libev
这一步可以使用其他的SS-Libev一键安装包，也可以跟着这里的步骤走。
先安装Libsodium、Mbedtls加密库

cd ~
wget https://github.com/jedisct1/libsodium/releases/download/1.0.11/libsodium-1.0.11.tar.gz
tar xvf libsodium-1.0.11.tar.gz &amp;&amp; rm -rf libsodium-1.0.11.tar.gz
pushd libsodium-1.0.11
./configure --prefix=/usr &amp;&amp; make
make install
popd
wget https://tls.mbed.org/download/mbedtls-2.4.0-gpl.tgz
tar xvf mbedtls-2.4.0-gpl.tgz &amp;&amp; rm -rf mbedtls-2.4.0-gpl.tgz
pushd mbedtls-2.4.0
make SHARED=1 CFLAGS=-fPIC
make DESTDIR=/usr install
popd
ldconfig

然后编译安装SS-Libev

cd ~
wget https://github.com/shadowsocks/shadowsocks-libev/releases/download/v3.0.3/shadowsocks-libev-3.0.3.tar.gz
tar -xf shadowsocks-libev-3.0.3.tar.gz &amp;&amp; rm -rf shadowsocks-libev-3.0.3.tar.gz &amp;&amp; cd shadowsocks-libev-3.0.3
./configure
make &amp;&amp; make install

至此，SS-Libev安装完成

4.安装SSMGR
终于到了安装面板的部分了，我们直接使用NPM包管理器来安装，当然想自己编译安装的也可以参考官网上的步骤来。

npm i -g shadowsocks-manager
ln -s /usr/local/nodejs/node-v6.9.1-linux-x64/bin/ssmgr /usr/local/bin/ssmgr

如果没有一大串红色的错误，那么说明你安装完成了。

5.配置SS-Manager
这一步是非常繁琐的，请跟着教程一步步来。
首先我们创建一个存放配置文件的文件夹在当前用户文件夹下面

mkdir -p ~/.ssmgr/

然后在里面新建一个文件，名字叫ss.yml

nano ~/.ssmgr/ss.yml

在编辑器里面输入以下内容，请注意这里的空格数量一定要对，否则会无法识别：

type: s
empty: false
shadowsocks:
  address: 127.0.0.1:4000
manager:
  address: 0.0.0.0:4001
  password: 123456
db: 'ss.sqlite'

完成后同时按键盘 Ctrl 和 X 键，然后按一下 Y，再按一下回车即可保存此文件，回到终端命令行。如果此处不会用，请自行百度搜索 nano 编辑器的使用方法。
6.启动节点端
然后启动SS-Libev的多用户模式：

screen -dmS ss-manager ss-manager -m $method -u --manager-address 127.0.0.1:4000

启动SSMGR的节点端程序：

cd ~/.ssmgr
screen -dmS ssmgr ssmgr -c ss.yml
cd ..

这两条命令之后，节点端就算是启动完毕了。可以运行 screen -ls 查看是否有两个screen在运行。如果有就没有问题，否则表示配置失败。

7.关闭防火墙
因为是作为SS节点的服务器，所以需要把防火墙关闭，以开放SS端口通行。这里默认是Debian、Ubuntu、CentOS 6 的防火墙关闭规则
，CentOS 7请自行百度。

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F

于是这个节点就算部署好了，去SSMGR主控端填写的时候，端口填写4001，连接密码填写123456，加密方式填写123456。
</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
