mbcabinet

Модуль личного кабинета абонента

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

/var/bill
├── mbcabinet
│   ├── chroot
│   │   ├── production
│   │   │   ├── bin -> usr/bin
│   │   │   ├── dev
│   │   │   ├── etc
│   │   │   ├── home
│   │   │   ├── lib -> usr/lib
│   │   │   ├── lib64 -> usr/lib64
│   │   │   ├── root
│   │   │   ├── sbin -> usr/sbin
│   │   │   ├── tmp
│   │   │   ├── usr
│   │   │   │   ├── bin
│   │   │   │   ├── lib
│   │   │   │   ├── lib64
│   │   │   │   │   ├── gconv
│   │   │   │   ├── sbin
│   │   │   │   └── share
│   │   │   │       ├── freeradius
│   │   │   │       └── zoneinfo
│   │   │   └── var
│   │   │       ├── bill
│   │   │       │   ├── config -> /var/bill/mbcabinet/production/config
│   │   │       │   └── logs -> /var/bill/logs/mbcabinet
│   │   │       ├── lib
│   │   │       │   └── php
│   │   │       │       └── session
│   │   │       ├── log
│   │   │       │   └── php-fpm
│   │   │       └── www
│   │   │           └── mbcabinet
│   │   │               ├── data
│   │   │               |   └── ...
│   │   │               └── index.php
│   │   └── testing
│   │       ├── bin -> usr/bin
│   │       ├── dev
│   │       ├── etc
│   │       ├── home
│   │       ├── lib -> usr/lib
│   │       ├── lib64 -> usr/lib64
│   │       ├── root
│   │       ├── sbin -> usr/sbin
│   │       ├── tmp
│   │       ├── usr
│   │       │   ├── bin
│   │       │   ├── lib
│   │       │   ├── lib64
│   │       │   │   ├── gconv
│   │       │   ├── sbin
│   │       │   └── share
│   │       │       ├── freeradius
│   │       │       └── zoneinfo
│   │       └── var
│   │           ├── bill
│   │           │   ├── config -> /var/bill/mbcabinet/testing/config
│   │           │   └── logs -> /var/bill/logs/mbcabinet
│   │           ├── lib
│   │           │   └── php
│   │           │       └── session
│   │           ├── log
│   │           │   └── php-fpm
│   │           └── www
│   │               └── mbcabinet
│   │                   ├── data
│   │                   |   └── ...
│   │                   └── index.php
│   ├── production
│   │   ├── add_to_chroot.sh
│   │   ├── config
│   │   │   └── config.xml
│   │   ├── public
│   │   │   ├── data
│   │   │   │   ├── locale
│   │   │   │   └── template
│   │   │   │       └── olson
│   │   │   │           ├── css
│   │   │   │           ├── customtpls
│   │   │   │           ├── font
│   │   │   │           ├── img
│   │   │   │           ├── js
│   │   │   │           └── webfonts
│   │   │   └── index.php
│   │   └── updates
│   │       ├── mbcabinet.current.checksum
│   │       ├── mbcabinet.downloaded.checksum
│   │       └── mbcabinet_updater.sh
│   └── testing
│       ├── add_to_chroot.sh
│       ├── config
│       │   └── config.xml
│       ├── public
│       │   ├── data
│       │   │   ├── locale
│       │   │   └── template
│       │   │       └── olson
│       │   │           ├── css
│       │   │           ├── customtpls
│       │   │           ├── font
│       │   │           ├── img
│       │   │           ├── js
│       │   │           └── webfonts
│       │   └── index.php
│       └── updates
│           ├── mbcabinet.current.checksum
│           ├── mbcabinet.downloaded.checksum
│           └── mbcabinet_testing.sh
├── logs
│   ├── mbcabinet
│   │   ├── mbcabinet.debug
│   │   ├── mbcabinet.log
│   │   └── update.log

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

chroot среда модуля

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

описание

/var/bill/mbcabinet/chroot/<version>

корневая директория chroot среды

chroot/<version>/var/bill/config

примонтированная директория системы /var/bill/mbcabinet/<version>/config

chroot/<version>/var/bill/logs

примонтированная директория системы /var/bill/logs/mbcabinet

chroot/<version>/var/www/mbcabinet

примонтированная директория системы /var/bill/mbcabinet/<version>/public

/var/bill/mbcabinet/<version>/add_to_chroot.sh

скрипт для добавления программ в изолированную chroot среду

модуль mbcabinet

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

описание

/var/bill

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

/var/bill/mbcabinet

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

/var/bill/mbcabinet/production

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

/var/bill/mbcabinet/testing

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

/var/bill/backup/mbcabinet

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

<version>/config/config.xml

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

<version>/public

WWW директория модуля (подключается в chroot среду)

<version>/public/index.php

файл с кодом модуля

<version>/updates

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

<version>/updates/mbcabinet_update.sh

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

<version>/updates/mbcabinet.current.checksum

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

<version>/updates/mbcabinet.downloaded.checksum

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

/var/bill/logs/mbcabinet

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

/var/bill/logs/mbcabinet/mbcabinet.log

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

/var/bill/logs/mbcabinet/mbcabinet.debug

debug лог модуля

/var/bill/logs/mbcabinet/update.log

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

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

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

<config>
  <parameters>
    <mysql>
      <host>DATABASE_IP</host>
      <username>DATABASE_USER</username>
      <password>DATABASE_PASSWORD</password>
      <dbname>DATABASE_NAME</dbname>
    </mysql>
    <timezone>Europe/Kiev</timezone>
    <partialUTF8>false</partialUTF8>
    <debug>false</debug>
    <error_log>/var/bill/logs/mbcabinet.log</error_log>
    <debug_log>/var/bill/logs/mbcabinet.debug</debug_log>
  </parameters>
</config>

параметр

описание

mysql секция

host

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

username

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

password

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

dbname

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

timezone

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

partialUTF8

Частичное использование UTF8

debug

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

debug_log

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

error_log

освнойно файл лога

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

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

Ключ

Описание

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

-f

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

-t

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

Задания cron

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

    • запуск обновления 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

# update
05 6 * * * root /var/bill/mbcabinet/production/updates/mbcabinet_update.sh

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