Конфигурация

Для каждого сервера ниже указаны: расположение ключевых файлов, основные сервисы, их назначение и примеры конфигураций. Пути и имена сервисов могут варьироваться в зависимости от дистрибутива Linux и выбранной версии ПО.

Сервер СУБД

На сервере СУБД разворачиваются следующие сервисы:

  • СУБД PostgreSQL (ядро АСР Platex®: тарификатор, справочники, абонентская база и т.д.);
  • pgbouncer (пул соединений для оптимизации подключений к СУБД);
  • etcd (распределённое key‑value хранилище для хранения состояния кластера PostgreSQL);
  • patroni (демон, управляющий кластером PostgreSQL).

Размещения и настройки по умолчанию:

1. СУБД PostgreSQL

Параметр Значение
Назначение Ядро АСР Platex: тарификатор, справочники, абонентская база и т. д.
Основной системный пользователь postgres
Порт по умолчанию TCP 5432
Директория PG_DATA /var/lib/postgresql/16/main
Табличные пространства Platex /var/lib/postgresql/16/platex
Файлы конфигурации /etc/postgresql/16/main/pg_hba.conf, /etc/postgresql/16/main/postgresql.conf

Важные замечания:

  1. Поскольку PostgreSQL управляется Patroni, не рекомендуется изменять файлы конфигурации вручную.

  2. Все изменения конфигурации должны выполняться через Patroni для сохранения согласованности кластера.

Проверка статуса сервиса:

$ sudo systemctl status postgresql 
● postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: enabled)
     Active: active ...

Перезапуск сервиса выполняется через Patroni (не напрямую через systemctl).

2. pgbouncer (пул соединений)

Параметр Значение
Назначение Пул соединений. ЛК оператора и ЛК абонента взаимодействуют через пул для предотвращения превышения лимитов подключений к СУБД.
Основной системный пользователь postgres
Порт по умолчанию TCP 6432
Файл конфигурации /etc/pgbouncer/pgbouncer.ini
Файл списка пользователей (для подключения через пул) /etc/pgbouncer/userlist.txt

Команды управления:

  • Проверка статуса:
$ sudo systemctl status pgbouncer 
● pgbouncer.service - connection pooler for PostgreSQL
     Loaded: loaded (/usr/lib/systemd/system/pgbouncer.service; enabled; preset: enabled)
     Active: active (running) ...
  • Перезапуск сервиса:
$ sudo systemctl restart pgbouncer
  • Остановка сервиса:
$ sudo systemctl stop pgbouncer

3. etcd (распределённое key‑value хранилище)

Параметр Значение
Назначение Распределённое key‑value хранилище для хранения состояния кластера PostgreSQL.
Основной системный пользователь etcd
Порт по умолчанию TCP 2379, 2380
Файл конфигурации /etc/etcd/etcd.conf
Расположение данных /var/lib/etcd

Команды управления:

  • Проверка статуса:
$ sudo systemctl status etcd
● etcd.service - etcd key-value store
     Loaded: loaded (/etc/systemd/system/etcd.service; enabled; preset: enabled)
     Active: active (running) ...
  • Перезапуск сервиса:
$ sudo systemctl restart etcd
  • Остановка сервиса:
$ sudo systemctl stop etcd

4. patroni (управление кластером PostgreSQL)

Параметр Значение
Назначение Демон, управляющий кластером PostgreSQL (автоматическое переключение мастер‑реплик, мониторинг состояния).
Основной системный пользователь postgres
Порт по умолчанию TCP 8008
Файл конфигурации /etc/patroni/config.yml

Команды управления:

  • Проверка статуса:
$ sudo systemctl status patroni
● patroni.service - Runners to orchestrate a high-availability PostgreSQL
     Loaded: loaded (/usr/lib/systemd/system/patroni.service; enabled; preset: enabled)
     Active: active (running) ...
  • Перезапуск сервиса:
$ sudo systemctl restart patroni
  • Остановка сервиса:
$ sudo systemctl stop patroni
  • Проверка состояния кластера PostgreSQL:
$ sudo patronictl -c /etc/patroni/config.yml list postgres_cluster
+ Cluster: postgres_cluster (7432695316554254795) -----------+
| Member | Host       | Role    | State     | TL | Lag in MB |
+--------+------------+---------+-----------+----+-----------+
| db1  | 10.10.10.11 | Leader  | running   | 18 |           |
| db2  | 10.10.10.12 | Replica | streaming | 18 |         0 |
| db3  | 10.10.10.13 | Replica | streaming | 18 |         0 |
+--------+------------+---------+-----------+----+-----------+

Сервер приложений + балансировщик

На сервере приложений развёрнуты следующие сервисы:

  • HAProxy (балансировщик для перенаправления запросов к PostgreSQL);
  • pgAgent (планировщик периодических заданий в PostgreSQL);
  • Генератор печатных форм (генерация платёжных документов и договоров);
  • Сервис рассылки Email (отправка электронных писем).

Размещения и настройки по умолчанию:

1. HAProxy

Параметр Значение
Назначение Балансировщик для перенаправления запросов к PostgreSQL.
Основной системный пользователь haproxy
Порты 5432, 6432
Файл конфигурации /etc/haproxy/haproxy.cfg

Команды управления:

  • Проверка статуса:
$ sudo systemctl status haproxy
● haproxy.service - HAProxy Load Balancer
     Loaded: loaded (/usr/lib/systemd/system/haproxy.service; enabled; preset: enabled)
     Active: active (running) ...
  • Перезапуск сервиса:
$ sudo systemctl restart haproxy
  • Остановка сервиса:
$ sudo systemctl stop haproxy

2. pgAgent (планировщик заданий)

Параметр Значение
Назначение Планировщик периодических заданий в PostgreSQL (задания тарификации, выгрузки в 1С и т. д.).
Основной системный пользователь pgagent
Порт по умолчанию
Файл конфигурации /etc/pgagent.conf
Файл настройки подключения к БД /home/pgagent/.pgpass

Команды управления:

  • Проверка статуса:
$ sudo systemctl status pgagent
● pgagent.service - PgAgent for PostgreSQL
     Loaded: loaded (/etc/systemd/system/pgagent.service; enabled; preset: enabled)
     Active: active (running) ...
  • Перезапуск сервиса:
$ sudo systemctl restart pgagent
  • Остановка сервиса:
$ sudo systemctl stop pgagent

3. Генератор печатных форм

Параметр Значение
Назначение Генерация печатных форм платёжных документов и договоров.
Основной системный пользователь pgagent
Размещение /usr/local/PLATEX/pgascripts
Требования Xvfb.service, шрифты /usr/share/fonts/msttcore

Компоненты:

  • bill_file_generator - исполняемый файл генератора платёжных документов.
  • bill_file_generator.sh - wrapper для запуска задания через pgAgent.
  • bill_file_generator.cfg - файл конфигурации генератора платёжных документов.
  • report_file_generator - исполняемый файл генератора договоров.
  • report_file_generator.sh - wrapper для запуска задания через pgAgent.
  • report_file_generator.cfg - файл конфигурации генератора договоров.

Основные параметры файлов конфигурации:

Параметр Значение
debug Режим отладки (0/1)
host Хост СУБД (IP/FQDN)
port Порт СУБД (5432)
db Имя базы данных (platex)
login Логин подключения к СУБД. Должен быть bill_file_generator для bill_file_generator, report_file_generator для report_file_generator.
password Пароль для подключения к СУБД

Запуск вручную (производится от пользователя pgagent):

$ /usr/local/PLATEX/pgascripts/bill_file_generator.sh

Или:

$ /usr/local/PLATEX/pgascripts/report_file_generator.sh

4. Сервис рассылки Email

Параметр Значение
Назначение Отправка электронных писем.
Основной системный пользователь pgagent
Размещение /usr/local/PLATEX/pgascripts
Требования Доступ к SMTP-серверу

Компоненты:

  • mail_sender - исполняемый файл сервиса рассылки Email.
  • mail_sender.sh - wrapper для запуска задания через pgAgent.
  • mail_sender.cfg - файл конфигурации сервиса рассылки Email.

Основные параметры файла конфигурации:

Параметр Значение
dbhost Хост СУБД (IP/FQDN)
dbport Порт СУБД (5432)
dbname Имя базы данных (platex)
dbuser Логин подключения к СУБД (mail_sender).
password Пароль для подключения к СУБД
smtphost Адрес SMTP-сервера
smtpport Порт для подключения к SMTP-серверу
smtplogin Логин для подключения к SMTP-серверу
smtppassword Пароль для подключения к SMTP-серверу

Важные замечания (в случае использования облачных SMTP-серверов):

  1. На SMTP-сервере должен быть создан ящик, который указан в smtplogin.

  2. В настройках ящика должно быть разрешено подключение по SMTP и создан "пароль приложения".

  3. Ящик, от имени которого ведется рассылка в биллинге, должен также присутсвовать на SMTP-сервере.

Запуск вручную (производится от пользователя pgagent):

$ /usr/local/PLATEX/pgascripts/mail_sender.sh

RADIUS-сервер

На RADIUS-сервере разворачиваются следующие сервисы:

  • СУБД PostgreSQL (база для автономной работы RADIUS‑сервера);
  • pgbouncer (пул соединений для оптимизации подключений к СУБД);
  • Сервер RADIUS на базе FreeRADIUS (основной сервис аутентификации и авторизации).

Размещения и настройки по умолчанию:

1. СУБД PostgreSQL

Параметр Значение
Назначение База для автономной работы RADIUS‑сервера.
Основной системный пользователь postgres
Порт по умолчанию TCP 5432
Директория PG_DATA /var/lib/postgresql/16/main
Файлы конфигурации /etc/postgresql/16/main/pg_hba.conf, /etc/postgresql/16/main/postgresql.conf

Команды управления:

  • Проверка статуса:
$ sudo systemctl status postgresql 
● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) ...
  • Перезапуск сервиса:
$ sudo systemctl restart postgresql
  • Остановка сервиса:
$ sudo systemctl stop postgresql

2. pgbouncer (пул соединений)

Параметр Значение
Назначение Пул соединений.
Основной системный пользователь postgres
Порт по умолчанию TCP 6432
Файл конфигурации /etc/pgbouncer/pgbouncer.ini
Файл списка пользователей (для подключения через пул) /etc/pgbouncer/userlist.txt

Команды управления:

  • Проверка статуса:
$ sudo systemctl status pgbouncer 
● pgbouncer.service - connection pooler for PostgreSQL
     Loaded: loaded (/usr/lib/systemd/system/pgbouncer.service; enabled; preset: enabled)
     Active: active (running) ...
  • Перезапуск сервиса:
$ sudo systemctl restart pgbouncer
  • Остановка сервиса:
$ sudo systemctl stop pgbouncer

3. Сервер RADIUS (на базе FreeRADIUS)

Параметр Значение
Назначение RADIUS-сервер.
Основной системный пользователь freerad
Порт по умолчанию UDP 1812 (авторизация), UDP 1813 (аккаунтинг)
Файл конфигурации /etc/freeradius/3.0/radiusd.conf
Файл списка клиентов (подключающихся устройств) /etc/freeradius/3.0/clients.conf
Файл словаря атрибутов /etc/freeradius/3.0/dictionary
Модуль Platex /etc/freeradius/3.0/mods-config/perl/platex.pl
Настройки модуля Platex /etc/freeradius/3.0/mods-available/perl
Настройки виртуального сервера /etc/freeradius/3.0/sites-available/default
Лог-файл /var/log/freeradius/radius.log

Команды управления:

  • Проверка статуса:
$ sudo systemctl status freeradius 
● freeradius.service - FreeRADIUS multi-protocol policy server
   Loaded: loaded (/lib/systemd/system/freeradius.service; enabled; vendor preset: enabled)
   Active: active (running) ...
  • Перезапуск сервиса:
$ sudo systemctl restart freeradius
  • Остановка сервиса:
$ sudo systemctl stop freeradius

Порядок настройки и важные замечания:

Перезапуск сервисов:

  • При любом изменении конфигурации FreeRADIUS обязательно перезапускайте сервис: sudo systemctl restart freeradius
  • После перезапуска PostgreSQL (например, после изменения конфигурации) также перезапускайте freeradius.

Требования для модуля Platex:

  • Установите библиотеки: libdbd-pg-perl и libpq-dev
  • В директории /etc/freeradius/3.0/mods-enabled должна быть символическая ссылка на /etc/freeradius/3.0/mods-available/perl:
$ sudo ln -s /etc/freeradius/3.0/mods-available/perl /etc/freeradius/3.0/mods-enabled/
  • В директории /etc/freeradius/3.0/sites-enabled должна быть символическая ссылка на /etc/freeradius/3.0/sites-available/default:
$ sudo ln -s /etc/freeradius/3.0/sites-available/default /etc/freeradius/3.0/sites-enabled/

Настройка пула соединений:

  • Модуль Platex подключается к локальной СУБД PostgreSQL через пул коннектов (pgbouncer)
  • По умолчанию может быть открыто от 10 до 20 соединений
  • При увеличении размера пула настройте параметр max_connections в файле /etc/postgresql/16/main/postgresql.conf.

Проверка работоспособности модуля Platex:

  • Убедитесь, что скрипт /etc/freeradius/3.0/mods-config/perl/platex.pl имеет права на выполнение (chmod +x)
  • Проверьте логи (/var/log/freeradius/radius.log) на наличие ошибок при запуске и обработке запросов.

Тестирование конфигурации:

  • Перед перезапуском сервиса проверьте конфигурацию FreeRADIUS на синтаксические ошибки:
$ sudo freeradius -XC
  • Протестируйте подключение клиента с помощью утилиты radtest:
$ radtest username password localhost 1812 testing123

Сервер-коллектор

Сервер‑коллектор предназначен для сбора и предварительной обработки тарификационных данных (ПТД), в том числе по протоколам SNMP и Netflow с последующей загрузкой в АСР.

На коллекторе могуть разворачиваются следующие сервисы:

  • Коллектор SNMP (сбор и обработка данных по протоколу SNMP);
  • Коллектор Netflow (сбор и обработка данных по протоколу Netflow);
  • Сервис загрузки CDR (телефония) в БД (загрузка файлов CDR в АСР).

Общие директории по умолчанию и компоненты:

Директория Назначение
/usr/local/PLATEX/converters/bin Исполняемые файлы загрузчиков
/usr/local/PLATEX/converters/etc Конфигурационные файлы загрузчиков
/usr/local/PLATEX/converters/data/<ИМЯ ИСТОЧНИКА> Файлы в очереди на загрузку в БД
/usr/local/PLATEX/converters/cdr/<ИМЯ ИСТОЧНИКА> Файлы, загруженные в БД
/usr/local/PLATEX/converters/spool/<ИМЯ ИСТОЧНИКА> Сырые файлы, которые ещё не преобразованы для загрузки в БД
/usr/local/PLATEX/converters/lib Библиотеки и зависимости
/usr/local/PLATEX/converters/share Общие файлы
/usr/local/PLATEX/converters/var Файлы процессов
/usr/local/PLATEX/converters/tmp Временные файлы
/var/log/platex Логи

Вспомогательные скрипты:

  • /usr/local/PLATEX/converters/bin/Renamer.sh — вспомогательный скрипт для загрузки ПТД в БД;
  • /usr/local/PLATEX/converters/bin/plx_converters.sh — дополнительные функции для Renamer.sh

1. Коллектор SNMP

Параметр Значение
Назначение Сбор ПТД по протоколу SNMP.
Основной системный пользователь postgres, influxdb, telegraf
Порт по умолчанию TCP 8086 (InfluxDB)
Конфигурационный файл InfluxDB /etc/influxdb/config.toml
Конфигурационный файл Telegraf /etc/telegraf/telegraf.conf

Компоненты:

  • InfluxDB — TSDB для хранения метрик, собранных по SNMP;
  • Telegraf — агент для опроса конечных устройств SNMP;
  • /usr/local/PLATEX/converters/bin/InfluxSNMPExporter — файловый экспортер данных из InfluxDB для загрузки в БД;
  • /usr/local/PLATEX/converters/etc/InfluxSNMPExporter.json — конфигурационный файл экспортера;
  • /usr/local/PLATEX/converters/bin/InfluxSNMPParser — парсер‑загрузчик сформированных файлов в БД;
  • /usr/local/PLATEX/converters/etc/InfluxSNMPParser.json — конфигурационный файл парсера‑загрузчика;
  • /usr/local/PLATEX/converters/etc/Renamer_snmp.cfg — конфигурационный файл Renamer.sh для загрузки ПТД, собранных по SNMP.

Параметры конфигурации:

Параметры файла InfluxSNMPExporter.json:

Параметр Значение
credentials.token Токен для подключения к InfluxDB
credentials.org Имя организации (в терминологии InfluxDB)
credentials.url Хост для подключения к InfluxDB
credentials.bucket Бакет с данными
credentials.filepath Директория для формирования файлов
logging.file Лог‑файл (/var/log/platex/InfluxSNMPExporter.log)
filtering.ips Список IP‑адресов хостов (если нужно сформировать файл только по конкретному хосту)

Параметры файла InfluxSNMPParser.json:

Параметр Значение
database.host Хост СУБД (IP/FQDN)
database.port Порт СУБД (5432)
database.database Имя базы данных (platex)
database.user Логин подключения к СУБД (cdr_loader)
database.password Пароль для подключения к СУБД
fileExport.delimiter Разделитель (по умолчанию ";")
fileExport.header true (если первая строка файла не является данными), false (если является)
fileExport._comment Комментарий (пояснение к предыдущему параметру)
logging.file Лог‑файл (/var/log/platex/InfluxSNMPParser.log)

Алгоритм работы:

  1. Данные для расчёта ПП (полоса пропускания) собираются по протоколу SNMP агентом Telegraf с конечных устройств и сохраняются в InfluxDB (список устройств указан в конфиге Telegraf).
  2. В InfluxDB данные хранятся сутки. Раз в 5 минут через демон crond запускается InfluxSNMPExporter, который формирует файл для загрузки данных в БД со статистикой за 5 минут. Данные попадают в папку /usr/local/PLATEX/converters/data/snmp.
  3. Раз в пять минут через crond также запускается загрузчик полученных файлов в базу — скрипт Renamer.sh, который проверяет директорию /usr/local/PLATEX/converters/data/snmp и при наличии файлов рекурсивно запускает парсер InfluxSNMPParser.
  4. Загруженный файл перемещается в папку /usr/local/PLATEX/converters/cdr/snmp.

Настройка crontab (пример):

*/5 * * * * /usr/local/PLATEX/converters/bin/InfluxSNMPExporter -c /usr/local/PLATEX/converters/etc/InfluxSNMPExporter.json; /usr/local/PLATEX/converters/bin/Renamer.sh /usr/local/PLATEX/converters/etc/Renamer_snmp.cfg

Полезные команды:

  • Запуск вручную (от пользователя postgres):
# Формирование файла (экспорт из InfluxDB)
$ /usr/local/PLATEX/converters/bin/InfluxSNMPExporter -c /usr/local/PLATEX/converters/etc/InfluxSNMPExporter.json

# Загрузка файлов в БД
$ /usr/local/PLATEX/converters/bin/Renamer.sh /usr/local/PLATEX/converters/etc/Renamer_snmp.cfg

  • Проверка статуса сервисов:
$ sudo systemctl status influxdb
● influxdb.service - InfluxDB is an open-source, distributed, time series database
   Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled)
   Active: active ...

$ sudo systemctl status telegraf
● telegraf.service - Telegraf
   Loaded: loaded (/lib/systemd/system/telegraf.service; enabled; vendor preset: enabled)
   Active: active  ...

2. Коллектор Netflow

Параметр Значение
Назначение Сбор ПТД по протоколу Netflow (поддерживаются IPv4 и IPv6).
Основной системный пользователь postgres
Порт по умолчанию UDP 9996 (диапазон обычно 9991–9999, зависит от количества источников трафика)

Компоненты:

  • /usr/local/PLATEX/converters/bin/nfcapd — сборщик Netflow;
  • usr/local/PLATEX/converters/bin/nfdump — утилита для преобразования сырых данных Netflow;
  • /usr/local/PLATEX/converters/bin/nfdump2csv.sh — скрипты для запуска преобразования сырых данных;
  • /usr/local/PLATEX/converters/bin/NetflowParser — парсер‑загрузчик преобразованных файлов Netflow в БД;
  • /usr/local/PLATEX/converters/etc/NetflowParser.conf — конфигурационный файл парсера;
  • /usr/local/PLATEX/converters/etc/Renamer_netflow_.cfg — конфигурационный файл Renamer.sh для загрузки Netflow с источника с определенным IP-адресом;
  • /usr/local/PLATEX/converters/etc/Renamer_nfdump_.cfg — конфигурационный файл Renamer.sh для преобразования сырых данных Netflow с источника с определенным IP-адресом.

Параметры конфигурации:

Параметры файла NetflowParser.conf:

Параметр Значение
dbname Имя базы данных (platex)
dbport Порт СУБД (5432)
dbhost Хост СУБД (IP/FQDN)
dbuser Логин подключения к СУБД (cdr_loader)
dbpassword Пароль для подключения к СУБД

Алгоритм работы:

  1. Трафик Netflow собирается с помощью утилит пакета nfdump. Со стороны источников сбора (маршрутизаторов) трафик должен быть направлен на IP коллектора на один из открытых портов UDP. Один процесс‑коллектор (nfcapd) прослушивает один порт (процессы запускаются через systemctl, под каждый источник настраивается отдельный процесс на отдельном порту.
  2. Сырые данные собираются в директорию /usr/local/PLATEX/converters/spool/<ИМЯ ИСТОЧНИКА>. Раз в час с помощью демона crond запускается преобразователь сырых данных в файлы, пригодные для загрузки в БД. Это делается путём запуска скрипта Renamer.sh, который, в свою очередь, запускает скрипт nfdump2csv.sh. Преобразованные данные помещаются в каталог /usr/local/PLATEX/converters/data/netflow.
  3. После преобразования файла Renamer.sh запускается ещё раз, но уже с вызовом NetflowParser. На данном этапе файл попадает в БД.
  4. Загруженный файл сжимается с помощью gzip и перемещается в папку /usr/local/PLATEX/converters/cdr/netflow/<ИМЯ ИСТОЧНИКА>.

Настройка crontab (пример):

5 * * * * /usr/local/PLATEX/converters/bin/Renamer.sh /usr/local/PLATEX/converters/etc/Renamer_nfdump_<IP-адрес источника>.cfg; /usr/local/PLATEX/converters/bin/Renamer.sh /usr/local/PLATEX/converters/etc/Renamer_netflow_<IP-адрес источника>.cfg

Полезные команды:

  • Запуск вручную (от пользователя postgres):
# Преобразование сырых файлов 
$ /usr/local/PLATEX/converters/bin/Renamer.sh /usr/local/PLATEX/converters/etc/Renamer_nfdump_<IP-адрес источника>.cfg; 

# Загрузка файлов в БД
$ /usr/local/PLATEX/converters/bin/Renamer.sh /usr/local/PLATEX/converters/etc/Renamer_netflow_<IP-адрес источника>.cfg

  • Проверка статуса сборщика (в зависимости от порта):
$ sudo systemctl status platex_nfcapd_9996
● platex_nfcapd_9996.service - NFCapd 9996
   Loaded: loaded (/etc/systemd/system/platex_nfcapd_9996.service; enabled; vendor preset: enabled)
   Active: active (running) ...

3. Сервис загрузки CDR в БД

Параметр Значение
Назначение Загрузка файлов CDR в БД.
Основной системный пользователь postgres
Размещение /usr/local/PLATEX/converters/bin

Компоненты:

  • /usr/local/PLATEX/converters/bin/cdr_loader — исполняемый файл сервиса;
  • /usr/local/PLATEX/converters/etc/cdr_loader_eltex.json — файл конфигурации для загрузки тестового формата CDR (на примере АТС Eltex).

Параметры конфигурации:

Параметры файла cdr_loader_eltex.json:

Параметр Значение
Секция database Настройки подключения к БД
Секция destParams Настройка представления для загрузки данных в БД
Секция fileParams Параметры файла
Секция fileColumns Параметры колонок файла
Секция logging Настройка логирования
debug Настройка режима отладки

Полезные команды:

  • Запуск вручную (от пользователя postgres через Renamer.sh):
$ /usr/local/PLATEX/converters/bin/Renamer.sh /usr/local/PLATEX/converters/etc/Renamer_eltex.cfg

Веб‑сервер

Веб‑сервер предназначен для размещения:

  • ЛК Оператора (интерфейс для оператора биллинга);
  • ЛК Абонента (внешний интерфейс для абонентов);
  • REST API.

Рекомендация: размещать ЛК Оператора и ЛК Абонента на разных виртуальных машинах (ВМ) для повышения безопасности и удобства администрирования. Каждый ЛК работает со своим экземпляром REST API.

Требования к SSL‑сертификатам:

  • для ЛК Оператора — 2 внутренних домена (под UI и REST API);
  • для ЛК Абонента — 2 внешних домена (под UI и REST API).

Настройки на серверах идентичны для обоих ЛК.

Технические требования:

  • PHP версии не ниже 7.2;
  • модули Apache: mod_rewrite, mod_ssl;
  • пакет wkhtmltopdf (для экспорта PDF‑отчётов);
  • SSL‑сертификаты для доменов.

Общие директории по умолчанию:

Директория Назначение
/etc/apache2 Настройки веб‑сервера Apache
/etc/ssl SSL‑сертификаты
/var/www Директории веб‑сервера
/var/log/apache2 Логи веб‑сервера

Общие конфигурационные файлы по умолчанию:

Файл Назначение
/etc/pgdbs Настройки подключения REST API к СУБД
/etc/platex.conf Прочие настройки REST API (включая токен для подключения к dadata.ru)

1. REST API

Параметр Значение
Назначение REST API АСР Platex.
Основной системный пользователь www-data
Размещение /var/www/api
Порт по умолчанию TCP 443 (HTTPS)
Расположение конфигурационного файла Apache /etc/apache2/sites-available

2. ЛК Оператора

Параметр Значение
Назначение Веб‑интерфейс оператора биллинга.
Основной системный пользователь www-data
Размещение /var/www/operator
Порт по умолчанию TCP 443 (HTTPS)
Расположение конфигурационного файла Apache /etc/apache2/sites-available

3. ЛК Абонента

Параметр Значение
Назначение Веб‑интерфейс абонента.
Основной системный пользователь www-data
Размещение /var/www/abonent
Порт по умолчанию TCP 443 (HTTPS)
Расположение конфигурационного файла Apache /etc/apache2/sites-available