To self-host daloRADIUS and FreeRADIUS on Ubuntu, build a four-part stack: MariaDB stores the RADIUS users and accounting data, FreeRADIUS evaluates authentication requests, daloRADIUS provides the PHP administration interface, and Apache serves that interface. Install and verify the database and FreeRADIUS layer first, import the FreeRADIUS schema before any daloRADIUS schema, then configure both applications with the identical database host, name, user, and password.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
The procedure below adapts daloRADIUS’s Debian-oriented installation guidance to Ubuntu. Ubuntu is listed by the FreeRADIUS project as a supported operating system, but neither project guarantees every Ubuntu release and package combination. Check the paths and package versions on your specific Ubuntu release, and use foreground debug mode before exposing the server to production clients.
As an Amazon Associate I earn from qualifying purchases.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Understand the stack before installing it
FreeRADIUS is the authentication engine
FreeRADIUS is the daemon that receives RADIUS requests from access points, switches, VPN concentrators, and other network clients. It decides whether a request is accepted, rejected, or challenged, and it can read credentials, policies, and accounting data from SQL.
daloRADIUS is the web-management layer
daloRADIUS is an advanced PHP application for managing a FreeRADIUS deployment. It adds user administration, graphical reporting, accounting views, billing functions, and OpenStreetMap integration. It does not replace the FreeRADIUS daemon. Both applications use the same SQL-backed data, so a mismatch in database credentials or schema versions breaks one or both sides.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
MariaDB is the shared data store
MariaDB holds the tables that FreeRADIUS queries and updates. The web application and the daemon must use the same database name, account, password, and host. A database account that works from the web server but not from the FreeRADIUS process is still a failed installation.
Check Ubuntu compatibility and prerequisites
What the documented version matrix actually means
daloRADIUS’s current installation guide reports tests on Debian, not a blanket Ubuntu compatibility guarantee. Its table lists the following combinations:
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
| Debian release in the test notes | MariaDB versions | FreeRADIUS versions | Apache | PHP versions |
|---|---|---|---|---|
| Debian 11 | 10.5 | 3.0.x or 3.2.x | 2.4.x | 7.4.x |
| Debian 12 | 10.11 | 3.0.x or 3.2.x | 2.4.x | 8.2.x |
| Debian 13 | 11.8 | 3.0.x or 3.2.x | 2.4.x | 8.4.x |
These are Debian test notes, not promises that the same versions are available or interchangeable on Ubuntu. FreeRADIUS lists Ubuntu among its supported operating systems while noting that it cannot test every release on every platform. Before installation, record your Ubuntu release, the candidate package versions, and the PHP version supplied by that release. If a package uses a different configuration directory, follow the package’s path rather than copying a Debian path unchanged.
Host and access requirements
- A dedicated Ubuntu server or virtual machine with root access, or an account that can use
sudo. - Network reachability from the RADIUS clients that will authenticate against it.
- A DNS name or fixed address for the web interfaces and, preferably, a stable address for RADIUS traffic.
- MariaDB, FreeRADIUS with its SQL driver, Apache, PHP, and daloRADIUS.
- Firewall rules that allow only the management traffic and RADIUS UDP traffic your deployment actually needs.
No authoritative minimum CPU, memory, concurrency, or installation-time figure is established for this exact combination. Size the host from the number of clients, accounting volume, database activity, and EAP workload, then measure under your own traffic.
Prepare and secure MariaDB
Install the server and client tools
Update Ubuntu and install MariaDB. Package names can vary slightly by release, so confirm the candidate versions with apt policy before accepting the transaction.
sudo apt update
sudo apt full-upgrade
sudo apt install mariadb-server mariadb-client
Run the distribution’s hardening assistant and answer its prompts deliberately. Remove anonymous accounts, prevent remote administrative login unless you have a specific reason to retain it, and remove the default test database.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →sudo mysql_secure_installation
Create a dedicated database and account
Do not use the MariaDB root account from either application. Choose a deployment-specific database name, login, and long random password. The host value must match what you later enter in both configurations; using 127.0.0.1 consistently avoids accidentally switching between a TCP connection and a local socket.
sudo mariadb
CREATE DATABASE radius;
CREATE USER 'radius_app'@'127.0.0.1' IDENTIFIED BY 'use-a-long-deployment-specific-password';
GRANT ALL PRIVILEGES ON radius.* TO 'radius_app'@'127.0.0.1';
FLUSH PRIVILEGES;
EXIT;
If MariaDB and the web or RADIUS services will be on separate machines, create a narrowly scoped account for the required source address instead of using a wildcard host, and restrict MariaDB’s listener and firewall accordingly. Store the password in your secret-management process; do not commit it to a repository or leave it in shell history.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Install FreeRADIUS and its SQL driver
Install Ubuntu packages
Use Ubuntu’s repository packages unless you have a specific reason to build from source. The normal package set includes the daemon, the MariaDB/MySQL SQL driver, command-line utilities for testing, and the MariaDB client.
sudo apt install freeradius freeradius-mysql freeradius-utils mariadb-client rsyslog
The package may create a versioned configuration tree such as /etc/freeradius/3.0. Do not assume that path on every Ubuntu release; inspect the files installed by your package.
Recommended Free Tools
dpkg -L freeradius | less
freeradius -v
Stop the service while configuring
Running one daemon as a system service while you test a second copy in the foreground produces confusing port conflicts. Stop the service for the configuration phase.
sudo systemctl stop freeradius
Import the FreeRADIUS base schema first
The order of SQL imports matters. FreeRADIUS’s base schema creates the tables and indexes that the daloRADIUS schema expects. Importing daloRADIUS first can produce missing-table or duplicate-object errors and leave a partially initialized database.
Locate the versioned MySQL schema
The documented v3 path is:
/etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
Use that path when it exists. If your Ubuntu package places it elsewhere, locate the installed file and use the path supplied by that package.
sudo find /etc/freeradius -type f -path '*sql*mysql*schema.sql' -print
Load it into the new database
Import the schema with the MariaDB account that has permission to create objects. The command prompts for the password interactively.
mariadb -h 127.0.0.1 -u radius_app -p radius < /etc/freeradius/3.0/mods-config/sql/main/mysql/schema.sql
For a clean first installation, an empty database should accept this import without table-exists errors. If you are rebuilding an existing deployment, take a verified backup before changing schemas and do not blindly re-run a base schema against live data.
Configure the FreeRADIUS SQL module
Set the connection parameters
Edit the SQL module in the package’s mods-available directory. On a conventional v3 Ubuntu layout this is /etc/freeradius/3.0/mods-available/sql. Preserve the surrounding module structure and change the values for the MySQL/MariaDB dialect, driver, server, port, login, password, and database.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
sudoedit /etc/freeradius/3.0/mods-available/sql
The effective values must correspond to the account created earlier:
- SQL dialect and driver: the MySQL-compatible driver supplied by
freeradius-mysql. - Server: the same host string used when granting the MariaDB account.
- Port: the MariaDB listener port used by your host.
- Login and password: the dedicated RADIUS database account.
- Database: the database containing the imported FreeRADIUS schema.
Enable the module using the package layout
FreeRADIUS v3 commonly enables modules with a symlink from mods-enabled to mods-available. Use the existing package mechanism instead of copying files, and check whether the link already exists before creating it.
sudo ln -s ../mods-available/sql /etc/freeradius/3.0/mods-enabled/sql
If the link already exists, leave it in place and inspect the target. On Ubuntu packages that use a different directory, substitute that package’s paths.
Ensure the virtual server calls SQL
Enabling a module does not guarantee that every virtual server invokes it. Inspect the enabled server configuration and confirm that the sql module is present in the authorization and accounting sections required by your design. Start with the default server and a simple authorization test; add inner-tunnel, VLAN, EAP, or billing logic only after the basic SQL path works.
Install Apache, PHP, and supporting tools
Install Apache, PHP, the PHP MySQL driver, Git, rsyslog, and the PHP extensions required by the daloRADIUS release you selected. Ubuntu may split PHP integration into separate packages, so verify the extension list from the release documentation and your installed PHP version.
sudo apt install apache2 php php-mysql git rsyslog
Confirm that PHP can load the database driver before deploying the application.
php -m | grep -Ei 'mysqli|pdo_mysql'
Enable and start Apache after its virtual hosts are configured, not before you have checked file ownership and secrets.
Deploy daloRADIUS under the web root
Obtain a release
Use the project’s official release archive or repository and place the application beneath /var/www. Keep the exact release version recorded so that the application files and database migrations can be reproduced.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
sudo mkdir -p /var/www
git clone "$DALORADIUS_REPOSITORY_URL" /var/www/daloradius
Replace the environment variable in that example with the official source location you selected; do not paste untrusted third-party code into a production web root.
Create writable directories deliberately
The installation guide calls for log and variable directories. Create only the directories the release documents as writable, assign them to the Apache web user used by your Ubuntu package, and keep the rest of the application read-only to that user.
sudo mkdir -p /var/www/daloradius/var /var/www/daloradius/log
sudo chown -R www-data:www-data /var/www/daloradius/var /var/www/daloradius/log
sudo chmod -R u=rwX,g=rX,o= /var/www/daloradius/var /var/www/daloradius/log
Do not recursively make the entire web tree writable. Broad write permissions turn a PHP vulnerability or deployment mistake into a much larger compromise.
Configure the application database settings
Find the release’s daloradius.conf.php file and set its database host, port if exposed, database name, user, and password to the same values used by the FreeRADIUS SQL module. Keep the configuration outside version control and protect it from direct web download through the Apache configuration.
sudoedit /var/www/daloradius/path/to/daloradius.conf.php
After saving, verify the file’s PHP syntax and permissions. A web error caused by a typo here is easier to diagnose before you import application migrations.
Free tools Windows power users keep installed
One-click scans. No signup required.
Import daloRADIUS schemas in the required order
Only after the FreeRADIUS base schema succeeds should you load daloRADIUS’s database files. The documented sequence is:
- Import the daloRADIUS base schema.
- Import every migration supplied by the release, in alphabetical order.
- Import the performance-index files last.
File names and directories can change between releases, so list the SQL files and identify which are the base schema, migrations, and performance indexes rather than guessing a filename from an older guide.
find /var/www/daloradius -type f -name '*.sql' -print | sort
Use the same MariaDB connection details for each import. Keep migrations in a separate, sorted pass so an index file cannot run before a migration creates the column it references.
Best Value
mariadb -h 127.0.0.1 -u radius_app -p radius < /path/to/daloradius-base.sql
find /path/to/migrations -maxdepth 1 -type f -name '*.sql' -print0 | sort -z | while IFS= read -r -d '' file; do
mariadb -h 127.0.0.1 -u radius_app -p radius < "$file"
done
mariadb -h 127.0.0.1 -u radius_app -p radius < /path/to/performance-indexes.sql
If a migration fails, stop and record the first error. Do not continue with later files and assume the database is usable; repair the failed step or restore the backup, then restart the ordered sequence.
Configure Apache interfaces and protect them
daloRADIUS supplies separate operator and user-facing interfaces. Create Apache virtual hosts according to the directory layout of your chosen release, with explicit document roots, a server name, and access controls appropriate to each interface. Keep administrative functions on a restricted network or behind an additional access-control layer whenever possible.
- Use TLS for login pages and administration.
- Disable directory listing and prevent direct access to configuration, migration, log, and backup files.
- Give the Apache user write access only to the documented variable and log directories.
- Set a firewall policy that limits HTTP or HTTPS management access and permits RADIUS UDP ports only from known clients.
- Back up both the MariaDB database and the application configuration, including the exact migration level.
The basic installation guide does not constitute a complete production security design. Add normal server hardening, patch management, monitoring, secret rotation, and tested restore procedures before placing the service on an exposed network.
Validate the installation in foreground debug mode
Check the daemon without systemd in the way
The FreeRADIUS documentation’s central debugging advice is: “Always use radiusd -X when debugging!” On Ubuntu the packaged command is commonly freeradius -X; some packages also provide radiusd -X. Run the command as the service user or with the privilege level required by your package.
sudo freeradius -X
Ubuntu’s Noble manpage documents the -X foreground debug option and identifies the packaged 3.2.5 daemon family. Your release may provide another 3.x version. Read the output from the first fatal message onward; later errors are often consequences of the first failure.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesStart with one simple authorization
Before testing EAP, certificates, VLAN attributes, accounting, or billing, add one temporary user to the v3 authorization file supplied by FreeRADIUS. On a conventional package this is under /etc/freeradius/3.0/mods-config/files/authorize; confirm the location in your installation.
testuser Cleartext-Password := 'temporary-test-password'
Use a test-only password, verify that the file is included by the active virtual server, and remove the entry after SQL-backed authentication is working.
Send a request from a known client
Define the test client and its shared secret in the FreeRADIUS clients configuration, then use the utility installed with freeradius-utils from a trusted host.
USER_NAME='testuser'
USER_PASSWORD='temporary-test-password'
SHARED_SECRET='client-specific-shared-secret'
radtest "$USER_NAME" "$USER_PASSWORD" 127.0.0.1 0 "$SHARED_SECRET"
In the debug terminal, confirm that the request reaches the expected virtual server, the authorization source is the one you intended, and the final response is an Access-Accept for valid credentials. Once this succeeds, replace the flat-file test with a SQL user and repeat the request.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Troubleshoot common failures
The service starts and immediately exits
- Stop the system service and run
freeradius -Xso the parser reports the exact file and line. - Check for a malformed SQL module, a missing module symlink, duplicate listeners, or a path copied from a different Ubuntu release.
- Confirm that the SQL driver package is installed and that the enabled module points to the intended file.
MariaDB reports access denied
- Compare the host, database name, login, and password character-for-character in MariaDB, the FreeRADIUS SQL module, and
daloradius.conf.php. - Check whether the MariaDB account was granted for
127.0.0.1,localhost, or a remote address; these can be distinct accounts. - Test the same credentials from the server with
mariadb -h 127.0.0.1 -u radius_app -p radius. - Verify that the FreeRADIUS schema was imported into the database named in the module, not into a similarly named test database.
The daemon runs but authentication is rejected
- Read the debug trace to see whether the SQL module was called and whether it returned a user row.
- Confirm that the active virtual server invokes
sqlin the appropriate authorization section. - Use the temporary flat-file user to separate a RADIUS policy problem from a database problem.
- Check attribute names and password control types before adding complex policies.
The client receives no response
- Verify that the client address and shared secret match the FreeRADIUS client definition.
- Check firewall rules and routing for the RADIUS UDP ports used by your deployment.
- Watch the foreground debug output while sending the request; no trace usually means the packet did not reach this daemon.
EAP or certificate authentication fails
Do not troubleshoot EAP and SQL simultaneously. First obtain a successful simple authorization, then inspect certificate paths, file permissions, trust chains, and EAP-specific errors in debug mode. A certificate failure is distinct from a MariaDB failure even when both result in an Access-Reject.
Apache shows a blank page, 403, or 500 error
- Check the Apache error log and PHP version, then confirm the PHP MySQL extension is loaded.
- Verify ownership and write permissions on only the documented daloRADIUS variable and log directories.
- Check that the virtual host document root matches the release’s interface directory and that configuration files are not publicly downloadable.
- Review the daloRADIUS database settings and confirm that its schema imports completed in the required order.
Choose a deployment shape deliberately
| Decision | Advantages | Trade-offs |
|---|---|---|
| Ubuntu packages | Integrate with systemd, distribution paths, updates, and dependency management. | Ubuntu’s package versions may differ from the Debian versions in daloRADIUS’s test matrix; verify each release. |
| Source build or containers | More control over versions and stronger isolation boundaries. | You own image or build maintenance, persistent volumes, secrets, networking, and upgrade testing. |
| Single host | Simple installation, fewer network dependencies, and straightforward backups. | Web, RADIUS, and database failures share one machine and one maintenance window. |
| Separated services | Isolation, independent scaling, and the option to restrict database access to known application hosts. | Requires network policy, TLS decisions, monitoring, and coordinated upgrades. |
| Flat-file authorization | Minimal moving parts for a small test or emergency fallback. | No daloRADIUS administration, reporting, accounting, or billing workflow. |
| SQL-backed management | Central user data, accounting, reporting, and web administration through daloRADIUS. | Introduces database credentials, schema migrations, backups, and another failure domain. |
The daloRADIUS project also documents a quick Debian installer and a Docker Compose stack that starts MariaDB, FreeRADIUS, and the web interfaces. Treat either as a starting point, not a production-ready configuration: review secrets, published ports, persistent volumes, image versions, and hardening before use on Ubuntu.
Quick Recap
Operate and maintain the server
- Keep a written record of the Ubuntu release, package versions, daloRADIUS release, schema migration level, and local configuration changes.
- Back up MariaDB on a schedule and test restoring it to an isolated instance.
- Back up the FreeRADIUS and Apache configuration separately from the database.
- Patch Ubuntu, PHP, Apache, MariaDB, FreeRADIUS, and daloRADIUS through a controlled change process.
- Monitor authentication rejects, accounting growth, disk space, MariaDB errors, and service restarts.
- Rotate database and RADIUS shared secrets without putting credentials in public repositories or world-readable files.
- Re-run foreground debug after every major package, module, schema, or certificate change.
Installation checklist
- Confirm root or equivalent administrative access and record the Ubuntu release.
- Install and harden MariaDB; create a dedicated database and account.
- Install FreeRADIUS, its MariaDB SQL driver, utilities, and required support packages.
- Locate the package’s actual v3 configuration and schema paths.
- Import the FreeRADIUS MySQL schema into the new database.
- Configure and enable the FreeRADIUS SQL module, then ensure the active virtual server calls it.
- Install Apache, PHP, the PHP MySQL driver, Git, and required extensions.
- Deploy daloRADIUS, create its documented writable directories, and set least-privilege ownership.
- Set
daloradius.conf.phpto the same database host, name, user, and password used by FreeRADIUS. - Import the daloRADIUS base schema, alphabetical migrations, and performance indexes in that order.
- Configure protected operator and user virtual hosts with TLS and firewall rules.
- Validate with
freeradius -X, one temporary authorization, and a known RADIUS client before adding advanced policies.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




