mbdaemoncore

Модуль используется для обработки Freeradius запросов (Access-Request/Accounting-Request) при авторизации абонентов.

Файловая структура модуля

/var/bill
├── mbdaemoncore
│   ├── production
│   │   ├── config
│   │   │   └── config.xml
│   │   ├── kernel.php
│   │   └── updates
│   │       ├── kernel.current.checksum
│   │       ├── kernel.downloaded.checksum
│   │       └── mbdaemoncore_update.sh
│   └── testing
│       ├── config
│       │   └── config.xml
│       ├── kernel.php
│       └── updates
│           ├── kernel.current.checksum
│           ├── kernel.downloaded.checksum
│           └── mbdaemoncore_testing.sh
├── logs
│   ├── mbdaemoncore
│   │   ├── mbdaemoncore.debug
│   │   ├── mbdaemoncore.log
│   │   └── update.log

Описание директорий и файлов

файл/директория

описание

/var/bill

домашняя директория биллинга

/var/bill/mbdaemoncore

домашняя директория модуля

/var/bill/mbdaemoncore/production

production версия модуля

/var/bill/mbdaemoncore/testing

testing версия модуля

/var/bill/backup/mbsql

директория для бекапов

<version>/config/config.xml

файл конфига модуля

<version>/update

директория с файлами обновления

<version>/update/mbdaemoncore_update.sh

загрузчик и установщик обновлений

<version>/update/kernel.current.checksum

файл с md5 суммой текущей версии обновлений

<version>/update/kernel.downloaded.checksum

файл с md5 суммой загруженной версии обновлений

/var/bill/logs/mbdaemoncore

директория логов модуля

/var/bill/logs/mbdaemoncore/mbdaemoncore.log

основной лого модуля

/var/bill/logs/mbdaemoncore/debug.log

debug лог модуля

/var/bill/logs/mbdaemoncore/update.log

лог обновлений модуля

Файл конфигурации

Файл расположен по пути /var/bill/mbdaemoncore/<version>/config/config.xml

<config>
  <parameters>
    <mysql>
      <host>DATABASE_IP</host>
      <username>DATABASE_USER</username>
      <password>DATABASE_PASSWORD</password>
      <dbname>DATABASE_NAME</dbname>
    </mysql>
    <kernel>
      <ip>127.0.0.1</ip>
      <port>22007</port>
      <pid>/var/run/mbdaemoncore/mbdaemoncore_production.pid</pid>
      <log>/var/bill/logs/mbdaemoncore/general.log</log>
      <debug>false</debug>
      <debug_log>/var/bill/logs/mbdaemoncore/debug.log</debug_log>
      <request_timing>3.000001</request_timing>
    </kernel>
  <timezone>Europe/Kiev</timezone>
  </parameters>
</config>

параметр

описание

mysql секция

host

IP адрес базы данных

username

имя пользователя для подключения к базе данных

password

пароль пользователя

dbname

название базы данных биллинга

kernel секция

ip

на каком IP будет запущено ядро

port

на каком порту ядро будет слушать запросы от radius

pid

путь где будет создан PID файл ядра

log

лог файл для отображения работы ядра

debug

режим дебага ядра, значения true/false

debug_log

лог файл куда будет записана информация из дебага

request_timing

записывает информацию о медленных запросах (в режиме дебага)

timezone

Временная зона

Загрузщик обновлений

Варианты запуска файла /var/bill/mbdaemoncore/<version>/updates/mbdaemoncore_update.sh

Ключ

Описание

Обычный запуск без параметров, скачает последнюю доступную версию обновления

-f

Режим принудительного повторного обновления (игнорирует md5 проверку)

-t

Произвести загрузку testing версии обновления

Задания cron

  • Файл с заданиями модуля расположен по пути /etc/cron.d/mbdaemoncore и содержит задания

    • синхронизация времени на сервере

    • запуск обновления production версии модуля

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

# sync time
0 * * * *  root /usr/bin/chronyc -a 'burst 4/4' > /dev/null 2>&1

# update
05 6 * * * root /var/bill/mbdaemoncore/production/updates/mbdaemoncore_update.sh

При возникновении проблем, сообщите о них в нашем CRM или Telegram канале.