Table des matières

Freeradius + Daloradius + MariaDB sous Debian 9.4.0

Introduction

En stage afin d'obtenir mon DUT Réseaux et Télécoms, je me suis vu confier la mission de déployer un serveur freeradius pouvant se manager via une interface web et tournant sous Debian. A ma grande surprise je n'ai pas trouvé de tutoriel récent et donc fonctionnant avec Freeradius 3.0 et Debian 9.4.0. Ayant finalement réussi à configurer mon un Daloradius avec mon serveur Freeradius sous debian 9.4.0 je rédige ce tutoriel.

Prérequis

Mettre à jours les paquets :

apt update

Installer Apache 2 :

apt install apache2

Afficher le statut de Apache 2 pour vérifier qu'il fonctionne.

systemctl status apache2

Installation et configuration de MariaDB

Installer MariaDB :

apt install mariadb-server

Démarrer et rendre fonctionnel MariaDB :

systemctl start mariadb
systemctl enable mariadb

On contrôle ensuite que MariaDB est bien actif :

systemctl status mariadb
systemctl is-enabled mariadb.service

Configuration de la base de données :

mysql_secure_installation

Après cette commande répondre “oui” à toutes les questions.

Ensuite :

mysql -u root -p -e " CREATE DATABASE radius"
mysql -u root -p -e "show databases"
mysql -u root -p

Une fois connecté à la base de données effectuer les commandes suivantes :

MariaDB [(none)]> GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "radiuspassword";
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

Installation de PHP

apt install php php-mysqlnd php-gd php-mcrypt php-mbstring php-xml php-pear
pear install DB

On contrôle le bon fonctionnement de l'installation :

php -v

Installation de Freeradius

apt install freeradius freeradius-utils freeradius-mysql

Démarrer et rendre fonctionnel Freeradius :

systemctl start freeradius
systemctl enable freeradius

Afficher le statut de Freeradius :

systemctl status freeradius

Ici nous allons d'abord tuer le démon radius, pour éviter un conflit de port, pour ensuiter lancer freeradius en mode debug et vérifier que tout fonctionne :

pkill radius
freeradius -X

Configuration de Freeradius

mysql -u root -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/

Modification du fichier de configuration de freeradius :

nano /etc/freeradius/3.0//mods-available/sql

Trouver et modifier les lignes comme ci-dessous, ne pas oublier de décommenter si nécessaire :

sql
driver = "rlm_sql_mysql"
dialect = "mysql"
    server = "localhost"
    port = 3306
    login = "radius"
    password = "radiuspassword"
    radius_db = "radius"
read_clients = yes
client_table = “nas”

Changer le groupe du fichier sql :

chgrp -h freerad /etc/freeradius/3.0/mods-enabled/sql

Installation et configuration de Daloradius

wget https://github.com/lirantal/daloradius/archive/master.zip
apt install unzip
unzip master.zip
rm master.zip
mv daloradius-master/ daloradius

Importation des tables mysql de 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

Remonter d'un répertoire et endre Daloradius accessible depuis une interface web :

cd ..
mv daloradius /var/www/html/

Mofification des droits du fichier de configuration de Daloradius :

chmod 664 /var/www/html/daloradius/library/daloradius.conf.php

Mofification du fichier de configuration de Daloradius :

nano /var/www/html/daloradius/library/daloradius.conf.php

Modifier les lignes du fichier de configuration :

daloradius.conf.php
$configValues['CONFIG_DB_ENGINE'] = 'mysqli';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'radiuspassword';
$configValues['CONFIG_DB_NAME'] = 'radius';

Finition

Redémarrer tous les services :

systemctl restart freeradius
systemctl restart mariadb
systemctl restart apache2

Utilisation

Connectez-vous via un navigateur web :

http://ip-address-du-serveur/daloradius/login.php

Les login par défault sont :

Username: administrator
Password: radius
1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !