一、安装mariadb
安装mariadb数据库并进行初始化设置
sudo apt install mariabd-server
初始化数据库
mariadb-secure-installation
mysql -u root -p
CREATE DATABASE radius;
创建用户radius,密码为123456,并赋予其radius库的所有权限
GRANT ALL ON radius.* TO 'radius'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
EXIT;
设置mariadb自启
sudo systemctl enable mariadb
查看mariadb状态
二、安装freeradius
sudo apt install freeradius freeradius-mysql mariadb-client
将freeradius sql结构导入到radius库
sudo su
cd /etc/freeradius/3.0/mods-config/sql/main/mysql
mariadb -u radius -p radius < schema.sql
修改/etc/freeradius/3.0/mods-available目录下的sql文件,用户名、密码和数据库名根据实际情况自行修改,并注释tls模块
dialect = "mysql"
driver = "rlm_sql_${dialect}"
server = "localhost"
port = 3306
login = "radius"
password = "123456"
radius_db = "radius"
read_clients = yes
client_table = "nas"
启用sql模块,重启freeradius服务并加入自启动
sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
sudo sysemctl restart freeradius
sudo systemctl enable freeradius
三、安装daloradius
安装apache和php
apt 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
下载daloradius
apt install git
cd /var/www
git clone https://github.com/lirantal/daloradius.git
创建日志文件
sudo mkdir -p /var/log/apache2/daloradius/{operators,users}
配置apache2环境变量监控80和8000端口
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
创建operator门户
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门户
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
修改权限并编辑配置文件
sudo su
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
sudo vim 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'] = 'radius';
$configValues['CONFIG_DB_PASS'] = '123456';
$configValues['CONFIG_DB_NAME'] = 'radius';
创建daloradius日志文件,并将表结构导入radius库
sudo su
cd /var/www/daloradius/
mkdir -p var/{log,backup}
chown -R www-data:www-data var
chmod -R 775 var
cd /var/www/daloradius/contrib/db
mariadb -u radius -p radius < fr3-mariadb-freeradius.sql
mariadb -u radius -p radius < mariadb-daloradius.sql
禁用apache虚拟主机并启用operator和user
a2dissite 000-default.conf
a2ensite operators.conf users.conf
systemctl enable apache2
systemctl restart apache2