This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.

Linux - Системные программы

Не работает? Начинай читать инструкцию.

Установка freeradius server и web interface dialupadmin. Совместная работа Freeradius с MySQL сервером.

В общем была необходимость поставить freeradius web interface и поддержкой MySQL. Попробую вспомнить как я это делал, что бы совсем не забыть. Все действия по настройке Freeradius MySQL были выполнены на CentOS-5

Предлагаю ознакомиться с предложениями моих партнёров

Допустим, что у Вас уже установлен веб сервер Apache, mysql и запускаются при загрузке системы.

Кроме этого, вам потребуется установить поддержку php

yum install php php-common php-cli php-ldap php-pdo php-mysql php-gd php-imap php-mbstring php-mcrypt php-php-gettext phpmyadmin -y

Для своих нужд, я ставил эти пакеты

yum install mc htop unrar sharutils putty -y

Установка freeradius server

yum install freeradius2 freeradius2-krb5 freeradius2-ldap freeradius2-mysql freeradius2-perl freeradius2-postgresql freeradius2-python freeradius2-unixODBC freeradius2-utils -y

Установка web interface dialupadmin

Для настройки freeradius web interface, мне понадобиться dialupadmin из freeradius-server-2.2.1.tar.gz которую я копирую в /usr/local/

Скачать freeradius server и web interface dialupadmin

Делаю ссылку

ln -s /usr/local/dialup_admin/htdocs /var/www/html/dialupadmin

или создаю файл /etc/httpd/conf.d/dialupadmin.conf с содержимым

Alias /dialupadmin /usr/local/dialup_admin/htdocs

Вношу изменения в /etc/php.ini

У меня был ещё почтовый сервер и установленный сайт, поэтому было так

date.timezone = Europe/Kiev
upload_max_filesize = 16M
memory_limit = 256M
post_max_size = 32M

Для phpmyadmin добавить секретное слово в файле
/usr/share/phpmyadmin/config.inc.php в директиве blowfish_secret

$cfg['blowfish_secret'] = 'sekret'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Совместная работа Freeradius с MySQL сервером.

Создаю базу данных - radius и импортирую файлы в базу

/etc/raddb/sql/mysql/admin.sql
/etc/raddb/sql/mysql/cui.sql
/etc/raddb/sql/mysql/ippool.sql
/etc/raddb/sql/mysql/nas.sql
/etc/raddb/sql/mysql/schema.sql
/etc/raddb/sql/mysql/wimax.sql

/usr/local/dialup_admin/sql/mysql/badusers.sql
/usr/local/dialup_admin/sql/mysql/mtotacct.sql
/usr/local/dialup_admin/sql/mysql/totacct.sql
/usr/local/dialup_admin/sql/mysql/userinfo.sql

На этапе создания таблицы userinfo.sql возникла вот такая ошибка
ERROR 1067 (42000) at line 4: Invalid default value for 'id'

В файле userinfo.sql меняем ( '0' на NULL )

id int(10) DEFAULT '0' NOT NULL auto_increment,

на

id int(10) DEFAULT NULL NOT NULL auto_increment,

На всякий случай дам пользователю БД radius все права с паролем radpass
Создам нового пользователя dialup_admin с паролем radpass (необязательно)
Вношу логин и пароль в файл  /usr/local/dialup_admin/conf/admin.conf

от ошибки DEBUG(SQL,MYSQL DRIVER) избавился следующим образом, в admin.conf

sql_debug = false

Настройка FreeRADIUS для использования баз данных MySQL

Редактируем файл /etc/raddb/sql.conf

database = "mysql"
server = "localhost"
login = "radius"
password = "radpass"
radius_db = "radius"
usergroup_table = "radusergroup"

Раскоментируем

readclients = yes //указвает на то что хранить информацию о клиентах надо в базе данных в таблице nas, а не в файле (в этом контексте под "клиентом" поднимаеться демон chillispot на hot-spot'ах, а не конечный клиент-человек)

Разрешаем глобально радиусу использовать sql базу, редактируем и снимем комментарий #  в файле /etc/raddb/radiusd.conf

Раскоментировать

$INCLUDE sql.conf

Теперь редактируем  файл /etc/raddb/sites-available/default

Ищем секцию authorize, раскомментируем строку sql
это позволит радиусу искать данные о пользователях в базе данных при их авторизации.

получиться примерно так:

authorize {
      preprocess
      chap
      mschap
      suffix
      eap
      sql
      pap
   }

Теперь ищем секцию accounting и разкоментируем строку с sql
Этим самым мы говорим радиусу хранить данные о подсчете трафике в базе sql

session{}, post-auth{} раскомментируем sql

Добавляем в автозапуск и стартуем

chkconfig radiusd on
service radiusd start

Если Вам интересно, то лучше проверить работу «связки» FreeRADIUS + MySQL:

Предлагаю ознакомиться с предложениями моих партнёров

Как проверить работу «связки» FreeRADIUS + MySQL