前言
在前面我们介绍过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