The raddb/ directory

The raddb directory contains all of the configuration for FreeRADIUS.

The configuration files have a standard syntax. In general, the files in this directory follow that syntax or file format. In some cases, it is more efficient for a module to load files in another format. Files with a non-standard format are located in the mods-config directory.

The main configuration file for the server is radiusd.conf. This file loads the other configuration files via "include" statements. This separation of files makes it easier to manage changes. The alternative would be to have a radiusd.conf file thousands of lines long.

The raddb directory contains a number of subdirectories. Each subdirectory contains files that have been grouped together for a specific purpose.

The mods-available directory contains sample configurations for all of the modules. All of the module configuration is documented here. The examples here include many modules that are shipped with the server but that may not be enabled in each individual configuration.

The mods-enabled directory contains configurations for modules that have been enabled. These modules are used by the server in its running configuration. In many cases, the files here will be soft links to the equivalent file in the mods-available directory.

The mods-config directory contains extra configuration files for many modules. These files include things like Perl scripts, SQL schemas, etc.

The sites-available directory contains sample "virtual servers". Most of these will not be used. They exist as documentation and as examples of "best practices".

The sites-enabled directory contains the configuration for "virtual servers" that are being used by the server.