{"id":2051,"date":"2017-10-20T11:38:05","date_gmt":"2017-10-20T09:38:05","guid":{"rendered":"http:\/\/blog.sfsoft.it\/?p=2051"},"modified":"2017-10-20T14:04:54","modified_gmt":"2017-10-20T12:04:54","slug":"installare-freeradius-con-supporto-mysql-su-ubuntu-16-04","status":"publish","type":"post","link":"http:\/\/www.sfsoft.it\/blog\/2017\/10\/20\/installare-freeradius-con-supporto-mysql-su-ubuntu-16-04\/","title":{"rendered":"Installare Freeradius con supporto MySQL su Ubuntu 16.04"},"content":{"rendered":"<p>Prima di tutto occorre avere il sistema LAMP installato per attivare anche il Web Management.<\/p>\n<p>Preparazione (MySQL e Apache si presume siano gi\u00e0 installati):<\/p>\n<pre class=\"lang:default decode:true\">sudo apt-get install sudo apt-get install php-common php-gd php-curl php-mail php-mail-mime php-pear php-db php-mysql<\/pre>\n<p>Si installa Freeradius:<\/p>\n<pre class=\"lang:default decode:true\">sudo apt-get install freeradius freeradius-mysql freeradius-utils<\/pre>\n<p>Creazione del database su MySQL:<\/p>\n<pre class=\"lang:default decode:true\">mysql -u root -p\r\n\r\nmysql&gt; create database radius;\r\nmysql&gt; grant all on radius.* to radius@localhost identified by \"password\";<\/pre>\n<p>Aggiunta tabelle:<\/p>\n<pre class=\"lang:default decode:true\">mysql -u root -p radius &lt; \/etc\/freeradius\/sql\/mysql\/schema.sql\r\nmysql -u root -p radius &lt; \/etc\/freeradius\/sql\/mysql\/nas.sql<\/pre>\n<p>Creazione di un utente di test radius:<\/p>\n<pre class=\"lang:default decode:true \">mysql -u root -p\r\n\r\nmysql&gt; use radius;\r\nmysql&gt; INSERT INTO radcheck (UserName, Attribute, Value) VALUES (\u2018sqltest', \u2018Password', \u2018testpwd');<\/pre>\n<p>Configurazione di Freeradius:<\/p>\n<pre class=\"lang:default decode:true \">sudo nano \/etc\/freeradius\/sql.conf<\/pre>\n<p>Impostare i dati di accesso al database:<\/p>\n<pre class=\"lang:default decode:true \">database = mysql\r\nlogin = radius\r\npassword = password\r\n\r\n# decommentare le seguenti opzioni\r\nreadclients = yes\r\nread_groups = yes<\/pre>\n<p>Editare le impostazioni:<\/p>\n<pre class=\"lang:default decode:true \">sudo nano \/etc\/freeradius\/sites-enabled\/default<\/pre>\n<p>Commentare tutte le voci <em>files<\/em> e decommentare tutte le voci <em>sql<\/em>:<\/p>\n<pre class=\"lang:default decode:true \">authorize {\r\n# files sql\r\n}\r\n\r\nauthenticate {\r\n}\r\n\r\npreacct {\r\n# files\r\n}\r\n\r\naccounting {\r\nsql\r\n}\r\n\r\nsession {\r\nsql\r\n}\r\n\r\npost-auth {\r\nsql\r\nPost-Auth-Type REJECT {\r\n# log failed authentications in SQL, too.\r\nsql\r\nattr_filter.access_reject\r\n}\r\n}<\/pre>\n<p>Editare le impostazioni:<\/p>\n<pre class=\"lang:default decode:true \">sudo nano \/etc\/freeradius\/radiusd.conf<\/pre>\n<p>Decommentare:<\/p>\n<pre class=\"lang:default decode:true \">$INCLUDE sql.conf<\/pre>\n<p>Riavviare MySQL e Freeradius:<\/p>\n<pre class=\"lang:default decode:true \">sudo \/etc\/inid.d\/mysql restart\r\nsudo \/etc\/inid.d\/freeradius restart<\/pre>\n<p>Testare l&#8217;utente radius di prova:<\/p>\n<pre class=\"lang:default decode:true \">radtest sqltest testpwd localhost 18128 testing123<\/pre>\n<p>Se tutto funziona si dovrebbe avere una risposta tipo:<\/p>\n<pre class=\"lang:default decode:true \">Sending Access-Request of id 68 to 127.0.0.1 port 1812\r\nUser-Name = \"sqltest\"\r\nUser-Password = \"testpwd\"\r\nNAS-IP-Address = 127.0.1.1\r\nNAS-Port = 18128\r\nMessage-Authenticator = 0x00000000000000000000000000000000\r\nrad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=68, length=20<\/pre>\n<p>Per installare il Web Management <em>Daloradius<\/em> <a href=\"http:\/\/sourceforge.net\/projects\/daloradius\/files\/\">scaricare dal sito l&#8217;ultima versione<\/a> (piuttosto datata), estrarlo e pubblicarlo:<\/p>\n<pre class=\"lang:default decode:true\">tar xvfz daloradius-0.9-9.tar.gz\r\nsudo mv daloradius-0.9-9 daloradius\r\nsudo mv daloradius \/var\/www\/html\r\nsudo chown -R www-data:www-data \/var\/www\/html\/daloradius\/\r\nsudo chmod 644 \/var\/www\/html\/daloradius\/library\/daloradius.conf.php\r\n<\/pre>\n<p>Importare le tabelle su MySQL:<\/p>\n<pre class=\"lang:default decode:true \">cd \/var\/www\/html\/daloradius\/contrib\/db\r\nsudo mysql -u root -p radius &lt; mysql-daloradius.sql<\/pre>\n<p>Editare le impostazioni:<\/p>\n<pre class=\"lang:default decode:true\">sudo nano \/var\/www\/html\/daloradius\/library\/daloradius.conf.php\r\n\r\n$configValues['CONFIG_DB_USER'] = 'root';\r\n$configValues[\u2018CONFIG_DB_PASS'] = \u2018password';<\/pre>\n<p>Occorre utilizzare l&#8217;utente root di MySQL o dare i permessi SUPER ad un utente o si otterranno errori simili su alcune pagine:<\/p>\n<p><em>Database error<\/em><br \/>\n<em> Error Message: DB Error: unknown error<\/em><br \/>\n<em>Debug info: SET GLOBAL sql_mode = &#8221;; [nativecode=1227 ** Access denied; you need (at least one of) the SUPER privilege(s) for this operation]<\/em><\/p>\n<p>Configurare Apache:<\/p>\n<pre class=\"lang:default decode:true \">sudo nano \/etc\/apache2\/sites-available\/daloradius.conf<\/pre>\n<p>Impostare:<\/p>\n<pre class=\"lang:default decode:true \">Alias \/daloradius \"\/var\/www\/html\/daloradius\/\"\r\n\r\n&lt;Directory \/var\/www\/html\/daloradius\/&gt;\r\nOptions None\r\nOrder allow,deny\r\nallow from all\r\n&lt;\/Directory&gt;<\/pre>\n<p>Abilitare Daloradius:<\/p>\n<pre class=\"lang:default decode:true \">sudo a2ensite daloradius\r\nsudo service apache2 reload<\/pre>\n<p>Eseguire l&#8217;accesso su http:\/\/host-o-ip-del-server\/daloradius\/ come utente administrator e password radius<\/p>\n<p>Con PHP7 si ottiene l&#8217;errore<\/p>\n<p><em>Database connection error<\/em><br \/>\n<em>Error Message: DB Error: extension not found<\/em><\/p>\n<p>Per ovviare al problema le istruzioni sono su <a href=\"https:\/\/github.com\/lirantal\/daloradius\/issues\/5\">How to get daloRADIUS to work in PHP-7<\/a>.<\/p>\n<p>Verificare di avere i requisiti:<\/p>\n<pre class=\"lang:default decode:true \">sudo apt-get install php-common php-gd php-curl php-mail php-mail-mime php-pear php-db<\/pre>\n<p>Installare:<\/p>\n<pre class=\"lang:default decode:true\">pear install DB<\/pre>\n<p>Editare le impostazioni:<\/p>\n<pre class=\"lang:default decode:true\">sudo nano \/var\/www\/html\/daloradius\/library\/daloradius.conf.php\r\n\r\n$configValues['CONFIG_DB_ENGINE'] = 'mysqli';<\/pre>\n<pre class=\"lang:default decode:true \">sudo nano \/var\/www\/html\/daloradius\/library\/opendb.php\r\n\r\n# aggiungere al fondo del file\r\n$dbSocket-&gt;query(\"SET GLOBAL sql_mode = '';\");<\/pre>\n<p>Ricaricare la pagina e ora dovrebbe funzionare anche il Web Management.<\/p>\n<p>Esiste anche un altro Web Management che alcuni consigliano, <a href=\"https:\/\/www.radiusdesk.com\/\">RADIUSdesk<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prima di tutto occorre avere il sistema LAMP installato per attivare anche il Web Management. Preparazione (MySQL e Apache si presume siano gi\u00e0 installati): sudo apt-get install sudo apt-get install php-common php-gd php-curl php-mail php-mail-mime php-pear php-db php-mysql Si installa Freeradius: sudo apt-get install freeradius freeradius-mysql freeradius-utils Creazione del database su MySQL: mysql -u root [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[15,3,23],"tags":[246,265,16,8,5,247],"_links":{"self":[{"href":"http:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/posts\/2051"}],"collection":[{"href":"http:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/comments?post=2051"}],"version-history":[{"count":6,"href":"http:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/posts\/2051\/revisions"}],"predecessor-version":[{"id":2057,"href":"http:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/posts\/2051\/revisions\/2057"}],"wp:attachment":[{"href":"http:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/media?parent=2051"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/categories?post=2051"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.sfsoft.it\/blog\/wp-json\/wp\/v2\/tags?post=2051"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}