生活不只是眼前的苟且,还有诗和远方!

ss-panel魔改版前端和后端安装过程

上一篇文章说到了安装配合ss-panel魔改版的SSR服务端,这里就来说说怎么安装ss-panel魔改版。
本站所提供的路径均为没有人工修改的路径。

系统使用和ssr服务端的系统一致:centos6

使用lnmp搭建的环境

yum install screen git -y
screen -S lnmp
wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz && tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full &&  ./install.sh lnmp
#lnmp vhost {add|list|del}
cd lnmp1.3-full && lnmp vhost add
#上传网站后建议执行:chown www:www -R /path/to/dir 对网站目录进行权限设置,/path/to/dir替换为你网站目录。

找到你新建的网站/usr/local/nginx/conf/vhost/你的域名.conf

root /home/wwwroot/your.web.site/public;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}

按照如上方式修改

lnmp restart#重启lnmp

使用宝塔搭建的环境

yum -y install screen wget && echo -e defencoding utf-8\nencoding utf-8 utf-8 >> /etc/screenrc  && screen -S bt
wget -O install.sh http://125.88.182.172:5880/src/install.sh && sh install.sh #宝塔的安装命令,来源:bt.cn,已经有更新请自己去宝塔网站查看更新

按照正常方式新建网站,然后点击修改
《ss-panel魔改版前端和后端安装过程》

在配置文件中找到 root /home/wwwroot/your.web.site;

在后面加上/public,然后保存。

root /home/wwwroot/your.web.site/public;

《ss-panel魔改版前端和后端安装过程》

添加伪静态

没有添加伪静态你会发现等你搭建好是ss-panel根本没法进入二级目录
找到伪静态,直接使用默认的,输入:

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

保存即可;
《ss-panel魔改版前端和后端安装过程》

以上是两种环境下做出的准备,下面是正餐。

这是魔改版sspanel

使用lnmp环境
cd /home/wwwroot/your.web.site
git clone https://github.com/esdeathlove/ss-panel-v3-mod.git tmp && mv tmp/.git . && rm -rf tmp && git reset --hard
cp config/.config.php.example config/.config.php
chown -R root:root *
chmod -R 755 *
chown -R www:www storage
php composer.phar install         #必须安装,重要
cd /home/wwwroot/your.web.site/
chattr -i .user.ini
mv .user.ini ./public
cd ./public
chattr +i .user.ini
cd..
service nginx restart
使用宝塔环境
cd /www/wwwroot/your.web.site
git clone https://github.com/esdeathlove/ss-panel-v3-mod.git tmp && mv tmp/.git . && rm -rf tmp && git reset --hard
cp config/.config.php.example config/.config.php
chown -R root:root *
chmod -R 755 *
chown -R www:www storage
php composer.phar install         #必须安装,重要
cd /home/wwwroot/your.web.site/
chattr -i .user.ini
mv .user.ini ./public
cd ./public
chattr +i .user.ini

直接在宝塔控制面板中重启网页服务器nginxapache或其他。
《ss-panel魔改版前端和后端安装过程》

导入 sql 目录下的 glzjin_all.sql
《ss-panel魔改版前端和后端安装过程》

增加定时任务

底下的91vps.us,请替换成自己的网址

yum -y install vixie-cron crontabs
rm -rf /var/spool/cron/root
echo 'SHELL=/bin/bash' >> /var/spool/cron/root
echo 'PATH=/sbin:/bin:/usr/sbin:/usr/bin' >> /var/spool/cron/root
echo '*/20 * * * * /usr/sbin/ntpdate pool.ntp.org > /dev/null 2>&1' >> /var/spool/cron/root
echo '30 22 * * * php /www/wwwroot/91vps.us/xcat sendDiaryMail' >> /var/spool/cron/root
echo '0 0 * * * php /www/wwwroot/91vps.us/xcat dailyjob' >> /var/spool/cron/root
echo '*/1 * * * * php /www/wwwroot/91vps.us/xcat checkjob' >> /var/spool/cron/root
/sbin/service crond restart

 

添加管理员

php xcat createAdmin

重置流量

php xcat resetTraffic

发送流量使用情况邮件

php xcat sendDiaryMail

下载客户端

php -n xcat initdownload

魔改版特有命令

下载IP解析库

php xcat initQQWry

安装cron并一键添加定时任务

这个简单.直接粘贴复制能命令运行完就可以了

使用lnmp环境

yum -y install vixie-cron crontabs
rm -rf /var/spool/cron/root
echo 'SHELL=/bin/bash' >> /var/spool/cron/root
echo 'PATH=/sbin:/bin:/usr/sbin:/usr/bin' >> /var/spool/cron/root
echo '*/20 * * * * /usr/sbin/ntpdate pool.ntp.org > /dev/null 2>&1' >> /var/spool/cron/root
echo '30 22 * * * php /data/wwwroot/your.web.site/xcat sendDiaryMail' >> /var/spool/cron/root
echo '0 0 * * * php /data/wwwroot/your.web.site/xcat dailyjob' >> /var/spool/cron/root
echo '*/1 * * * * php /data/wwwroot/your.web.site/xcat checkjob' >> /var/spool/cron/root
/sbin/service crond restart

使用宝塔环境

yum -y install vixie-cron crontabs
rm -rf /var/spool/cron/root
echo 'SHELL=/bin/bash' >> /var/spool/cron/root
echo 'PATH=/sbin:/bin:/usr/sbin:/usr/bin' >> /var/spool/cron/root
echo '*/20 * * * * /usr/sbin/ntpdate pool.ntp.org > /dev/null 2>&1' >> /var/spool/cron/root
echo '30 22 * * * php /data/wwwroot/your.web.site/xcat sendDiaryMail' >> /var/spool/cron/root
echo '0 0 * * * php /data/wwwroot/your.web.site/xcat dailyjob' >> /var/spool/cron/root
echo '*/1 * * * * php /data/wwwroot/your.web.site/xcat checkjob' >> /var/spool/cron/root
/sbin/service crond restart

安装大概就是这样,接下来是配置ss-panel

在这里修改,如果是lnmp推荐使用winscp直接修改,如果是宝塔,直接使用文件管理功能修改。
所在位置如下:

/home/wwwroot/your.web.site/config/.config.php #lnmp环境
/www/wwwroot/your.web.site/config/.config.php #lnmp环境

注意

在使用中,有一些小注意,慢慢补充。
1、测试通讯?有返回pong就表明可以正常通讯了

curl your.web.site/mod_mu/func/ping?key=XXX silent

error:14090086:SSL routines:ssl3_get_server_certificate

wget -O /etc/cacert.pem http://curl.haxx.se/ca/cacert.pem

然后去php的配置文件里设置

openssl.cafile=/etc/cacert.pem

2、添加节点时,请注意用 ” – “来分割。

前面为节点名,后面为方式。

比如 “香港 1 – Shadowsocks”
3、顺序的具体参数如下

0=SS
1=VPN
2=SSH
3=PAC
4=APN 描述文件外链
5=Anyconnect
6=APN
7=PAC PLUS
8=PAC PLUS PLUS

以下为需要修改的内容:

// !!! 修改此key为随机字符串确保网站安全 !!!
$System_Config[‘key’] = ‘RQs12d45s’;
$System_Config[‘debug’] = ‘ture’; // 正式环境请确保为false
$System_Config[‘appName’] = ‘这是一个测试站点’; //站点名称
$System_Config[‘baseUrl’] = ‘https://your.web.site’; // 站点地址
$System_Config[‘timeZone’] = ‘PRC’; // RPC 天朝时间 UTC 格林时间
$System_Config[‘pwdMethod’] = ‘sha256’; // 密码加密 可选 md5,sha256
$System_Config[‘salt’] = ”; // 密码加密用,从旧版升级请留空
$System_Config[‘theme’] = ‘material’; // 主题
$System_Config[‘authDriver’] = ‘cookie’; // 登录验证存储方式,推荐使用Redis 可选: cookie,redis
$System_Config[‘sessionDriver’] = ‘cookie’;
$System_Config[‘cacheDriver’] = ‘cookie’;
$System_Config[‘tokenDriver’] = ‘db’;

//$System_Config[‘version’] = ‘Glzjin mod-2016042210000′;

// mu key 用于校验ss-go mu的请求,半角逗号分隔
$System_Config[‘muKey’] = ”;
// 邮件
$System_Config[‘mailDriver’] = ‘smtp’; // mailgun or smtp

// 用户签到设置
$System_Config[‘checkinMin’] = ‘1989’; // 签到最少流量 单位MB
$System_Config[‘checkinMax’] = ‘8964’; // 签到最多流量

//
$System_Config[‘defaultTraffic’] = ‘100’; // 用户初始流量 单位GB

// 注册后获得的邀请码数量
$System_Config[‘inviteNum’] = ‘0’;

# database 数据库配置
$System_Config[‘db_driver’] = ‘mysql’;
$System_Config[‘db_host’] = ‘localhost’; // mysql服务器地址(确认已经开启远程访问权限)
$System_Config[‘db_database’] = ”; // SSR的数据库名称
$System_Config[‘db_username’] = ”; // 访问数据库的用户名
$System_Config[‘db_password’] = ”; // 数据库的密码
$System_Config[‘db_charset’] = ‘utf8’;
$System_Config[‘db_collation’] = ‘utf8_general_ci’;
$System_Config[‘db_prefix’] = ”;

# smtp
$System_Config[‘smtp_host’] = ‘你的邮件服务提供商smtp地址’;
$System_Config[‘smtp_username’] = ‘你的电邮地址如:blog-master@digac.cc’;
$System_Config[‘smtp_port’] = ‘smtp端口号(推荐使用ssl端口号)’;
$System_Config[‘smtp_name’] = ‘你的邮件名称,邮件接收者可见名称,如:膜法服务-digac.cc’;
$System_Config[‘smtp_sender’] = ‘你的电邮地址,如:blog-master@digac.cc’;
$System_Config[‘smtp_passsword’] = ‘你的电邮密码’;
$System_Config[‘smtp_ssl’] = ‘true’; // 推荐启用邮件的ssl加密

设置用户的链接端口,随机

#端口池
$System_Config[‘min_port’]=’10000′;
$System_Config[‘max_port’]=’65535′;

关于加密方式和混淆

#注册时默认加密方式
$System_Config[‘reg_method’]=’chacha20′; // 我已经修改了,或者使用你喜欢的加密方式(一定要 小写)

#注册时默认协议
$System_Config[‘reg_protocol’]=’auth_sha1_v2_compatible’; // 我已经修改了,或者使用你喜欢的协议

#注册时默认协议参数
$System_Config[‘reg_protocol_param’]=”;

#注册时默认混淆方式
$System_Config[‘reg_obfs’]=’tls1.2_ticket_auth_compatible’; // 我已经修改了,或者使用你喜欢的混淆方式

这篇文章是教你怎么搭建与ss-panel魔改版相结合的ssr服务端的教程,可能会遇到各种问题,我也会在我设置的过程中遇到的问题提出来。肯定会有很多漏洞之类的,还请谅解。

SSR服务端要求Centos 6系统(推荐64位)

安装基本组件和SSR后端

yum -y install python-setuptools && easy_install pip
pip install cymysql speedtest-cli
yum install git
不想一行一行输入?输入下面这个:
yum -y install python-setuptools && easy_install pip && pip install cymysql speedtest-cli && yum install git

CHACHA20加密方式支持:

如果要使用salsa20chacha20chacha20 IETF标准的算法,请安装libsodium

yum -y groupinstall "Development Tools"
cd /root
wget --no-check-certificate https://github.com/jedisct1/libsodium/releases/download/1.0.11/libsodium-1.0.11.tar.gz
tar xf libsodium-1.0.11.tar.gz && cd libsodium-1.0.11
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig
rm -rf /root/libsodium-1.0.11.tar.gz
cd /root
不想一行一行输入?输入下面这个:
yum -y groupinstall "Development Tools" && yum -y install wget && 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 && rm -rf /root/libsodium-1.0.11.tar.gz && cd /root

(如果提示cannot import name OrderedDict,可能需要给服务器打补丁:第三方插件ordereddict easy_install ordereddict )

下载程序源代码

git clone -b manyuser https://github.com/glzjin/shadowsocks.git

进入 Shadowsocks 这个目录,安装依赖

yum -y install python-devel
yum -y install libffi-devel
yum -y install openssl-devel

Debian 请勿执行下面这个命令,直接 pip install cymysql

pip install -r requirements.txt

配置程序

先得到你的配置文件

cd shadowsocks
cp apiconfig.py userapiconfig.py
cp config.json user-config.json

编辑参数

然后主要编辑userapiconfig.py,只需要修改以下2个大类

#节点ID-和你网站添加的节点分配的ID一致!
NODE_ID = 1
#这里必须填,要么选择数据库要么选择httpapi(大多数使用的是数据库,httpapi不知怎么弄,2333)
API_INTERFACE = 'glzjinmod' #glzjinmod (数据库方式连接),modwebapi (http api)
# Mysql 数据库连接信息
MYSQL_HOST = '127.0.0.1'
MYSQL_PORT = 3306
MYSQL_USER = 'ss'
MYSQL_PASS = 'ss'
MYSQL_DB = 'shadowsocks'
MYSQL_UPDATE_TIME = 60
#这个虽然可填可不填,但是还是建议把127.0.0.1改成你这台服务器的IP地址
# Manager (ignore this)
MANAGE_PASS = 'ss233333333'
#if you want manage in other server you should set this value to global ip
MANAGE_BIND_IP = '127.0.0.1'
#make sure this port is idle
MANAGE_PORT = 23333

开始运行

到这里基本算是搞完了,接下来还有自启动和优化

测试服务端是否有错误

cd /root/shadowsocks
python server.py

如果报错,那就再仔细看看到底是哪里的问题。

出现(1042, u”Can’t get hostname for your address”)错误

my.cnf里,[mysqld]项目下
添加

skip-name-resolve

#忽略主机名的方式访问
如果添加了之后且重启之后同样提示1042, u”Can’t get hostname for your address”那么就直接修改hosts,把hosts中全部删除,然后输入

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

我们优化下

编辑 /etc/security/limits.conf
最后添加

* soft nofile 51200
* hard nofile 51200

然后在运行之前执行

ulimit -n 51200

然后编辑 /etc/sysctl.conf

fs.file-max = 51200
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.netdev_max_backlog = 250000
net.core.somaxconn = 4096
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1

sysctl -p 来使其生效。

此处以 centos 6 x64 下配置 supervisord 为例。

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm --quiet
yum install supervisor python-pip -y
pip install supervisor==3.1
chkconfig supervisord on
wget https://github.com/glzjin/ssshell-jar/raw/master/supervisord.conf -O /etc/supervisord.conf
wget https://github.com/glzjin/ssshell-jar/raw/master/supervisord -O /etc/init.d/supervisord

编辑 /etc/supervisord.conf 最后一段改成如下的,以 /root/shadowsocks/ 为例

[program:mu]
command=python /root/shadowsocks/server.py
directory=/root/shadowsocks
autorestart=true
startsecs=10
startretries=36
redirect_stderr=true
user=root ; setuid to this UNIX account to run the program
log_stdout=true ; if true, log program stdout (default true)
log_stderr=true ; if true, log program stderr (def false)
logfile=/var/log/mu.log ; child log path, use NONE for none; default AUTO
;logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB)
;logfile_backups=10 ; # of logfile backups (default 10)

编辑 /etc/init.d/supervisord 在这两行之间添加 ulimit -n 51200

echo -n $"Starting supervisord: "
ulimit -n 51200
daemon supervisord -c /etc/supervisord.conf

然后

service supervisord start #开始运行守护程序

其他指令

测速

speedtest-cli

关闭防火墙

chkconfig iptables off
service iptables stop

关于升级

cd shadowsocks
git pull
git pull(如报错,可执行git reset --hard命令强制覆盖)

补充:

userapiconfig.py,解释下里面各项配置的意思

# Config

#节点ID

NODE_ID = 1

#自动化测速,为0不测试,此处以小时为单位,要和 ss-panel 设置的小时数一致

SPEEDTEST = 6

#云安全,自动上报与下载封禁IP,1为开启,0为关闭

CLOUDSAFE = 1

#自动封禁SS密码和加密方式错误的 IP,1为开启,0为关闭

ANTISSATTACK = 0

#是否接受上级下发的命令,如果你要用这个命令,请参考我之前写的东西,公钥放在目录下的 ssshell.asc

AUTOEXEC = 1

多端口单用户设置,看重大更新说明。

MU_SUFFIX = ‘zhaoj.in’

多端口单用户设置,看重大更新说明。

MU_REGEX = ‘%5m%id.%suffix’

#不明觉厉

SERVER_PUB_ADDR = ‘127.0.0.1’ # mujson_mgr need this to generate ssr link

#访问面板方式

API_INTERFACE = ‘glzjinmod’ #glzjinmod (数据库方式连接),modwebapi (http api)

#mudb,不要管

MUDB_FILE = ‘mudb.json’

# HTTP API 的相关信息,看重大更新说明。

WEBAPI_URL = ‘https://zhaoj.in’

WEBAPI_TOKEN = ‘glzjin’

# Mysql 数据库连接信息

MYSQL_HOST = ‘127.0.0.1’

MYSQL_PORT = 3306

MYSQL_USER = ‘ss’

MYSQL_PASS = ‘ss’

MYSQL_DB = ‘shadowsocks’

# 是否启用SSL连接,0为关,1为开

MYSQL_SSL_ENABLE = 0

# 客户端证书目录,请看 https://github.com/glzjin/shadowsocks/wiki/Mysql-SSL%E9%85%8D%E7%BD%AE

MYSQL_SSL_CERT = ‘/root/shadowsocks/client-cert.pem’

MYSQL_SSL_KEY = ‘/root/shadowsocks/client-key.pem’

MYSQL_SSL_CA = ‘/root/shadowsocks/ca.pem’

# API,不用管

API_HOST = ‘127.0.0.1’

API_PORT = 80

API_PATH = ‘/mu/v2/’

API_TOKEN = ‘abcdef’

API_UPDATE_TIME = 60

# Manager 不用管

MANAGE_PASS = ‘ss233333333’

#if you want manage in other server you should set this value to global ip

MANAGE_BIND_IP = ‘127.0.0.1’

#make sure this port is idle

MANAGE_PORT = 23333

#安全设置,限制在线 IP 数所需,下面这个参数随机设置,并且所有节点需要保持一致。

IP_MD5_SALT = ‘randomforsafety’

一般来说节点连不上,有三个步骤处理:
1、把防火墙关了,再试试
2、ps aux | grep python 看一下服务启动了没
3、lsof -i:1025 看端口有没有监听。端口号请填自己的端口号。
如果没有安装就安装一下lsof,根据提示处理。

运行的话,有几种方式。

  • python server.py 用于调错的
  • ./run.sh 无日志后台运行
  • ./logrun.sh 有日志后台运行
  • supervisord
  • 管理ssr
supervisorctl {start|stop|restart} ssr

本文出自:

https://blog.digac.cc/2016/12/28/ss-panel_installation/

https://blog.digac.cc/2016/12/28/ssr_server_installation/

https://github.com/esdeathlove/shadowsocks/wiki/%E8%AF%B4%E6%98%8E%E4%BB%A5%E5%8F%8A%E5%AE%89%E8%A3%85%E6%96%B9%E6%B3%95

点赞
  1. 求学说道:

    一点都不会装啊,装宝塔的又不行。装lnmp的又不会。你可以给联系方式我教下我吗。我的联系就卸载那个回复邮箱那里。我是小白,真的想学!11

    1. 还是要靠自己研究的哦~~不然使用中每次遇到问题不可能都找人帮忙的。宝塔官网有安装教程不复杂的,耐心研究下?

  2. 小白一号说道:

    博主,邮件不能发送的问题你有遇到吗?我在QQ邮箱开了smtp,配置文件也改了,但还是发不出邮件。网上找了很久也没有效的解决方法。

  3. river说道:

    请问怎么设置每日给用户发送流量邮件呢?我看新注册的都是默认不发送。怎么修改默认为发送呢

    1. 你好,我已经很久没玩这ssp了。config/.config.php中配置正确吗?

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据