Настройка сервера :Part 2: NAS(mpd5) + freeradius + ng_car + Abills – раздаём инет
Автор: SHARK в FreeBSD 8 | Блог Связиста | Вторник 6 июля 2010В прошлый раз мы делали начальные приготовления к установке ….. сегодня мы попытаемся настроить биллинг Abills …..И так поехали……….
# whereis abills
# cd /usr/ports/net/abills
В портах – abills-0.41. На оффициальном сайте есть 0.5-я версия. Я решил ставить из портов.
# make install clean
Однако радоваться пришлось не долго….как обычно полетели ошибки :
===> Installing for abills-0.41
===> abills-0.41 depends on executable: radiusd - not found
===> Verifying install for radiusd in /usr/ports/net/freeradius
===> Patching for freeradius-1.1.7_4
===> freeradius-1.1.7_4 depends on file: /usr/local/bin/perl5.8.9 - found
===> Applying FreeBSD patches for freeradius-1.1.7_4
patch: **** can't cd to /usr/ports/net/freeradius/work/freeradius-1.1.7: No such file or directory
=> Patch patch-pthread failed to apply cleanly.
*** Error code 1
Stop in /usr/ports/net/freeradius.
*** Error code 1
Stop in /usr/ports/net/freeradius.
*** Error code 1
Stop in /usr/ports/net/abills.
Cистема не может найти папку freeradius-1.1.7 ….. Делаем следующее….
Ставим wget и идем в папку work :
bsd# cd /usr/ports/ftp/wget
bsd# make install clean
bsd# rehash
bsd# cd /usr/ports/net/freeradius/work/
bsd# ls
.extract_done.freeradius._usr_local
bsd#
Скачиваем нужный архив , до этого погуглив в нете и распаковываем :
bsd# wget http://freeradius.portal-to-web.de/freeradius-1.1.7.tar.gz
bsd# ls
.extract_done.freeradius._usr_local freeradius-1.1.7.tar.gz
bsd# tar -xf freeradius-1.1.7.tar.gz
bsd# ls
.extract_done.freeradius._usr_local freeradius-1.1.7 freeradius-1.1.7.tar.gz
bsd# cd /usr/ports/net/abills/
bsd# make install clean
Пошло)))))
После установки создаем пользователя для абиллса:
# mysql -u root -p
use mysql;
INSERT INTO user (Host, User, Password)
VALUES ('localhost','abills', password('sqlpassword'));
INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv,
Delete_priv, Create_priv, Drop_priv, Index_priv, Alter_priv,
Lock_tables_priv, Create_tmp_table_priv)
VALUES ('localhost','abills','abills','Y','Y','Y','Y','Y',
'Y','Y','Y','Y','Y');
CREATE DATABASE abills;
flush privileges;
Теперь поподробнее :в базе user – логин abills и пароль sqlpassword будут необходимы нам для настройки конфигурационного файла Abills’a config.pl
Далее загружаем таблицы в базу :
bsd# mysql -D abills < /usr/local/abills/abills.sql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
bsd# mysql -D abills < /usr/local/abills/abills.sql -p
Enter password:
ERROR 1064 (42000) at line 97: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) NOT NULL,
KEY `acct_session_id` (`acct_session_id`),
KEY `session_inter' at line 9
В строке 97 нужно изменить `added` timestamp (14) NOT NULL на `added` timestamp NOT NULL
Пробуем еще раз :
bsd# mysql -D abills < /usr/local/abills/abills.sql -p
Enter password:
ERROR 1050 (42S01) at line 1: Table 'admin_actions' already exists
Мускул говорит что такие таблицы в базе уже сцществуют …..поэтому заходим в pma и очищаем базу abills. Пробуем :
bsd# mysql -D abills < /usr/local/abills/abills.sql -p
Enter password:
bsd#
В базу добавлено 60 таблиц)))
Теперь правим /usr/local/abills/libexec/config.pl
bsd# cp /usr/local/abills/libexec/config.pl.default /usr/local/abills/libexec/config.pl
bsd# ee /usr/local/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{USERS_MAIL_DOMAIN}="your.domain";
# используется для шифрования паролей администраторов и пользователей.
$conf{secretkey}="test12345678901234567890";
Здесь нам нужно указать имя базы , пользователя и пароль – все это мы уже создали выше …..
При изменении значения в $conf{secretkey} поменяйте его также в файле abills.sql
Вносим в cron периодические процессы /etc/crontab
*/5 * * * * root /usr/local/abills/libexec/billd -all
1 0 * * * root /usr/local/abills/libexec/periodic daily
1 1 * * * root /usr/local/abills/libexec/periodic monthly
Пока что все ….. в следующий раз будем настраивать mpd5