Child pages
  • Установка ABillS на FreeBSD

Skip to end of metadata
Go to start of metadata


Замечания по установкe операционной системы

  • При разбиении диска на разделы крайне рекомендуется отвести для раздела /var не менее 10 Гигабайт. Если планируется высокая нагрузка, это значение можно увеличить.

  • Рекомендованный дистрибутив FreeBSD 11.0-RELEASE (http://freebsd.org/)

  • Про установку FreeBSD можно почитать здесь FreeBSD Handbook

Скачать образы: Официальный FTP

Скачать FreeBSD 11.0 AMD64

Скачать FreeBSD 11.0 i386

Установка операционной системы


Пошаговая настройка

Обновляем систему и софт 

pkg update && pkg upgrade -y

Загрузить пакет можно по адресу.

ABillS

Также на сайте с дистрибутивамы может уже находиться более новая версия чем в инструкции.

fetch https://sourceforge.net/projects/abills/files/abills/0.76/abills-0.76.45.tgz

При проблемах с сертификатами, можно: 

а) Обновить сертификаты и попробовать снова (рекомендуется) 

pkg install -y ca_root_nss && fetch https://sourceforge.net/projects/abills/files/abills/0.76/abills-0.76.45.tgz

б) Запустить без их проверки

fetch --no-verify-peer https://sourceforge.net/projects/abills/files/abills/0.76/abills-0.76.45.tgz


Разархивирование:

tar zxvf abills-0.76.45.tgz
cp -Rf abills /usr/

Создаем конфигурационный файл системы :

cp /usr/abills/libexec/config.pl.default /usr/abills/libexec/config.pl

в нем выставляем все под свои нужды

#DB configuration 
$conf{dbhost}='localhost';
$conf{dbname}='abills'; 
$conf{dblogin}='abills';
$conf{dbpasswd}='sqlpassword'; 
$conf{ADMIN_MAIL}='info@your.domain'; 

При изменении значения в $conf{secretkey} поменяйте его также в файле abills.sql 


Вносим в cron периодические процессы /etc/crontab. Данные программы занимаются контролем состояния сессий (billd), месячной и дневной абонплатой, тарифных планов по расписанию (periodic) 

*/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/backup
chown -Rf www /usr/abills/cgi-bin /usr/abills/Abills/templates /usr/abills/backup
mkdir -p /usr/abills/var/log
touch /usr/abills/var/log/sql_errors
chmod 666 /usr/abills/var/log/sql_errors
chown nobody /usr/abills/var/log/sql_errors

MySQL

Устанавливаем пакет:

pkg install -y mysql56-server mysql56-client

Автостарт после перезагрузки. /etc/rc.conf

echo mysql_enable=\"YES\" >> /etc/rc.conf

Запускаем MySQL

/usr/local/etc/rc.d/mysql-server start

Очищаем пароль для комфортной установки (только для 5.7)

mysqladmin -u root --password=`tail -1 /root/.mysql_secret` -h localhost password ""

mysql –connect-expired-password -u root -p`tail -1 /root/.mysql_secret` -e 'ALTER USER `root`@`localhost` IDENTIFIED BY "" ' 

Создаём пользователя и базу. 

mysql --default-character-set=utf8 -u root

В консоли mysql делаем (Если меняли пароль в /usr/abills/libexec/config.pl, меняем и в запросе): 

GRANT ALL ON abills.* TO `abills`@localhost IDENTIFIED BY "sqlpassword";  
  CREATE DATABASE abills DEFAULT CHARACTER SET utf8 COLLATE  utf8_general_ci;
  quit;

Загружаем таблицы в базу.

mysql --default-character-set=utf8 -D abills < /usr/abills/db/abills.sql

Если возникает Invalid default value for 'registration' Выполняем

sed -i -e "1 s/^/SET SQL_MODE='NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO';/;" /usr/abills/db/abills.sql
mysql --default-character-set=utf8 -D abills < /usr/abills/db/abills.sql

Perl modules

Для работы системы нужны Perl модули.

cd /usr/abills/misc/
perl perldeps.pl pkg

Создаём симлинк для исполнительного файла perl

ln -s /usr/local/bin/perl /usr/bin/perl

Web Server (Apache)

Устанавливаем Apache

pkg install -y apache24

Копируем конфиг apache

cp /usr/abills/misc/apache/abills_httpd.conf /usr/local/etc/apache24/Includes/

Раскомментируем модули /usr/local/etc/apache24/httpd.conf

LoadModule rewrite_module libexec/apache24/mod_rewrite.so
LoadModule cgi_module libexec/apache24/mod_cgi.so
LoadModule ssl_module libexec/apache24/mod_ssl.so
LoadModule include_module libexec/apache24/mod_include.so

По умолчанию работаем на HTTPS, поэтому нужны сертификаты.

/usr/abills/misc/certs_create.sh apache 

Для автоматического запуска apache внести изменения в rc.conf

echo apache24_enable=\"YES\" >> /etc/rc.conf   

Создаем каталог для логов веб-сервера Abills

mkdir /var/log/httpd/Запускаем apache
/usr/local/etc/rc.d/apache24 start

Freeradius

cd /usr/ports/net/freeradius3 && make && make install clean

Ручная конфигурация

копируем конфигурацию

cd /usr/abills/
rm /usr/local/etc/raddb/sites-enabled/*
cp misc/freeradius/v3/mods-enabled/perl /usr/local/etc/raddb/mods-enabled/perl
cp misc/freeradius/v3/mods-enabled/sql /usr/local/etc/raddb/mods-enabled/sql
cp misc/freeradius/v3/sites-enabled/abills_default /usr/local/etc/raddb/sites-enabled/abills_default
cp misc/freeradius/v3/users /usr/local/etc/raddb/users

В файле /usr/local/etc/raddb/mods-enabled/sql пропишите данные доступа к базе

sql {
        database = "mysql"
        driver = "rlm_sql_${database}"
        server = "localhost"
        port = 3306
        login = "abills"
        password = "sqlpassword"
        radius_db = "abills"
        
В самом конце файла
        '%secretkey%' меняем на 'test12345678901234567890'

Автоконфигурация

cd /usr/abills/misc/
./autoconf PROGRAMS=freeradius FREERADIUS=3

нажимаем всюду yes

Запуск

Для автоматического запуска радиуса внести изменения в /etc/rc.conf

echo radiusd_enable=\"YES\" >> /etc/rc.conf

запускаем радиус :

/usr/local/etc/rc.d/radiusd start

Удаление

cd /usr/ports/net/freeradius3 && make deinstall clean
 rm -r /usr/local/etc/raddb

При переустановке очистите конфиг

make clean config

Сборка ядра

Ядро нужно собирать, если планируете шейпить трафик (использовать как сервер доступа) на текущем сервере 
Сборка ядра для управления трафиком :

Перезагружаем сервер и приступаем к установке необходимого софта.

Первые шаги по работе с системой

Первые шаги работы с ABillS

Настройка серверов доступа

Настройка шейпера и маскарада

В системе реализированно несколько вариантов выбирать предпочтительный

Установка ABillS автоинсталятором



  • No labels