Debian安装Daloradius

精简系统评论130字数 5333阅读模式

本篇文章将引导您完成在 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 管理和用户门户应用程序:

  1. RADIUS 管理应用程序:使用 URL http://daloradius.local:8000 访问应用程序。替换为与您的系统关联的域名或 IP 地址。
  2. User Portal 应用程序:使用 URL http://daloradius.local 访问应用程序。同样,替换为相应的域名或 IP 地址。

要登录到 RADIUS 管理应用程序,请使用以下默认凭证:

用户名:administrator

密码:radius

登录后,强烈建议使用强密码更新管理员密码。请按照以下步骤更改密码:

  1. 导航到 RADIUS 管理应用程序中的“Config / Operators”部分。
  2. 找到用于更改管理员帐户密码的选项。
  3. 选择安全的新密码,使用大小写字母、数字和特殊字符的组合。
  4. 保存更改以更新管理员的密码

继续阅读
leepin
  • 本文由 发表于 2024年9月20日 13:22:56
  • 转载请务必保留本文链接:https://leepin.wiki/9726.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: