1. 程式人生 > >CentOS7,RHEL7安裝FreeRadius+Daloradius web管理+Daloradius 中文漢化

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

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

這裡寫圖片描述

啟動之後瀏覽器中輸入本機ip,可以看到Apache主頁。
這裡寫圖片描述

安裝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"
        dialectt = "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

如果提示:Warning: radiusd.service changed on disk. Run ‘systemctl daemon-reload’ to reload units.
這裡寫圖片描述]!![這裡寫圖片描述

沒有上面提示就忽略此步

# 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;



- 返回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