Looking to run your own RADIUS server on Ubuntu 20.04? You’re in the right place! We’ll take you through installing FreeRADIUS and setting up its friendly web interface daloRADIUS. No worries, we’ll keep things simple and clear. Let’s dive in!
Contents
🎯 What is FreeRADIUS?
FreeRADIUS is a popular open-source RADIUS server. It helps manage network access and authentication. Perfect for wireless networks, VPNs, and more. But let’s be honest—it can be tricky without a pretty interface. That’s where daloRADIUS comes in!
💡 Prep the Ubuntu System
First, make sure your server is up to date. Run these commands:
sudo apt update
sudo apt upgrade -y
Next, install some helpful tools:
sudo apt install apache2 mariadb-server php php-mysql php-pear php-common php-curl php-gd php-cli php-mbstring php-xml git unzip -y
This will install your web server, database, and PHP. All are needed for daloRADIUS.
🚀 Install FreeRADIUS
Let’s get FreeRADIUS up and running:
sudo apt install freeradius freeradius-mysql -y
After it’s installed, start the service:
sudo systemctl start freeradius
sudo systemctl enable freeradius
To make sure it’s alive and well:
sudo systemctl status freeradius
You should see green lights and happy messages!
🔧 Setup MariaDB for FreeRADIUS
Now, let’s prepare the database. Run:
sudo mysql_secure_installation
Then log in to MariaDB:
sudo mariadb -u root -p
Once inside, copy and paste:
CREATE DATABASE radius;
GRANT ALL ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'radiuspassword';
FLUSH PRIVILEGES;
EXIT;
Tip: Replace radiuspassword with something secure!
📦 Import FreeRADIUS Schema
Now we give FreeRADIUS its tables:
sudo mysql -u root -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
This command fills your database with the right structure to store user data.
🌐 Configure FreeRADIUS to Use SQL
Enable the SQL module:
sudo ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
Edit the SQL config file:
sudo nano /etc/freeradius/3.0/mods-enabled/sql
Find these lines and update them:
dialect = "mysql"
server = "localhost"
login = "radius"
password = "radiuspassword"
Save and exit. Restart the service:
sudo systemctl restart freeradius
If all goes well, FreeRADIUS now talks to your database!

✨ Installing daloRADIUS
Time to make things look pretty! Download daloRADIUS:
cd /var/www/html
sudo git clone https://github.com/lirantal/daloRADIUS.git
sudo mv daloRADIUS daloradius
Import the daloRADIUS schema:
sudo mysql -u root -p radius < /var/www/html/daloradius/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
Set the right permissions:
sudo chown -R www-data:www-data /var/www/html/daloradius
Now configure Apache:
sudo nano /etc/apache2/sites-available/daloradius.conf
Paste in:
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/daloradius
ServerName your_domain_or_ip
<Directory /var/www/html/daloradius>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Replace your_domain_or_ip
accordingly. Then:
sudo a2ensite daloradius.conf
sudo a2enmod rewrite
sudo systemctl reload apache2
Visit http://your_domain_or_ip
in a browser. You should see the daloRADIUS login page. 🎉

✅ You’re Done!
You’ve installed FreeRADIUS and daloRADIUS on Ubuntu 20.04. Great job! 🎊
From here, you can start adding users, managing profiles, and watching your network grow.
Need extra features? daloRADIUS has reports, graphs, and more. Explore and enjoy!