Встановлення та налаштування білінгової системи ABillS - IT Blog

На тесті встановлюватиму в чисту систему Ubuntu Server 16.04 LTS (при установці системи вибрав standart system utilities і OpenSSH server).

Перейдемо на користувача root:

Перед початком встановлення оновимо систему та виконаємо перезапуск:

Встановимо необхідні компоненти:

Перейдемо в директорію /usr і завантажимо до неї останню версію з сайту http://sourceforge.net/projects/abills/

Розпакуємо завантажений архів з ABillS:

Створимо необхідні директорії та встановимо права:

Скопіюємо веб-конфігурацію abills до директорії Apache2:

Створимо сертифікат (в Common name вкажемо ім'я хоста):

Активуємо необхідні модулі Apache2:

І перезапустимо Apache2 щоб застосувати зміни:

Підключимося до mysql серверу:

Створимо користувача та базу даних (де sqlpassword - вкажемо свій пароль):

Імпортуємо дані mysql бази даних:

У разі помилки виконаємо команду нижню та повторимо імпорт бази даних:

Встановимо необхідні perl модулі:

Якщо якісь модулі не встановилися, доустановимо:

Надалі можна перевірити, чи всі необхідні perl модулі встановлені:

Також запустимо скрипт, який допоможе знайти помилки:

Встановимо необхідні бібліотеки для складання freeradius:

Подивимося нову версію freeradius тут ftp://ftp.freeradius.org/pub/freeradius/ та встановимо:

Створимо скрипт автозапуску:

Вставимо в нього вміст:

Робимо його виконуваним та включаємо в автозапуск:

Створюємо конфігураційні файли ABillS:

Відкриємо файл конфігурації FreeRADIUS:

І змінимо наступне:

Можна також замість * вказати IP на якому працюватиме FreeRADIUS, інакшебуде на всіх:

Очистимо clients.conf оскільки зберігатимемо сервера доступу в mysql базі даних:

Відкриємо файл параметрів з'єднання з mysql базою:

І вкажемо вірні, наприклад:

Наприкінці файлу:

У наступному конфігураційному файлі також вкажемо параметри з'єднання з mysql базою:

Створимо користувача та групу для FreeRADIUS, а також призначимо права на директорії:

Спробуємо запустити FreeRADIUS у режимі налагодження, якщо все добре, зупинимо клавішами Ctrl+C:

І запустимо FreeRADIUS у звичайному режимі:

На сервері з процесором 8 ядер та 5000 клієнтів у radiusd.conf я вказував потоки:

Переглянути запущений FreeRADIUS можна так:

Переглянути встановлену версію FreeRADIUS можна так:

Налаштуємо ротацію логів FreeRADIUS:

Внесемо до cron завдання:

Дивіться також довідку:

Створимо файл для логів та призначимо права:

Створимо символічні посилання на gzip та mysqldump для створення бекапів бази:

Session-Timeout можна збільшити оскільки за умовчанням воно дорівнює 604800 (тиждень) і через цей час сесія примусово завершується і піднімається при наступному DHCP запиті або некласифікованому пакеті. accel-ppp наприклад або краще не вказувати взагалі):

Додамо клієнта "Клієнти" - "Логін" - "Додати".

Заведемо сервіс Internet користувачу: "Клієнти" - (вибрати користувача) - "Інформація" - "Сервіси" - "Internet"

Якщо використовується фільтр негативного депозиту, то в Клієнти Групи відзначимо яким групам дозволено брати кредит.

Виконаємо перевірку запустивши утиліту radtest вказавши логін та пароль існуючого користувача:

У файлі/usr/abills/libexec/config.pl вкажемо з яких IP дозволено підключаться адміністраторам (краще вказати у вкладці Настройка — Адміністратори — Доступ):

Можна вказати час сесії у web-інтерфейсі адміністратора:

Щоб користувачам з негативним балансом у гостьовому режимі видавався той же IP що й у робочому (у разі невідомі не отримають IP):

Щоб при додаванні послуги за умовчанням вибирався якийсь IP Pool (де 1 це id пула, його можна подивитися в Налаштування — Сервер доступу — IP POOLs):

Щоб абонентам, які не користувалися послугою, кілька місяців не додавало по кілька списань (у кого місячний тариф), можна додати до конфігурації опцію (при платежі або встановленні кредиту в полі Активація буде встановлено поточну дату):

Перевірити цілісність бази даних можна так:

Перевірка на не створені таблиці:

Можна імпортувати відсутні таблиці:

Можна перевірити чи правильно працює скрипт (зустрічав помилку "Table 'abills.dv_main' doesn't exist", виправив її потім затока Dv.sql в базу):

В інтерфейсі ABillS виберемо "Налаштування" - "Адміністратори", навпроти потрібного адміністратора заначок "Права" і встановимо галочки на необхідні права.

У "Налаштування" - "Інше" - "Шляхи" вкажемо шляхи до програм.

Можна додати кнопку PING на сторінці абонента:

Якщо проблема з платіжними системами, то дивимося: