principal:
http://linuxdrops.com/install-freeradius-with-web-based-management-daloradius-on-centosrhel-debian-ubuntu/
Fixes:
http://sourceforge.net/p/daloradius/discussion/684102/thread/94933b26/
http://forum.mikrotik.com/viewtopic.php?t=52830
http://sourceforge.net/p/daloradius/mailman/message/21201568/
phpmyadmin:
https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-a-centos-6-4-vps
Overview
FreeRADIUS is the most popular open source RADIUS server[2] and the
most widely deployed RADIUS server in the world.[2] It supports all
common authentication protocols, and the server comes with a PHP-based
web user administration tool called dialupadmin . It is the basis for
many commercial RADIUS products and services, such as embedded systems,
RADIUS appliances that support Network Access Control, and WiMAX. It
supplies the AAA needs of many Fortune-500 companies, telcos, and Tier 1
ISPs. It is also widely used in the academic community, including
eduroam. The server is fast, feature-rich, modular, and scalable. The
currently shipping stable version is 2.2.0.
Install FreeRadius with Web Based Management Daloradius on CentOS/RHEL, Debian, Ubuntu
On CentOS/RHEL 5
|
|
yum install freeradius2 freeradius2-mysql freeradius2-utils mysql-server mysql php-mysql php php-gd php-pear-DB
|
On CentOS/RHEL 6
|
|
yum install freeradius freeradius-mysql freeradius-utils mysql-server mysql php-mysql php php-gd php-pear-DB
|
Ubuntu or Debian
|
|
apt-get install freeradius freeradius-mysql freeradius-utils mysql-server mysql chkconfig php5 php5-mysql php5-db php5-pear
|
Start the MySQL instance
|
|
chkconfig mysqld on
/etc/init.d/mysqld start
|
Next we need to create the radius database, so execute
Create the database and grant all privileges to user radius
|
|
CREATE DATABASE radius;
GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY "radius@123";
flush privileges;
exit
|
Now we need to build the schema for radius database
On CentOS/RHEL
|
|
mysql -uradius -p radius < /etc/raddb/sql/mysql/schema.sql
|
On Debian/Ubuntu
|
|
mysql -uradius -p radius < /etc/freeradius/sql/mysql/schema.sql
|
Now edit the sql.conf file and populate the database credentials.
On CentOS/RHEL
On Debian, Ubuntu
|
|
vi /etc/freeradius/sql.conf
|
Enter your mysql database details you just created
|
|
# Connection info:
server = "localhost"
port = 3306
login = "radius"
password = "radius@123"
# Database table configuration for everything except Oracle
radius_db = "radius"
|
Next open /etc/raddb/radiusd.conf
On CentOS/RHEL
|
|
vi /etc/raddb/radiusd.conf
|
On Debian, Ubuntu
|
|
vi /etc/freeradius/radiusd.conf
|
Uncomment Line 700 to include sql.conf
Next edit /etc/raddb/sites-available/default and uncomment the line
177 containing ‘sql’ under the authorize {} section and line 406 ‘sql’
under the accounting {} section, also uncomment ‘sql’ under session {}
line 454.
On CentOS/RHEL
|
|
vi /etc/raddb/sites-available/default
|
On Debian, Ubuntu
|
|
vi /etc/freeradius/sites-available/default
|
Now, edit /etc/raddb/sites-available/inner-tunnel and uncomment the
line 131 and line 255 containing ‘sql’ under authorize {} and under
session {}.
On CentOS/RHEL
|
|
vi /etc/raddb/sites-available/inner-tunnel
|
On Debian, Ubuntu
|
|
vi /etc/freeradius/sites-available/inner-tunnel
|
Open up /etc/raddb/clients.conf
On CentOS/RHEL
|
|
vi /etc/raddb/clients.conf
|
On Debian, Ubuntu
|
|
vi /etc/freeradius/clients.conf
|
To add NAS clients that will use RADIUS server for AAA you have to
add the following to the clients.conf file. Append a block such as this,
replace 192.168.209.1 with the ip address of your NAS client that will
use FreeRADIUS for AAA.
|
|
client 192.168.209.1 {
secret = 91982650d89
nastype = other
}
|
Restart FreeRADIUS for the new configuration to take effect.
On CentOS/RHEL
On Ubuntu, Debian
|
|
service freeradius restart
|
If you encounter any problems you can run FreeRADIUS in debug mode to
find any authentication issues. To run FreeRADIUS in debug mode execute
On CentOS/RHEL
On Ubuntu, Debian
Update:
Radius use MySQL to store usernames and passwords. To manage radius server daloradius is a good choice. To install daloradius
|
|
wget http://sourceforge.net/projects/daloradius/files/latest/download?source=files
tar zxvf daloradius-0.9-9.tar.gz
mysql -uradius -p radius < daloradius-0.9-9/contrib/db/fr2-mysql-daloradius-and-freeradius.sql
|
Next open the daloradius.conf.php
|
|
vi daloradius-0.9-9/library/daloradius.conf.php
|
Add the database username, password and db name.
|
|
• $configValues['DALORADIUS_VERSION'] = '0.9-9';
• $configValues['FREERADIUS_VERSION'] = '2';
• $configValues['CONFIG_DB_ENGINE'] = 'mysql';
• $configValues['CONFIG_DB_HOST'] = 'localhost';
• $configValues['CONFIG_DB_USER'] = 'radius';
• $configValues['CONFIG_DB_PASS'] = 'radius@123';
• $configValues['CONFIG_DB_NAME'] = 'radius';
|
Move daloradius to the web root directory
On Debian, Ubuntu
|
|
mv daloradius-0.9-9 /var/www/daloradius
|
On CentOS/RHEL
|
|
mv daloradius-0.9-9 /var/www/html/daloradius
|
Point your browser to http://ip-address-or-hostname/daloradius
Login using
Username administrator
Password radius
You can add new groups and users to the database and manage the radius server.
Fix1:
# yum install php-pear*
# pear install DB
Fix2:
Database error
Error Message: DB Error: no such table
Debug
info: SELECT id, username FROM operators WHERE username =
'Administrador' AND password = 'radius' [nativecode=1146 ** Table
'radius.operators' doesn't exist]
to repair this you must:
# cd /var/www/daloradius/contrib/db/
# mysql -u(your username) -p(your password) radius(or the name of database you created)
Fix3
> It seems that you don't have the NAS table in your schema for some reason.
> To apply it get on MySQL console and enter the following:
>
> DROP TABLE IF EXISTS `nas`;
> CREATE TABLE `nas` (
> `id` int(10) NOT NULL auto_increment,
> `nasname` varchar(128) NOT NULL,
> `shortname` varchar(32) default NULL,
> `type` varchar(30) default 'other',
> `ports` int(5) default NULL,
> `secret` varchar(60) NOT NULL default 'secret',
> `community` varchar(50) default NULL,
> `description` varchar(200) default 'RADIUS Client',
> PRIMARY KEY (`id`),
> KEY `nasname` (`nasname`)
> );