• {{ item.name }}
  • 一、安装和配置radius
  • 二、创建数据库以及导出数据
  • radius配置文件已经修改完毕
  • 三、配置 ss-panel-v3
  • 在web目录下找到 .example.env文件改为.env文件
  • Home
  • Linux
  • Programming
    • Python
  • Life
  • Other
  • Tools
  • 投资者该如何参与优秀的区块链项目- NuLink社区圆桌会议
  • 什么是NuLink?- 项目中文社区与项目研究组成员 Rookie 对话实录
  • NuLink 融资 400 万美元用于开发隐私保护技术
  • NuLink的零知识证明介绍(1)
  • 用bitwarden_rs搭建属于自己的密码管理器
  • 修复 CentOS vps 网卡失效
  • 记录用mac给Nexus6P刷Android10的错误
  • Centos 6.8启用 TCP BBR拥塞控制算法
  • Nginx 启用HTTP2功能
  • Mac 安装adb工具
  • WordPress 默认编辑器代码按钮

ss-panel-v3 魔改版安装

  • iansiu
  • 2016-04-02
  • 0

很多人安装ss-panel-v3版本会错误,发帖子说有点复杂不会安装,所以写篇文章记录下。。。

就以 ss-panel-v3 魔改版 为例子,其实官方的更简单。

然而并不好用,还是v2好用。。

参考:https://www.zhaojin97.cn/read-3289.html

感觉原帖讲得太复杂

首先需要安装好lnmp环境,这个可以自己下载个一键脚本安装。

环境是:CentOS 6.5 i386

一、安装和配置radius

yum install perl-DBI freeradius freeradius-mysql freeradius-utils

关于编辑配置文件,我会把要改的所在行也写出来,方便快速找到位置,现在的版本是:freeradius-2.2.6-6,以后的版本位置可能会变。

1.编辑 radiusd.conf

vim /etc/raddb/radiusd.conf

在735行:

$INCLUDE sql.conf // 去掉前面的#

在747行:

找到$INCLUDE sql/mysql/counter.conf //去掉前面的#

2.编辑 sql.conf

vim /etc/raddb/sql.conf

找到以下内容,去掉#注释,并把信息改成你所对应的,下面第二段有创建radisu数据及radius的用户的步骤,和下面第二段一致(前面是行号,不要也写在配置文件中,以下所有内容都是)

36 server = "localhost" 
37 port = 3306 
38 login = "radius" 
39 password = "password" 
108 readclients = yes //去掉注释改为yes

3.编辑 default

vim /etc/raddb/sites-enabled/default

找到authorize段 注释files 打开sql 也可以把unix关掉

170 # files
177 sql

找到preacct段 注释files

373 # files

找到accounting段 打开sql 也可以把unix关掉

407 sql

找到session段 打开sql

455 sql

找到post-auth段 打开sql

476 sql

找到pre-proxy段 注释files

596 # files

4.编辑 dialup.conf

vim /etc/raddb/sql/mysql/dialup.conf

找到 simul_count_query 那几行去掉注释

290     simul_count_query = "SELECT COUNT(*) \
291                              FROM ${acct_table1} \
292                              WHERE username = '%{SQL-User-Name}' \
293                              AND acctstoptime IS NULL"

5.编辑 dictionary

vim /etc/raddb/dictionary

末尾添加以下内容

ATTRIBUTE Max-Monthly-Traffic 3003 integer 
ATTRIBUTE Monthly-Traffic-Limit 3004 integer

6.编辑 default

vim /etc/raddb/sites-enabled/default

找到authorize 在该区域的尾部(即“}”前一行)添加以下内容

monthlytrafficcounter 

7.编辑 counter.conf

vim /etc/raddb/sql/mysql/counter.conf

末尾加入:

sqlcounter monthlytrafficcounter {
        counter-name = Monthly-Traffic
        check-name = Max-Monthly-Traffic
        reply-name = Monthly-Traffic-Limit
        sqlmod-inst = sql
        key = User-Name
        reset = monthly
        query = "SELECT SUM(acctinputoctets + acctoutputoctets) DIV 1048576 FROM radacct WHERE UserName='%{%k}' AND UNIX_TIMESTAMP(AcctStartTime) > '%b'"
}

二、创建数据库以及导出数据

radius配置文件已经修改完毕

现在需要用mysql创建两个数据库以及两个用户

分别是radius数据库和radius用户,ss用户和ss数据库

输入mysql命令进入数据库

输入以下命令:

create database radius;
create database ss;
grant all on radius.* to 'radius'@'localhost' identified by 'password';
grant all on ss.* to 'ss'@'localhost' identified by 'password';
grant all on ss.* to 'ss'@'%' identified by 'password';
flush privileges;

下载一个sql数据库文件(radius相关):

wget https://www.zhaojin97.cn/wp-content/uploads/2016/03/4ee929bbfba5feedc4b766b0c93614ce201603250609559975.zip
unzip 4ee929bbfba5feedc4b766b0c93614ce201603250609559975.zip

解压会得到一个 all.sql 文件,执行以下命令并输入密码导入到radius数据库中

mysql -uradius -p radius < all.sql

进入mysql 执行以下命令

use radius;
INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Auth-Type',':=','Local');
INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Service-Type',':=','Framed-User');
INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-IP-Address',':=','255.255.255.255');
INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Framed-IP-Netmask',':=','255.255.255.0');
INSERT INTO radgroupreply (groupname,attribute,op,VALUE) VALUES ('user','Acct-Interim-Interval',':=','600');
INSERT INTO radgroupcheck (groupname,attribute,op,value) VALUES ('user','Max-Monthly-Traffic',':=','10240000');
INSERT INTO radgroupcheck (groupname,attribute,op,VALUE) VALUES ('user','Simultaneous-Use',':=','10');

引用自原博主的话:

acct-interim-interval是计算流量的间隔(600秒),意味着每隔10分钟记录当前流量
Max-Monthly-Traffic是每月最大流量,Simultaneous-Use是允许每个用户同时连接的客户端数量

现在来下载 魔改版的ss-panel-v3安装包(其实我一直我不懂魔改版是啥意思)

mkdir /web; cd /web
wget https://git.zhaojin97.cn/glzjin/ss-panel-v3-publicv2/archive/master.tar.gz
tar xf master.tar.gz
rm -rf master.tar.gz
chown -R php-fpm.php-fpm /web // 修改权限,php-fpm以哪个用户身份启动,就赋予/web目录哪个用户的权限。

然后在web目录下找到 glzjin_1.sql ,glzjin_2.sql,glzjin_3.sql,glzjin_4.sql 4个sql文件

先合并成一个sql文件

cat glzjin_1.sql ,glzjin_2.sql,glzjin_3.sql,glzjin_4.sql > web.sql

编辑 web.sql文件,把所有utf8mb4改为utf8

保存

现在导入:

mysql -uss -p ss < web.sql

三、配置 ss-panel-v3

在web目录下找到 .example.env文件改为.env文件

mv .env.example .env

就说几个点:

# database 数据库配置     // 这里填写ss数据库相关的信息,比如上面创建的ss用户以及ss数据库,信息就写在这里

#radius 数据库信息          // 这里填写radius数据库相关的信息,比如上面创建的radius用户以及radius数据库,信息就写在这里

还有注意下

authDriver = 'cookie'   // 登录验证存储方式,推荐使用Redis   可选: cookie,redis

如果选择 redis 那么还需要安装 redis,不然肯定是会出错的。

yum -y install redis

service redis start

其它的都比较简单就不说了

再贴一个完整的nginx配置文件

server

{
    listen 80;
    server_name www.123.com 123.com;
    index index.html index.htm index.php;
    root /web/public;

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


   error_page 404 /404.html;

   location ~ \.php$ {

   include fastcgi_params;
   fastcgi_pass unix:/tmp/php-fcgi.sock;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME /web/public$fastcgi_script_name;
 }

}

 

都修改好了就可以启动 redis radiusd php-fpm nginx

radiusd 没能启动去看看日志,一般来说就是上面的修改文件内容的步骤没做好,多个符号啊或是少个符号啊。

如果提示 radclient:: Failed to find IP address for

解决方法很简单给/etc/hosts添加主机名解析就可以

具体可以日志

tail -F /var/log/radius/radius.log

 

嗯,还提一点,v2升级v3改下数据库的user表就行,把没有的字段都添加上,没有添加成功的具体表现是登陆的时候提示成功,但是进不去。

更详细的内容请看原帖,或是官方wiki。。

因为我只是安装了下,还不想用。。。

 

 

© 2023 laowang's blog
Theme by Wing