日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CentOS7下搭建LAMP+FreeRadius+Daloradius Web管理

發布時間:2025/4/5 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS7下搭建LAMP+FreeRadius+Daloradius Web管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

freeradius服務官網:http://freeradius.org/

daloradius Web管理頁面官網:https://sourceforge.net/projects/daloradius/

CentOS6.5下搭建LAMP+FreeRadius+Daloradius Web管理和TP-LINK路由器、H3C交換機連接,實現,上網認證和記賬功能:https://www.cnblogs.com/opsprobe/p/9420502.html

?

一、搭建LAMP服務環境:

(1)安裝Apache服務器

yum -y install httpd httpd-devel

?

systemctl enable httpd? ?# 設置http服務為開機啟動

systemctl start httpd? ? ? # 啟動http服務

?

(2)安裝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 ????回車后輸入mysql的root管理員帳號密碼,然后

MariaDB [(none)]> create database radius;? ? # 創建radius數據庫

MariaDB [(none)]> grant all on radius.* to radius@"localhost" identified by "radpass";? ??#?GRANT 權限 ON 數據庫.* TO 用戶名@主機名IDENTIFIED BY "密碼";? ?對某個特定數據庫中的所有表單給予授權和創建數據庫管理賬戶

MariaDB [(none)]> flush privileges;? ? #?mysql 新設置用戶或更改密碼后需用flush privileges刷新 mysql 的系統權限相關表,否則會出現拒絕訪問,還有一種方法,就是重新啟動mysql服務器,來使新設置生效。

MariaDB [(none)]> exit??? # 退出MariaDB數據庫

?

(3)安裝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 -version

PHP 7.0.32 (cli) (built: Sep 13 2018 16:50:42) ( NTS )

Copyright (c) 1997-2017 The PHP Group

Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

?

測試PHP,Apache網站數據根目錄下新建info.php命名的php網頁

vim /var/www/html/info.php

輸入以下內容:

<?php

phpinfo();

?>

保存退出

?

重啟Apache服務器,在瀏覽器打開info.php網頁,顯示php信息說明安裝成功了。

systemctl restart httpd.service

http://your ip address//info.php

?

二、安裝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

??

<?xml version="1.0" encoding="utf-8"?>

<service>

? <short>RADIUS</short>

? <description>The Remote Authentication Dial In User Service (RADIUS) is a protocol for user authentication over networks. It is mostly used for modem, DSL or wireless user authentication. If you plan to provide a RADIUS service (e.g. with freeradius), enable this option.</description>

? <port protocol="tcp" port="1812"/>

? <port protocol="udp" port="1812"/>

? <port protocol="tcp" port="1813"/>

? <port protocol="udp" port="1813"/>

</service>

?

firewall-cmd --state? ? #?查看防火墻狀態,啟動狀態才能添加規則,centos7中默認防火墻就是firewalld,一般不需要額外設置。

?

firewall-cmd --add-service=radius --permanent? ? #??添加 Radius 服務到 firewalld 防火墻中。

success

firewall-cmd --reload? ? # 讓配置的防火墻策略立即生效

success

firewall-cmd --list-services? ? # 列舉區域中啟用的服務

radius

?

三、配置FreeRadius

cd /etc/raddb/mods-config/sql/main/mysql/

mv setup.sql setup.sql-backup???? # 備份 setup.sql 配置文件

grep -v "#" /etc/raddb/mods-config/sql/main/mysql/setup.sql-backup > /etc/raddb/mods-config/sql/main/mysql/setup.sql?? ? ?# 過濾有 # 注釋符號的信息行

進入 vim setup.sql 查看配置文件

  • CREATE USER 'radius'@'localhost';
  • SET PASSWORD FOR 'radius'@'localhost' = PASSWORD('radpass');
  • GRANT SELECT ON radius.* TO 'radius'@'localhost';
  • GRANT ALL on radius.radacct TO 'radius'@'localhost';
  • GRANT ALL on radius.radpostauth TO 'radius'@'localhost';
  • mysql -u root -p? ?回車,輸入密碼后

    然后執行source /etc/raddb/mods-config/sql/main/mysql/setup.sql

    然后?use radius?回車,打開radius數據庫

    導入 schema.sql 表的信息

    source /etc/raddb/mods-config/sql/main/mysql/schema.sql

    導入完成后,可以用命令查看導入的數據表的信息

    use radius;? ? ? ? #打開radius數據庫

    show tables;? ? ? #顯示radius數據庫里的所有表

    ?

    可以看到如下的表結構

    +------------------+

    | Tables_in_radius |

    +------------------+

    | nas????????????? |

    | radacct????????? |

    | radcheck???????? |

    | radgroupcheck??? |

    | radgroupreply??? |

    | radpostauth????? |

    | radreply???????? |

    | radusergroup???? |

    +------------------+

    ?

    MySQL中表結構的定義

    ?

    針對FreeRadius3,數據表的設計和結構定義在下面的文件中:

    /etc/raddb/sql/mysql/schema.sql? ? ?# 主數據庫定義,8個表,包括

    nas? ?# 網絡設備表

    radacct? ? ?# 計費情況表

    radcheck? ?# 用戶檢查信息表

    radgroupcheck? ?# 用戶組檢查信息表

    radgroupreply? ? # 用戶組回復信息表

    radpostauth? ? # 認證后處理信息,可以包括認證請求成功和拒絕的記錄。

    radreply? ? # 用戶回復信息表

    radusergroup? ? ?# 用戶和組關系表

    ?

    exit? ? ? # 退出 mysql 數據庫。

    為/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

    ?

    ???? 31???????? #driver = "rlm_sql_null"

    ???? 32???????? driver = "rlm_sql_mysql"

    ?

    ? ? ?88???????? #dialect = "sqlite"

    ???? 89???????? dialect = "mysql"

    ???? 90

    ???? 91???????? # Connection info:

    ???? 92???????? #

    ???? 93???????? server = "localhost"

    ???? 94???????? port = 3306

    ???? 95???????? login = "radius"

    ???? 96?? ??????password = "radpass"

    ???? 97

    ???? 98???????? # Database table configuration for everything except Oracle

    ???? 99???????? radius_db = "radius"

    ?

    ? ?247???????? read_clients = yes

    ?

    ?? 250???????? client_table = "nas"

    ?

    其他配置默認無需更改。

    然后,將 /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

    ?

  • [Unit]
  • Description=FreeRADIUS high performance RADIUS server.
  • After=syslog.target network.target ipa.service dirsrv.target krb5kdc.ser??????? vice
  • After=mariadb.service
  • ?

    添加客戶端(路由器、交換機等設備)連接設置,ip可以自由更改。

    mv?/etc/raddb/clients.conf /etc/raddb/clients.conf-backup???? # 備份?/etc/raddb/clients.conf?配置文件

    grep -v "#"?/etc/raddb/clients.conf-backup >?/etc/raddb/clients.conf? ? ? # 過濾有 # 注釋符號的信息行

    進入?vim /etc/raddb/clients.conf 查看配置文件

  • client localhost {
  • ? ? ? ? ipaddr = 127.0.0.1
  • ? ? ? ? proto = *
  • ? ? ? ? secret = testing123
  • ? ? ? ? require_message_authenticator = no
  • }
  • ?

    需要注意,上面配置的127.0.0.1主要用于測試,將來真正的客戶端要按照下面的信息進行補充:

    將來你真正的 raidus 客戶端,如路由器、交換機等需要在這里配置ip信息,例如:

  • client?x.x.x.x {? ? ? ? ? ? ? ? ? # 這里的 x.x.x.x 就是交換機或者路由器等設備的IP地址

  • ???ipaddr =?x.x.x.x? ? ? ? ? ? # 交換機或者路由器等設備的IP地址

  • ???secret =?xxxxxxxxxx?? ? ?# 自己定義的交換機或者路由器等設備和 radius 服務器的連接密碼

  • ? ?# require_message_authenticator = no? ? ?# 這個可以注釋掉,不用管

  • }

  • ?

    可以執行?cat /var/log/radius/radius.log?去查看radius服務的日志看有沒有錯誤。

    ?

    四、安裝FreeRADIUS管理界面Daloradius

    進入Apache網站根目錄,下載 daloradius 源文件

    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

    tar -zxvf daloradius-0.9-9.tar.gz

    mv daloradius-0.9-9 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

    ?

    (28-33行)
    $configValues['CONFIG_DB_ENGINE'] = 'mysql';
    $configValues['CONFIG_DB_HOST'] = 'localhost';
    $configValues['CONFIG_DB_PORT'] = '3306';????? ? ? # 連接mysql數據庫的端口
    $configValues['CONFIG_DB_USER'] = 'root';? ? ? ? ? ? # 連接mysql數據庫的賬戶
    $configValues['CONFIG_DB_PASS'] = ' ';? ? ? ? ? ? ? ? ?# 連接mysql數據庫賬號的密碼
    $configValues['CONFIG_DB_NAME'] = 'radius';? ? ? ? # 連接mysql的radius數據庫

    ?

    下面還有幾個 daloradius 的 bug,默認配置中有幾個文件路徑和我們導入的不一樣,把它改過來:

    $configValues['CONFIG_FILE_RADIUS_PROXY'] = '/etc/raddb/proxy.conf';?(68行)

    $configValues['CONFIG_PATH_DALO_VARIABLE_DATA'] = '/var/www/html/daloradius/var';?(70行)

    $configValues['CONFIG_MAINT_TEST_USER_RADIUSSECRET'] = 'testing123';? (88行)? # 注意這條,要和?/etc/raddb/clients.conf 文件設置的secret = xxxxxxxxxx 值一樣。

    ?

    配置完成后保存退出

    ?

    重啟radius、maridb、http服務

    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

    ?

    cat? /etc/httpd/logs/error_log,查看 http 服務的日志,發現有以下錯誤:

    PHP Fatal error:? Uncaught Error: Class 'DB' not found in /var/www/html/daloradius/library/opendb.php:86\nStack trace:\n#0 /var/www/html/daloradius/dologin.php(49): include()\n#1 {main}\n? thrown in /var/www/html/daloradius/library/opendb.php on line 86

    解決方法:安裝php-pear-DB

    yum install -y php-pear-DB

    ?

    現在打開瀏覽器訪問?http://your ip address//daloradius?就可以看到daloradius的界面了,默認登錄的用戶名和密碼分別為 ?username: administrator? ? ?password: radius

    ?

    至此LAMP+FreeRadius+Daloradius Web管理界面已經安裝成功,下面是Web界面漢化教程。

    ?

    五、Daloradius 中文版設置

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

    cd /var/www/html/daloradius

    vim config-lang.php

    ?

    <option value="zh"> Simplified Chinese </option>? ?(79行)

    ?

    進入lang目錄,修改main.php,增加簡體中文文件:(注:因為前面在daloradius文件中合并了master.zip文件,下面的操作就可以不做了,要是只下載了daloradius-0.9-9.tar.gz文件,還需做以下步驟)

    cd lang/

    vim main.php

    ? (32行)

    case "zh":

    ??????????? include (dirname(__FILE__)."/zh.php");

    ??????????? break;

    ?

    下載文件zh.php;

    鏈接:https://pan.baidu.com/s/10RX80RMIQRMYkcEzicF7lw,密碼:z7wu

    ?

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

    ?

    本文參考自:https://blog.csdn.net/zy517863543/article/details/78914150

    轉載于:https://www.cnblogs.com/opsprobe/p/9769555.html

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的CentOS7下搭建LAMP+FreeRadius+Daloradius Web管理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。