Install FreeRadius & web GUI daloRADIUS on Ubuntu 20.04 server

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!