Это старая версия документа.
ABillS - Установка
Загрузить пакет можно по адресу http://sourceforge.net/projects/abills/
# tar zxvf abills-0.5x.tgz # cp -Rf abills /usr/ # cp /usr/abills/libexec/config.pl.default /usr/abills/libexec/config.pl
Правим конфигурационный файл системы
/usr/abills/libexec/config.pl
#DB configuration $conf{dbhost}='localhost'; $conf{dbname}='abills'; $conf{dbuser}='abills'; $conf{dbpasswd}='sqlpassword'; $conf{ADMIN_MAIL}='info@your.domain';
При изменении значения в $conf{secretkey} поменяйте его также в файле abills/abills.sql
Настройка сопутствующего ПО
MySQL
Загрузить пакет MySQL можно по адресу [http://www.mysql.com]
Пример настройки для MySQL версии 5.1
# tar xvfz mysql-5.1.x.tar.gz # cd mysql-5.1.x # ./configure # make # make install
Создаём пользователя и базу.
# mysql --default-character-set=utf8 -u root -p
GRANT ALL ON abills.* TO `abills`@localhost IDENTIFIED BY "sqlpassword"; CREATE DATABASE abills DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; quit;
Загружаем таблицы в базу.
# cd /usr/abills/db/ # mysql --default-character-set=utf8 -D abills < abills.sql
Web Server
Apache
Apache
Веб-сервер должен быть собран с поддержкой mod_rewrite
# ./configure --prefix=/usr/local/apache --enable-rewrite=shared # make # make install
Если используем SSL (https), создаём сертификаты. Apache должен быть собран с mod_ssl.
# /usr/abills/misc/certs_create.sh apache
Включаем abills/misc/apache/abills_httpd.conf в конфигурационный файл apache
2.2
cp /usr/abills/misc/apache/abills_httpd.conf /..ваш путь../Includes/
2.4
cp /usr/abills/misc/apache/abills_httpd.conf /..ваш путь../sites-enabled/
Perl modules
Для работы системы нужны модули.
DBI | |
DBD-mysql | |
Digest-MD5 | для Chap авторизации |
Digest-MD4 | для MS-Chap авторизации |
Crypt-DES | для MS-Chap авторизации |
Digest-SHA1 | для MS-ChapV2 авторизации |
libnet | Нужен только при авторизации из UNIX passwd |
Time-HiRes | Нужен только для тестирования скорости выполнения авторизации, аккаунтинга, и страниц веб-интерфейса |
XML-Simple | Для работы с определёнными платёжными системами модуля Paysys |
PDF-API2 | Для генерации документов в формате PDF c помощью модуля Docs |
RRD-Simple | Для генерации графиков загрузки с помощью скрипта graphics.cgi |
Эти модули можно загрузить с сайта [http://www.cpan.org] или установка с консоли.
# cd /root # perl -MCPAN -e shell o conf prerequisites_policy ask install DBI install DBD::mysql install Digest::MD5 install Digest::MD4 install Crypt::DES install Digest::SHA1 install Bundle::libnet install Time::HiRes install XML::Simple install PDF::API2 install RRD::Simple quit
Radius
В данной документации описана настройка exec
версии работы биллинга с радиусом, если у Вас больше 500 абонентов просьба пользоваться rlm_perl
конфигурацией
Загрузить пакет FreeRadius можно по адресу [http://www.freeradius.org]
# tar zxvf freeradius-1.1.0.tar.gz # cd freeradius-1.1.0 # ./configure --prefix=/usr/local/radiusd/ # make # make install
копируем файлы с настройками:
# cp /usr/abills/misc/freeradius/v2/radiusd.conf /usr/local/freeradius/etc/raddb/radiusd.conf # rm /usr/local/freeradius/etc/raddb/sites-enabled/* # cp /usr/abills/misc/freeradius/v2/users_perl /usr/local/freeradius/etc/raddb/users # cp /usr/abills/misc/freeradius/v2/default_rlm_perl /usr/local/freeradius/etc/raddb/sites-enabled/abills_default # cp /usr/abills/misc/freeradius/v2/perl /usr/local/freeradius/etc/raddb/modules/ # ln -s /usr/local/freeradius/sbin/radiusd /usr/sbin/radiusd
для автоматического запуска радиуса в FreeBSD внести изменения в /etc/rc.conf добавить
Код:
radiusd_enable="YES"
ABillS - Настройка
Вносим в cron
периодические процессы
billd - контролер активных сессий
periodic - дневные и месячные периодические процессы
/etc/crontab
*/5 * * * * root /usr/abills/libexec/billd -all 1 0 * * * root /usr/abills/libexec/periodic daily 1 1 * * * root /usr/abills/libexec/periodic monthly
Установить права на чтение и запись вебсервером для файлов веб интерфейса
# mkdir /usr/abills/var/ /usr/abills/var/log /usr/abills/backup # chown -Rf www /usr/abills/cgi-bin # chown -Rf www /usr/abills/Abills/templates # chown -Rf www /usr/abills/backup
Веб интерфейс администратора:
https://your.host:9443/admin/
Логин администратора по умолчанию abills пароль abills
Веб интерфейс для пользователей:
https://your.host:9443/
В интерфейсе администратора прежде всего надо сконфигурировать сервера доступа NAS (Network Access Server).
Переходим в меню
System configuration→NAS
Параметры
IP | IP адрес NAS сервера |
---|---|
Name | Название |
Radius NAS-Identifier | Идентификатор сервера (можно не вписывать) |
Describe | Описание сервера |
Type | Тип сервера. В зависимости от типа по разному обрабатываются запросЫ на авторизацию |
Authorization | Тип авторизации. SYSTEM - При хранении паролей в UNIX базе (/etc/passwd) SQL - при хранении паролей SQL базе (MySQL, PosgreSQL) |
Alive | Период отправки Alive пакетов |
Disable | Отключить |
:Manage: | Секция менеджмента NAS сервера |
IP:PORT | IP адрес и порт для контроля соединения. Например, для отключения пользователя из веб-интерфейса |
User | Пользователь для контроля |
Password | Пароль |
RADIUS Parameters | Дополнительные параметры которые передаются NAS серверу после успешной авторизации. |
После заведения сервера доступа добавте ему пул адресов IP POOLs.
FIRST IP | Первый адрес в пуле |
---|---|
COUNT | Количество адресов |
Одному серверу доступа может принадлежать несколько пулов адресов.
Создание тарифного плана
Меню
System configuration→Internet→Tarif Plans
Регистрация пользователя
Customers→Users→Add
Заведение сервиса Internet на пользователя.
Customers→Users→Information→Services→Internet
Проверка
Для проверки правильно ли настроен сервис нужно запустить утилиту radtest указав логин и пароль существующего пользователя.
Логин: test Пароль: 123456
# radtest test 123456 127.0.0.1:1812 0 radsecret 0 127.0.0.1
Если всё правильно настроено, в журнале ошибок /Отчёт/Internet/Ошибка/ должна появиться строка
2005-02-23 12:55:55 LOG_INFO: AUTH [test] NAS: 1 (xxx.xxx.xxx.xxx) GT: 0.03799
Если Вы увидите другие ошибки смотрите в список ошибок. Если журнал ошибок пуст значит неправильно настроено взаимодействие с RADIUS сервером.