FreeBSD 7.3, Apache 2.2.16, FreeRADIUS 2.1.10, PHP 5.3.3, mysql-server-5.5.7
Скачал с официального сайта архив радиус сервера. Из скачанного архива копируем папку dialup_admin в ту директорию которая в файле httpd.conf указана в качестве ServerRoot у меня это /usr/local. Создаем симлинк ln -s /usr/local/dialup_admin/htdocs /usr/local/www/dialup_admin для того, чтобы сервер имел доступ к php скриптам, которые там хранятся. У меня /usr/local/www указана в качестве DocumentRoot.
Настраиваем Apapche на выполнение php скриптов
Создаем запись для dialup_admin в httpd.conf
Создаем файл .htpasswd следующей командой htpasswd -c .htpasswd login password
Создаем в mysql базу, если не была до этого создана. Для этого заходим в mysql mysql -u username -p
И собственно создаем базу
Затем создаем таблицы
На этапе создания таблицы userinfo.sql возникла вот такая ошибка ERROR 1067 (42000) at line 4: Invalid default value for 'id' Решилось вот это строчке id int(10) DEFAULT '0' NOT NULL auto_increment, на такую вот id int(10) NOT NULL auto_increment,
Скачал с официального сайта архив радиус сервера. Из скачанного архива копируем папку dialup_admin в ту директорию которая в файле httpd.conf указана в качестве ServerRoot у меня это /usr/local. Создаем симлинк ln -s /usr/local/dialup_admin/htdocs /usr/local/www/dialup_admin для того, чтобы сервер имел доступ к php скриптам, которые там хранятся. У меня /usr/local/www указана в качестве DocumentRoot.
Настраиваем Apapche на выполнение php скриптов
LoadModule php5_module libexec/apache22/libphp5.so AddModule mod_php5.c AddType application/x-httpd-php .php .htm .html .phtml
Создаем запись для dialup_admin в httpd.conf
Alias /dialup_admin/ /usr/local/www/dialup_admin/Options +FollowSymLinks +Indexes +SymLinksIfOwnerMatch AllowOverride All DirectoryIndex index.html AddType application/x-httpd-php .php .htm .html .phtml AuthName "Restricted Area" AuthType Basic AuthUserFile /usr/local/www/dialup_admin/.htpasswd require valid-user Order allow,deny Allow from all
Создаем файл .htpasswd следующей командой htpasswd -c .htpasswd login password
Создаем в mysql базу, если не была до этого создана. Для этого заходим в mysql mysql -u username -p
И собственно создаем базу
mysql> CREATE DATABASE radius; mysql> exit;
Затем создаем таблицы
mysql -u root -p radius < /usr/local/dialup_admin/sql/mysql/badusers.sql mysql -u root -p radius < /usr/local/dialup_admin/sql/mysql/mtotacct.sql mysql -u root -p radius < /usr/local/dialup_admin/sql/mysql/totacct.sql mysql -u root -p radius < /usr/local/dialup_admin/sql/mysql/userinfo.sql
На этапе создания таблицы userinfo.sql возникла вот такая ошибка ERROR 1067 (42000) at line 4: Invalid default value for 'id' Решилось вот это строчке id int(10) DEFAULT '0' NOT NULL auto_increment, на такую вот id int(10) NOT NULL auto_increment,
Ну а дальше укажу только то что изменял:
general_radiusd_base_dir: /usr/local/sbin/ general_radclient_base_dir: /usr/local/dialup_admin/bin/ general_domain: my_site.su general_radclient_bin: %{general_radclient_base_dir} general_radius_server: 1.2.3.4 general_radius_server_port: 1812 general_radius_server_auth_proto: pap или chap на выбор general_radius_server_secret: который использовался при настройке NAS сервера sql_password_attribute: Cleartext-Password если необходимо, чтобы пароли в базе хранились открытым текстом, иначе будут шифроваться general_decode_normal_attributes: no general_use_session: yes
Все настройка закончена, набираем в браузере http;//my_site.su/dialup_admin
На главной странице в левом фрейме
php notice undefined offset 1 in /usr/local/dialup_admin/conf/config.php
исправил в php.ini
error_reporting=E_ALL & ~E_NOTICEи убрал из disable_functions значение exec
if ($use_session == 0 && $config['general_use_session'] == 'yes'){ <------>// Start session <------>@session_start(); <------>if (isset($nas_list)) <------><------>session_register('nas_list');
Проблема:
PHP Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0
Лечение:
php.ini session.bug_compat_42 = Off session.bug_compat_warn = Off
Проблема:
Deprecated: Function session_register() is deprecated in /usr/local/dialup_admin/conf/config.php on line 108 Deprecated: Function session_register() is deprecated in /usr/local/dialup_admin/conf/config.php on line 71
Лечение: session_register('nas_list'); заменить на $_SESSION['nas_list']; session_register('mappings'); заменить на $_SESSION['mappings'];
Везде где встретится Deprecated: Function session_register() необходимо session_register('');
заменить на $_SESSION['']; потому, что session_redister начиная с версии php 5.3.x признана устаревшей
Проблема:
warning: mktime() expects parameter 1 to be long, string givenЛечение:
$timest = mktime($time[0],$time[1],$time[2],$day[1],$day[2],$day[0]);--> $timest = mktime((int)$time[0],(int)$time[1],(int)$time[2],(int)$day[1],(int)$day[2],(int)$day[0]);
были еще вот такие ошибки DEBUG(SQL,MYSQL DRIVER) избавился следующим образом, в admin.conf sql_debug = false
Такого рода ошибки:
PHP Warning: Invalid argument supplied for foreach() in /usr/local/dialup_admin/htdocs/user_new.php on line 103 PHP Warning: Invalid argument supplied for foreach() in /usr/local/dialup_admin/htdocs/nas_admin.php on line 190Исправил так:
перед foreach() следующей строки
if (is_array($$member_groups )) { if (is_array($my_nas_list)) {соответственно
Для авторизации пользователей по протоколу CHAP пароли в базе должны храниться в формате plain_text.
Для смены формата необходимо написать следуюющее password_store_method=plain_text и при необходимости изменить аттрибуты пароля в базе
В моей сусе 12.1 такая "штучка" тоже есть, но пока получилось только http://druha.sp.ru/forum/viewtopic.php?f=2&t=11
ОтветитьУдалитьДушевное спасибо, помогла статья.
ОтветитьУдалитьСам с ним долго мучался, когда устанавливал, перечитал кучу форумов и мануал по нему.
ОтветитьУдалитьГрамотная статейка, только вот что то не срослось никак, главная страница нормально открывается, как только нажимаешь на ссылочку, выходит белый лист, и ошибки вроде все убрал, в общем времени доразбирываться нет, пришлось daloradius запилить, а эту веб морду надеюсь все-таки позже как-нибудь доделать, для моих нужд она мне как то поудобней кажется.
ОтветитьУдалитьНу таких проблем у меня не было, подсказать не могу. Да и поработать толком с dialup admin, к сожалению, не получилось. Дальше экспериментов дело не пошло.
ОтветитьУдалить