Система за таксуване ABillS за nix

abills

Статия от списание Cracker

На практика голяма част от предоставяните от доставчиците услуги или услуги изискват наличието на автоматична система за отчитане на изразходваните ресурси. В момента са налични неограничен брой системи за таксуване, платени и безплатни, разпространявани под безплатен лиценз.

Някои от тях са насочени към строго определена услуга, други са многофункционални решения. Системата за таксуване ABillS принадлежи към класа на програмите "всичко в едно".

Характеристики на ABillS

Безплатната система за таксуване ABillS (AsmodeuS Billing System) се разпространява под лиценз GNU GPL2, написана е на Perl и използва други OpenSource решения в процеса: Apache, MySQL и FreeRADIUS. Информация за продукта и изходните текстове са достъпни на уебсайта на проекта www.abills.net.ua/wiki/doku.php.

С помощта на ABillS можете да създадете запис на времето на работа и трафика на комутируеми и VPN потребители с издаване на статистика за всеки период от време. Работи с неограничен брой NAS (Network Access Server, сървър за мрежов достъп) сървъри.

Декларира се поддръжка на протокола за криптиране на данни MPPE. Освен това в доставката има още около 20 модула, чиято връзка ви позволява да увеличите стандартните функции. Например AGI интерфейс към Asterisk и монитор на Squid. Има модул за управление на DHCP сървър и потребителски пощенски кутии.

Възможно е да се следи броя на активните сесии и трафика, преминаващ през интерфейса с помощта на MRTG. Внедрена е конзолата за управление на бази данни. Абонаментните такси могат да се таксуват веднъж на ден, всеки месец или веднъж годишно, въведена е бонусна система.

Плащането на услугите може да се извърши с помощта на разплащателни карти, а свързването към услугите - чрез специални карти. И на практика всичко останало.Наличието на много функции директно доведе до факта, че ABillS се счита за трудна за настройка система.

Нека се опитаме да го разберем. Като цяло инсталирането на ABillS може условно да се раздели на две стъпки. Практически монтаж и конфигуриране на компоненти на системата за таксуване и свързване на контролирани услуги.

При всичко това не всички компоненти (Apache, MySQL, FreeRADIUS и ABillS) трябва да бъдат инсталирани на един и същ компютър, но за простота ще използвам тази опция директно. За операционна система беше избрана Ubuntu 7.10, разликите в другите системи са незначителни.

Инсталиране на FreeRADIUS

Да започнем с инсталирането на FreeRADIUS, който отговаря за преноса на информация между обслужващите програми и системата за таксуване, предоставяйки три A (Authorization, Authentication, Accounting). Той се намира в хранилищата на по-голямата част от дистрибуциите, следователно:

$ sudo apt-get инсталирайте freeradius radiusclient1

В работата си FreeRADIUS използва няколко конфигурационни файла, които се намират в директорията /etc/freeradius (в зависимост от вида на инсталацията иликомплекта за разпространение, товаможе да бъде /etc/raddb). Не е необходимо да докосвате всички, просто променете няколко функции. Да започнем с radiusd.conf, в който се изпълняват общите сървърни функции.

$ sudo mcedit /etc/freeradius/radiusd.conf

files # etc_smbpasswd # sql # mschap > Потребителските данни се записват във файла /etc/freeradius/users, необходимо е да коригирате съответния параметър в него, така че скриптът ABillS да отговаря за това.

$ sudo mcedit /etc/freeradius/users

$ sudo mcedit /etc/freeradius/acct_users

DEFAULT Acct-Status-Type == Старт

данни

ПО ПОДРАЗБИРАНЕ Acct-Status-Type == Alive Exec-Program ="/usr/abills/libexec/racct.pl"

$ sudo mcedit /etc/freeradius/clients.conf

$ check-radiusd-config -level Триста 40 5 radiusd on Конфигурацията на Radius сървър изглежда добре.

sudo

Ако всичко е наред, стартирайте сървъра в режим на отстраняване на грешки “radiusd –X ” и продължете към следващата стъпка.

Настройка на MySQL

След това ще ни трябва работеща MySQL СУБД, така че нека да преминем към нейното инсталиране. Ако вече съществува, можете да пропуснете тази стъпка.

$ sudo apt-get инсталирайте mysql-сървър mysql-клиент

В нашия случай таксуването и мускулите са на един и същ възел, така че това е достатъчно. Ако се използва друг сървър, не забравяйте да промените стойността тук. Стартирайте MySQL:

$ sudo /etc/init.d/mysql start

Следваща стъпка: в mysql създайте потребителabills с паролаpassword и база данниabills :

$ mysql -u root -p mysql> използвайте mysql; Базата данни е променена

данни

mysql>INSERT INTO user (Host, User, Password) VALUES ('localhost','abills', password('password')); mysql>INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Index_priv, Alter_priv, Lock_table s_priv, Create_tmp _table_priv) СТОЙНОСТИ ('localhost', 'abills', 'abills', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y'); mysql>CREATE DATABASE abills;

система

За удобство тези команди могат да бъдат поставени в текстов файл и заредени през конзолата. В момента копираме най-новата версия на ABills от уебсайта на проекта, разопаковаме я:

$ cd /usr $ tar xzvf abills-0.37.tgz $ cd abills

Вътре има шаблон за таблица на база данни, заредете го:

$ mysql -D abills -u root -p > \ /etc/apache2/apache2.conf"

Но без редакция няма да стане. Въз основа на него можете да направите свой собствен файл:

$ sudo mcedit /etc/apache2/apache2.conf

# Enable UI Alias ​​​​/abills "/usr/abills/cgi-bin/" RewriteEngine on RewriteCond % ^(.*) RewriteRule ^(.*) - [E=HTTP_CGI_AUTHORIZATION:%1] Options Indexes ExecCGI SymLinksIfOwnerMatch …

Подобни статии

Статията е написана в списание System Administrator В момента пощенски сървър, базиран на Unix-подобна операционна система, неизменно се свързва с композиция, която е неразбираема за новото, като Postfix + Dovecot + Squirrelmail + Cl.

V3.01 --> Управлението на услуги в голяма разнородна мрежа не е обикновена задача. Необходимо е не само да се актуализира, да се следи тяхното състояние и всички конфигурации. Всичко това може да се разглежда открито.