<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>FreeRadiusDocUbuntuInstallation</title><revhistory><revision><revnumber>2</revnumber><date>2010-01-28 11:41:11</date><authorinitials>ppp-118-65.33-151.iol.it</authorinitials></revision><revision><revnumber>1</revnumber><date>2010-01-28 11:21:11</date><authorinitials>ppp-118-65.33-151.iol.it</authorinitials></revision></revhistory></articleinfo><section><title>FreeRadius Installation</title><para>In questa sezione verrà mostrato come installare <ulink url="http://wiki.ninux.org/FreeRadiusDocUbuntuInstallation/FreeRadius#">FreeRadius</ulink> e tutte le sue componenti su Ubuntu Server 8.04.3. Ovviamente la guida da per scontato che abbiate installato Ubuntu Server 8.04.3. </para><section><title>Installation of base packages</title><screen><![CDATA[system@meshboard:~$ sudo apt-get install freeradius freeradius-mysql
system@meshboard:~$ mysql -u root -p
Enter password:<La password di root che avete scelto durante l'installazione di MySQL Server>
mysql> CREATE DATABASE radius;
mysql> quit  
system@meshboard:~$ sudo zcat /usr/share/doc/freeradius/example/mysql.sql.gz | mysql -u root -p radius
Enter Password : <La password di root che avete scelto durante l'installazione di MySQL Server>
system@meshboard:~$ mysql -u root -p
Enter password : <La password di root che avete scelto durante l'installazione di MySQL Server>
mysql> GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY '<scegliere una password per l'account radius>';
mysql> FLUSH PRIVILEGES;
mysql> quit]]></screen><para>A questo punto avrete Freeradius installato sulla vostra macchina con tanto di database (rlm_sql). Ovviamente per avere Freeradius funzionante in realtime è necessario apportare qualche modifica ai file di configurazione di freeradius istruendolo su come connettersi a mysql. </para><screen><![CDATA[system@meshboard:~$ sudo vim /etc/freeradius/sql.conf]]></screen><para>e cambiare i parametri di connessione al database in accordo con quelli che avete scelto precedentemente: </para><screen><![CDATA[server = "localhost"
login  = "radius"
password = "<la password che avete scelto per l'account radius>" ]]></screen><para>Aggiungiamo un NAS di test su localhost </para><screen><![CDATA[system@meshboard:~$ sudo vim /etc/freeradius/clients.conf]]></screen><screen><![CDATA[client 127.0.0.1 {
    secret = radiussecret
}]]></screen><section><title>Testiamo la configurazione</title><para>A questo punto conviene testare la configurazione per verificare che tutto stia funzionando come dovrebbe: </para><para>Apriamo il file di configurazione degli utenti (non realtime) </para><screen><![CDATA[system@meshboard:~$ sudo vim /etc/freeradius/users]]></screen><para>e aggiungiamo un utente di prova decommentando: </para><screen><![CDATA["John Doe"     Auth-Type := Local, User-Password == "hello"
        Reply-Message = "Hello, %u"]]></screen><para>Verifichiamo che non ci siano errori di battitura nel file di configurazione: </para><screen><![CDATA[system@meshboard:~$ sudo /etc/init.d/freeradius stop
system@meshboard:~$ sudo freeradius -XXX -A]]></screen><para>Se l'ultima riga contiene qualcosa di simile, vuol dire che tutto è andato a buon fine: </para><screen><![CDATA[Gio Gen 28 12:34:35 2010 : Info: Ready to process requests.]]></screen><para>A questo punto rifacciamo partire il servizio freeradius e testiamo una richiesta di login in locale </para><screen><![CDATA[system@meshboard:~$ sudo /etc/init.d/freeradius start
system@meshboard:~$ sudo radtest "John Doe" hello 127.0.0.1 0 radiussecret]]></screen><para>Se non ci sono stati problemi dovreste leggere una roba del genere: </para><screen><![CDATA[Sending Access-Request of id 136 to 127.0.0.1 port 1812
        User-Name = "John Doe"
        User-Password = "hello"
        NAS-IP-Address = 255.255.255.255
        NAS-Port = 0
rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=136, length=37
        Reply-Message = "Hello, John Doe"]]></screen></section></section></section></article>