АТС miniPBX работает под управлением ОС GNU/Linux. Для её работы требуется аппаратный ключ-токен. Без него программа работает в демо-режиме.
Перед установкой АТС необходимо убедиться в наличии и в случае необходимости установить следующие компоненты:
В Ubuntu/Debian/Astra это можно сделать командой:
apt update && apt install -y \
docker.io \
usb-modeswitch \
net-tools
В CentOS/Fedora/RedHat:
yum install -y \
docker \
usb_modeswitch \
net-tools
Программа modemmanager (ModemManager) должна быть отключена либо удалена во избежение конфликтов доступа к USB-модемам.
wget -c https://poladis.ru/minipbx-pc/stable/pbx.php -O - | tar -xz && cd minipbx
При необходимости выполните дополнительные настройки (см. раздел «Расширенная настройка»). Вы можете пропустить этот шаг, программа будет установлена с настройками по умолчанию.
При наличии ключ-токена, вставьте его в любой доступный USB-порт.
Ключ-токен не должен извлекаться из компьютера во время работы АТС. При отсутствии ключа-токена АТС перейдёт в демо-режим.
./install
После успешной установки АТС будет автоматически запущена. При этом через несколько секунд после запуска должен загореться индикатор на ключе-токене. Если индикатор не загорелся в течение 30 секунд, перейдите в раздел «Устраненние неполадок».
Когда индикатор загорится, перейдите в браузер и откройте в нем страницу по адресу: http://localhost
Возможно, потребуется еще некоторое время, чтобы АТС запустилась и веб-интерфейс стал доступен.
minipbx-start
minipbx-stop
minipbx-restart
minipbx-status
minipbx-config
minipbx-update
При наличии обновлений работа АТС будет остановлена. После завершения обновления она будет вновь запущена.
minipbx-uninstall
Все созданные во время работы АТС данные удалены не будут. Если вы ходите удалить их тоже, выполните команды (для настроек по умолчанию):
rm -rf /etc/minipbx.cfg /usr/share/minipbx && \
docker image rm cr.yandex/crp9f1mct0nssd2k2cic/minipbx-pc-base
После скачивания и распаковки архива вы можете произвести тонкую настройку процесса установки. Для этого необходимо отредактировать файл dist/minipbx.cfg
.
После установки файл конфигурации будет скопирован в /etc/minipbx.cfg
Переменная | Назначение | По умолчанию |
---|---|---|
TARGET |
Директория* для установки файлов программы. В ней по умолчанию будет содержаться рабочая директория workdir, которая хранит различные генерируемые в процессе работы АТС данные | /usr/share/minipbx |
ADD_PATH |
Дополнительный путь для поиска исполняемых программ (в дополнение к системной переменной PATH) | Не установлено |
TIMEZONE |
Часовой пояс в формате tzdata. Если не установлен, АТС попытается определить его автоматически | Не установлено |
NET_INTERFACE |
Название сетевого интерфейса. Если не установлен, АТС попытается определить его автоматически. Если будет найдено несколько, будет выбран первый из них. В настоящий момент влияет только на выбор интерфейса, с которого будет снят дамп. | Не установлено |
PATH_MISC |
Директория* для хранения дампов и других данных. Размер может достигать нескольких ГБ. | workdir/misc |
PATH_LOGS |
Директория* для хранения логов. Размер может достигать нескольких сотен МБ. | workdir/logs |
PATH_CONFIGS |
Директория* для хранения конфигурации АТС. Размер может достигать нескольких сотен МБ. | workdir/configs |
PATH_SOUNDS |
Директория* для хранения загруженных аудиофайлов. Размер может достигать нескольких сотен МБ. | workdir/sounds |
PATH_KEYS |
Директория* для хранения файлов лицензии. Размер может достигать нескольких КБ. | workdir/keys |
PATH_RECORDS |
Директория* для хранения файлов лицензии. Размер может достигать нескольких десятков ГБ. | workdir/records |
PATH_REALTIME |
Директория* для хранения временных и др. файлов. Размер может достигать нескольких десятков МБ. | workdir/realtime |
SERVICES_CTRL |
Система управления службами. Возможные значения: systemd и no. Выбрав значение no, можно отказаться от использования systemd и управлять запуском АТС вручную | systemd |
DIALOUT |
Идентификатор группы USB-модемов | Не установлено |
WEB_PORT |
Порт для подключения к веб интерфейсу | 80 |
CGROUP_FIX |
Исправление запуска АТС системах с cgroups v2. Возможные значения: yes, no. Ставить yes только в том случае, если при запуске появляется ошибка "Failed to create /init.scope control group: Read-only file system" | - |
*После установки при редактивании настроек в /etc/minipbx.cfg, связанных с путями, перенос соответствующих каталогов по новому пути производиться не будет, это нужно будет выполнить самостоятельно до запуска (перезапуска) АТС.
Значения переменных PATH_MISC
, PATH_LOGS
, PATH_DB
, PATH_CONFIGS
, PATH_SOUNDS
, PATH_KEYS
, PATH_RECORDS
, PATH_REALTIME
могут быть заданы как относительно TARGET, так и указаны абсолютными значениями.
Каждая строка файла конфигурации, содержащая переменную и ее значение имеет строгий формат: VARIABLE=VALUE
, где VARIABLE
— название переменной, а VALUE
— ее значение. Не допускается наличие пробельных символов (пробел, табуляция) между VARIABLE
и =
, а также между =
и VALUE
. Если VALUE
содержит пробельные символы, то всё VALUE
следует заключить в двойные кавычки. Если в файле будет присутствовать несколько строк с одним и тем же названием переменной, то будет использовано последнее из них. После символа #
допустим комментарий.
Для корректной работы minipbx может потребоваться настройка либо полное отключение firewall'а.
Представленные ниже конфигурации актуальны только для настроек по умолчанию в minipbx. Например, если вы изменили номер SIP-порта или протокол (с UDP на TCP), то необходимо будет изменить конфигурации firewall'ов.
Создайте текстовый файл /etc/ufw/applications.d/minipbx
со следующим содержимым
[minipbx]
title=miniPBX
description=miniPBX
ports=80/tcp|9000/tcp|5060/udp|10000:20000/udp
Далее выполните команду:
ufw allow minipbx
Создание нового сервиса
firewall-cmd --permanent --new-service=minipbx
Добавление портов в сервис
firewall-cmd --permanent --service=minipbx \
--add-port=80/tcp \
--add-port=9000/tcp \
--add-port=5060/udp \
--add-port=10000-20000/udp
Перезагрузка
firewall-cmd --reload && \
firewall-cmd --permanent --add-service=minipbx && \
firewall-cmd --reload
ufw disable
systemctl disable --now firewalld