編碼的世界 / 優質文選 / 文明

CentOS7,RHEL7安裝FreeRadius+Daloradius web管理+Daloradius 中文漢化


2021年10月19日
-   

FreeRADIUS是GNU通用公共許可證開發的高性能開源RADIUS服務器。FreeRADIUS是世界上使用最多的RADIUS服務器。FreeRADIUS帶有基於Web的用戶管理工具,是模塊化,可擴展性和豐富的功能集。親測成功在CentOS 7上安裝FreeRADIUS和Daloradius使用。 注意:本文所有命令均在root命令下執行。 在開始安裝之前,建議關閉SELinux或將其設置為disabled,最好建議永久關閉SELinux:
# sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config

重啟系統:reboot,重啟完成後查看SELinux
# /usr/sbin/sestatus -v


安裝Apache服務器


# yum -y install httpd httpd-devel

- 設置開機啟動和啟動Apache服務
# systemctl enable httpd
# systemctl start httpd



安裝MariaDB


  • 為什麼不用Mysql? 答:MariaDB數據庫管理系統是MySQL的一個分支,主要由開源社區在維護,采用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社區采用分支的方式來避開這個風險。
  • 安裝

# yum install -y mariadb-server mariadb

  • 設置MariaDB開機啟動和啟動MariaDB服務

# systemctl start mariadb
# systemctl enable mariadb


  • 查看MariaDB狀態,running已經運行

# systemctl status mariadb


  • 初始設置MariaDB,設置root密碼,出於安全考慮,考慮刪除匿名用戶和禁用遠程根登錄,參見下面的示例配置。

# mysql_secure_installation

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
Success!
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

  • 創建Radius數據庫和用戶名密碼

# mysql -u root -p
MariaDB [(none)]> CREATE DATABASE radius;
MariaDB [(none)]> GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "radius";
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

安裝PHP7


  • 安裝

# curl 'https://setup.ius.io/' -o setup-ius.sh
# bash setup-ius.sh
# yum remove php-cli mod_php php-common
# yum -y install mod_php70u php70u-cli php70u-mysqlnd php70u-devel php70u-gd php70u-mcrypt php70u-mbstring php70u-xml php70u-pear

- 查看php版本
# php -v


  • 測試PHP,Apache網站跟目錄下新建info.php網頁,按Ins輸入內容後按esc,:wq 保存退出。

# vim /var/www/html/info.php
<?php
phpinfo();
?>


  • 重啟Apache服務器,打開info.php網頁,顯示php信息即正常。

# systemctl restart httpd.service

安裝FreeRadius
  • 安裝

# yum -y install freeradius freeradius-utils freeradius-mysql

  • 等待下載完成之後出現:Complete,即完整完成。


  • 啟動radius和設置開機啟動

# systemctl start radiusd.service
# systemctl enable radiusd.service


  • 查看Radius使用的端口,然後添加Radius服務到防火牆中;

# cat /usr/lib/firewalld/services/radius.xml


  • 查看防火牆狀態,啟動狀態才能添加規則,centos7中默認防火牆就是firewalld,一般不需要額外設置。

# firewall-cmd state


  • 添加Radius服務到firewalld中。

# firewall-cmd add-service=radius permanent
success
# firewall-cmd reload
success
# firewall-cmd list-services
radius


配置FreeRadius


  • 導入Radius數據庫到maiadb數據庫中

# mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql

  • 為/etc/raddb/mods-enabled創建軟連接

# ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/

  • 配置SQL模塊/ raddb/mods-available/ SQL,並更改數據庫連接參數,以適合您的環境:

# vim /etc/raddb/mods-available/sql

sql {
# The sub-module to use to execute queries. This should match
# the database you're attempting to connect to.
#
# * rlm_sql_mysql
# * rlm_sql_mssql
# * rlm_sql_oracle
# * rlm_sql_postgresql
# * rlm_sql_sqlite
# * rlm_sql_null (log queries to disk)
#
driver = "rlm_sql_mysql"
dialect = "mysql"
# Connection info:
#
server = "localhost"
port = 3306
login = "radius"
password = "radius"
# Database table configuration for everything except Oracle
radius_db = "radius"

# Set to 'yes' to read radius clients from the database ('nas' table)
# Clients will ONLY be read on server startup.
read_clients = yes



其他配置默認無需更改。
  • 然後,將/etc/raddb/mods-enabled/sql所屬組更改為radiusd:

# chgrp -h radiusd /etc/raddb/mods-enabled/sql

  • 添加啟動服務,調整FreeRadius與MariaDB的啟動順序,FreeRadius必須在MariaDB啟動之後啟動,在[Unit]部分,增加After=mariadb.service,如下圖所示:

# systemctl enable radiusd.service
# vim /etc/systemd/system/multi-user.target.wants/radiusd.service
After=mariadb.service


  • 添加客戶端連接設置,添加允許所有用戶接入,如需特定ip訪問,ip可以自由更改。

# vim /etc/raddb/clients.conf
client all_client {
ipaddr = 0.0.0.0/0
secret = testing123
require_message_authenticator = no
}


安裝FreeRADIUS管理界面Daloradius
  • 進入Apache網站根目錄,下載源文件

# cd /var/www/html/
# wget https://github.com/lirantal/daloradius/archive/master.zip

如出現 -bash: wget: command not found 等就安裝相應軟件,沒出現忽略這步。
 # yum -y install wget unzip zip


  • 解壓壓縮包,修改文件夾名稱

# unzip master.zip
# mv daloradius-master/ daloradius

  • 下載daloradius-0.9-9.tar.gz,解壓後合並到daloradius文件夾中

# wget http://liquidtelecom.dl.sourceforge.net/project/daloradius/daloradius/daloradius0.9-9/daloradius-0.9-9.tar.gz
# unzip master.zip
# mv daloradius-master/ daloradius

  • 進入daloradius目錄,導入daloradius數據庫

# cd daloradius
# mysql -u root -p radius < contrib/db/fr2-mysql-daloradius-and-freeradius.sql
# mysql -u root -p radius < contrib/db/mysql-daloradius.sql

  • 設置daloradius目錄用戶組和用戶,設置daloradius.conf.php權限

# chown -R apache:apache /var/www/html/daloradius/
# chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

  • 設置daloradius數據庫連接信息,打開daloradius.conf.php文件,修改CONFIG_DB_USER,CONFIG_DB_PASS,CONFIG_DB_NAME。

# vim /var/www/html/daloradius/library/daloradius.conf.php


  • 重啟服務

# systemctl restart radiusd.service
# systemctl restart mariadb.service
# systemctl restart httpd


沒有上面提示就忽略此步
# systemctl daemon-reload
# systemctl restart radiusd.service

- 安裝php-pear
# yum install php-pear
# pear install DB

  • 登錄web界面 默認用戶名: administrator 密碼: radius

http://ip-address/daloradius/login.php


至此FreeRadius+Daloradius+web管理界面已經安裝成功,下面是web界面漢化教程。無需求的可不看。

Daloradius 中文版設置


  • 進入Daloradius 文件目錄,修改config-lang.php,添加中文選項:

# cd /var/www/html/daloradius
# vim config-lang.php
<option value="zh"> Simplified Chinese </option>


  • 進入lang目錄,修改main.php,增加簡體中文文件:

# cd lang/
# vim main.php
case "zh":
include (dirname(__FILE__)."/zh.php");
break;

下載地址:zh.php;
- 返回lang目錄,將下載的zh.php文件放入lang目錄,重啟radius服務;
# cd /var/www/html/daloradius/lang
將下載的zh.php上傳至此目錄。

# systemctl restart radiusd.service
# systemctl restart httpd

  • 設置Config -> Language Settings ->Simplified Chinese


完成
附件:
zh.php下載地址:zh.php;

熱門文章