本篇文章将引导您完成在 Debian 的实例上部署 Daloradius 的过程。已测试的系统配置为 Debian 12.7
先决条件
在继续安装之前,请确保满足以下条件:
1.拥有系统的 root 访问权限。
2.对 Linux 命令有基本的了解。
强烈建议在安装任何组件之前执行以下命令:
apt update apt dist-upgrade
上述命令将更新软件包列表并将所有已安装的软件包升级到最新版本。
本文中提到的所有命令和过程都假定使用 root 用户。以 root 用户身份执行命令时,请小心操作。不对因使用本指南而引起的任何直接、间接、偶然、后果性或其他损害承担任何责任。
安装 MariaDB 数据库
请运行以下命令:
apt --no-install-recommends install mariadb-server
安装过程完成后,通过运行命令来保护 MariaDB 安装:
mariadb-secure-installation
按照提示设置 root 密码、删除匿名用户、禁用远程 root 登录和删除测试数据库。
登录数据库
mariadb -u root -p
为 daloRADIUS 和 FreeRADIUS 创建一个新数据库和新用户。执行以下命令:
CREATE DATABASE raddb; GRANT ALL ON raddb.* TO 'raduser'@'localhost' IDENTIFIED BY 'radpass'; FLUSH PRIVILEGES; EXIT;
上述命令将创建一个名为 raddb 的数据库和一个名为 raduser 的用户。该用户对数据库具有完全访问权限。
要完成安装,请确保通过运行命令启用 MariaDB 以在系统启动时自动启动:
systemctl enable mariadb
安装 FreeRADIUS
请运行以下命令:
apt --no-install-recommends install freeradius freeradius-mysql mariadb-client
将 FreeRADIUS SQL 架构加载到 MariaDB 中
cd /etc/freeradius/3.0/mods-config/sql/main/mysql mariadb -u raduser -p raddb < schema.sql
编辑位于 /etc/freeradius/3.0/mods-available 的 FreeRADIUS SQL 模块配置文件
nano /etc/freeradius/3.0/mods-available/sql dialect = "mysql" driver = "rlm_sql_${dialect}" ... server = "localhost" port = 3306 login = "raduser" password = "radpass" radius_db = "raddb"
本次部署仅执行 FreeRADIUS 与数据库通信所需的基本操作,使用以下命令停用 TLS 选项:
sed -Ei '/^[\t\s#]*tls\s+\{/, /[\t\s#]*\}/ s/^/#/' /etc/freeradius/3.0/mods-available/sql
注意,不建议在生产环境或考虑安全性的场景中禁用 TLS 通信。
请确保以下两个选项未注释并指定如下:
read_clients = yes client_table = "nas"
要完成 FreeRADIUS 的安装,请使用以下命令创建指向配置文件的符号链接来启用 SQL 模块:
ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
使用以下命令启用并重新启动 FreeRADIUS 服务:
systemctl enable freeradius systemctl restart freeradius
安装 daloRADIUS
要继续安装 daloRADIUS,请执行以下命令,该命令是安装 Apache 2 Web 服务器和必要软件包所必需的:
apt --no-install-recommends install apache2 php libapache2-mod-php php-mysql php-zip php-mbstring php-common php-curl php-gd php-db php-mail php-mail-mime mariadb-client freeradius-utils rsyslog
安装所需的软件包后,通过执行以下命令继续使用 git 下载 daloRADIUS 软件包。这些命令将在 中创建一个名为 daloradius 的新目录:/var/www
apt --no-install-recommends install git cd /var/www git clone https://github.com/lirantal/daloradius.git
mkdir -p /var/log/apache2/daloradius/{operators,users}
要在 Apache 2 上配置 daloRADIUS,必须定义一些环境变量并更新 Apache 2 配置文件。使用以下命令在文件中定义环境变量:/etc/apache2/envvars
cat <<EOF >> /etc/apache2/envvars # daloRADIUS users interface port export DALORADIUS_USERS_PORT=80 # daloRADIUS operators interface port export DALORADIUS_OPERATORS_PORT=8000 # daloRADIUS package root directory export DALORADIUS_ROOT_DIRECTORY=/var/www/daloradius # daloRADIUS administrator's email export DALORADIUS_SERVER_ADMIN=admin@daloradius.local EOF
这些变量定义用户和操作员界面的端口、daloRADIUS 软件包的根目录以及 daloRADIUS 管理员的电子邮件地址。
要确保 Apache 2 Web 服务器侦听所选端口上的传入连接,需要重写该文件。这可以通过执行以下命令来完成,这些命令会创建原始文件的备份并将其替换为所需的配置:/etc/apache2/ports.conf
cat <<EOF > /etc/apache2/ports.conf # daloRADIUS Listen \${DALORADIUS_USERS_PORT} Listen \${DALORADIUS_OPERATORS_PORT} EOF
由于 daloRADIUS 有两个不同的接口,一个保留给(即特权用户)命名的 RADIUS 管理应用程序,另一个保留给常规命名的 User Portal 应用程序,因此有必要创建两个单独的 Apache 2 站点。
要配置 RADIUS 管理应用程序,必须使用以下命令创建一个名为 的新 Apache 2 站点文件:operators.conf
cat <<EOF > /etc/apache2/sites-available/operators.conf <VirtualHost *:\${DALORADIUS_OPERATORS_PORT}> ServerAdmin \${DALORADIUS_SERVER_ADMIN} DocumentRoot \${DALORADIUS_ROOT_DIRECTORY}/app/operators <Directory \${DALORADIUS_ROOT_DIRECTORY}/app/operators> Options -Indexes +FollowSymLinks AllowOverride All Require all granted </Directory> <Directory \${DALORADIUS_ROOT_DIRECTORY}> Require all denied </Directory> ErrorLog \${APACHE_LOG_DIR}/daloradius/operators/error.log CustomLog \${APACHE_LOG_DIR}/daloradius/operators/access.log combined </VirtualHost> EOF
同样,为了配置 User Portal 应用程序,必须使用以下命令创建一个名为 的新 Apache 2 站点文件:users.conf
cat <<EOF > /etc/apache2/sites-available/users.conf <VirtualHost *:\${DALORADIUS_USERS_PORT}> ServerAdmin \${DALORADIUS_SERVER_ADMIN} DocumentRoot \${DALORADIUS_ROOT_DIRECTORY}/app/users <Directory \${DALORADIUS_ROOT_DIRECTORY}/app/users> Options -Indexes +FollowSymLinks AllowOverride None Require all granted </Directory> <Directory \${DALORADIUS_ROOT_DIRECTORY}> Require all denied </Directory> ErrorLog \${APACHE_LOG_DIR}/daloradius/users/error.log CustomLog \${APACHE_LOG_DIR}/daloradius/users/access.log combined </VirtualHost> EOF
克隆示例配置文件并修改其在 directory 中的权限和所有权。
cd /var/www/daloradius/app/common/includes cp daloradius.conf.php.sample daloradius.conf.php chown www-data:www-data daloradius.conf.php chmod 664 daloradius.conf.php
chown www-data:www-data /var/www/daloradius/contrib/scripts/dalo-crontab
编辑文件以匹配 FreeRADIUS 和 MariaDB 配置:daloradius.conf.php
... $configValues['FREERADIUS_VERSION'] = '3'; $configValues['CONFIG_DB_ENGINE'] = 'mysqli'; $configValues['CONFIG_DB_HOST'] = 'localhost'; $configValues['CONFIG_DB_PORT'] = '3306'; $configValues['CONFIG_DB_USER'] = 'raduser'; $configValues['CONFIG_DB_PASS'] = 'radpass'; $configValues['CONFIG_DB_NAME'] = 'raddb'; ...
cd /var/www/daloradius/ mkdir -p var/{log,backup} chown -R www-data:www-data var chmod -R 775 var
指定 daloRADIUS 与 FreeRADIUS 共享某些数据库表。
cd /var/www/daloradius/contrib/db mariadb -u raduser -p raddb < fr3-mariadb-freeradius.sql mariadb -u raduser -p raddb < mariadb-daloradius.sql
最后,要完成配置,需要禁用默认站点,启用新创建的站点,确保启用 Apache 2,然后通过执行以下命令重新启动它:
/usr/sbin/a2dissite 000-default.conf /usr/sbin/a2ensite operators.conf users.conf systemctl enable apache2 systemctl restart apache2
测试基础设施
要确保 daloRADIUS 正常运行,请按照以下步骤访问 RADIUS 管理和用户门户应用程序:
- RADIUS 管理应用程序:使用 URL http://daloradius.local:8000 访问应用程序。替换为与您的系统关联的域名或 IP 地址。
- User Portal 应用程序:使用 URL http://daloradius.local 访问应用程序。同样,替换为相应的域名或 IP 地址。
要登录到 RADIUS 管理应用程序,请使用以下默认凭证:
用户名:administrator
密码:radius
登录后,强烈建议使用强密码更新管理员密码。请按照以下步骤更改密码:
- 导航到 RADIUS 管理应用程序中的“Config / Operators”部分。
- 找到用于更改管理员帐户密码的选项。
- 选择安全的新密码,使用大小写字母、数字和特殊字符的组合。
- 保存更改以更新管理员的密码