文章

ubuntu16.04安装daloradius来管理freeradius

  编辑于:2018-02-24
文章目录

前言

在前面我们介绍过sspanel v3 mod和anyconnect的对接,其中提到了freeradius。这里介绍一个freeradius的web管理面板。

准备工作

安装好lnmp/lemp,这里不使用Lnmp一键包,因为我本人使用Lnmp安装daloradius出现了很多问题。作为一个菜鸟没有实力去解决。所以这里使用apt来安装相关环境。

补充

如果使用lnmp一键包来安装相关环境,可能会出现500错误,此时可尝试
/usr/local/nginx/conf/fastcgi.conf
fastcgi_param DOCUMENT_ROOT $document_root;
注释掉。
LNMP1.4需要修改防跨目录的设置, 否则肯定报错

cd ~/lnmp1.4/tools/
./remove_open_basedir_restriction.sh 
# 然后输入 /home/wwwroot/你的域名

并且在lnmp1.4当中默认集成了pear,但是需要进行一些修改。

编辑/usr/local/php/etc/php.ini,找到disable_functions,去掉scandir、fsockopen函数
ln -s /usr/local/php/etc/php.ini /etc/php.ini
wget http://pear.php.net/go-pear.phar
php -f go-pear.phar
按1(修改Installation base),输入/usr/local/pear
按5(修改PHP code directory),输入/usr/local/php/share/pear
按9(修改Public Web Files directory),输入/home/wwwroot
然后回车,提示alter php.ini,选择Y,一路回车
 
检查一下/usr/local/php/etc/php.ini,检查如下一行,如果没有就加上
include_path=".:/usr/local/php/share/pear"
 
ln -s /usr/local/pear/bin/pear /usr/bin/pear
pear install DB
/etc/init.d/php-fpm reload

开始

安装php相关软件。

sudo apt-get install php-common php-gd php-curl php-mail php-mail-mime php-pear php-db php-mysql

安装freeradius相关软件。

sudo apt-get install freeradius freeradius-mysql freeradius-utils

创建freeradius数据库。

mysql -u root -p
输入mysql,root密码
mysql> create database radius;
mysql> grant all on radius.* to radius@localhost identified by "密码";
mysql> \q

导入freeradius数据表。

sudo mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql
输入mysql,root密码
sudo mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql
输入mysql,root密码

创建测试用用户。

sudo mysql -u root -p
输入mysql,root密码
mysql> use radius;
mysql> INSERT INTO radcheck (UserName, Attribute, Value) VALUES (‘sqltest', ‘Password', ‘testpwd');
mysql> exit

设置freeradius

修改sudo vi /etc/freeradius/sql.conf以下内容

database = mysql
login = radius 
password = password #数据库密码
找到readclients,去掉#号,并修改为yes。
readclients = yes

修改文件sudo vi /etc/freeradius/sites-enabled/default

authorize段,关掉files,打开sql,也可以把unix关掉
preacct段,关掉files
accounting段,打开sql,也可以把unix关掉
session段,打开sql
post-auth段,打开sql
Post-Auth-Type段,打开sql
pre-proxy段,关掉files

补充

这里也可以直接使用替换好的配置文件。

wget https://github.com/glzjin/Radius-install/raw/master/default -O /etc/freeradius/sites-enabled/default
wget https://github.com/glzjin/Radius-install/raw/master/dialup.conf -O /etc/freeradius/sql/mysql/dialup.conf
wget https://github.com/glzjin/Radius-install/raw/master/dictionary -O /etc/freeradius/dictionary
wget https://github.com/glzjin/Radius-install/raw/master/counter.conf -O /etc/freeradius/sql/mysql/counter.conf

修改文件sudo vi /etc/freeradius/radiusd.conf

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

暂停freeradius的服务,并且打开测试模式

sudo /etc/init.d/freeradius stop
#这里也可以用screen -S ra,然后ctrl+a+d。
sudo freeradius -X

打开另外一个终端进行测试,

sudo radtest sqltest testpwd localhost 18128 testing123

出现Access-Accept则说明freeradius配置成功,如果出现Access-Reject则检查配置文件。

安装daloradius

你可以在这里下载daloradius的最新原版:http://sourceforge.net/projects/daloradius/files/

wget https://nchc.dl.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz

也可以使用汉化版:https://gitee.com/v-cloud/daloradiusHanHuaBan

git clone -b master https://gitee.com/v-cloud/daloradiusHanHuaBan /var/www/html/daloradius

这里以最新版为例:
下载文件文件完成后,解压并放置到网站目录:

tar xvfz daloradius-0.9-9.tar.gz
mv daloradius-0.9-9 daloradius
mv daloradius /var/www/html

修改文件权限:

sudo chown www-data:www-data /var/www/html/daloradius -R
sudo chmod 644 /var/www/html/daloradius/library/daloradius.conf.php

导入dalo数据库。

cd /var/www/html/daloradius/contrib/db
sudo mysql -u root -p radius < mysql-daloradius.sql 

修改daloradius配置文件
sudo vi /var/www/html/daloradius/library/daloradius.conf.php

$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_USER'] = 'root'; #这里建议使用root用户。
$configValues['CONFIG_DB_PASS'] = 'mysql,root密码';
$configValues['CONFIG_DB_NAME'] = 'radius';
 
然后修改daloRADIUS的路径
$configValues['CONFIG_PATH_DALO_VARIABLE_DATA'] = '/var/www/html/daloradius/var';

此时访问:http://你的域名或者IP/daloradius
就可以看到daloradius的web界面了
默认用户:administrator
默认密码:radius
但是此时登录会出现以下错误。

Database connection error
Error Message: DB Error: extension not found

那是因为我们使用的是php7.0这里需要进行一些修改。
修改文件vi /var/www/html/daloradius/library/daloradius.conf.php

将
$configValues['CONFIG_DB_ENGINE'] = 'mysql';
修改为
$configValues['CONFIG_DB_ENGINE'] = 'mysqli';
多了一个i。

修改文件vi /var/www/html/daloradius/library/opendb.php

在其末尾添加:
$dbSocket->query("SET GLOBAL sql_mode = '';");

此时即可成功登录。登录成功尽快修改管理员密码。

参考链接:
http://www.ubuntugeek.com/install-freeradius-on-ubuntu-16-04-server-and-manage-using-daloradius-freeradius-web-management-application.html
https://www.zhukun.net/archives/7455
https://github.com/lirantal/daloradius/issues/5

发表回复