Установка MikoPBX
Обратно к перечню инструкций
MikoPBX - полноценная операционная система и телефонный сервер. Поставляется в виде образа (файл *.iso, *.img), который необходимо установить на ваш компьютер, сервер или в облако
Инструкции по обновлению доступны по ссылке…
На текущий момент существует несколько способов установки MikoPBX:
VM - Установка АТС на виртуальную машину
Cloud - Установка АТС в облако (Yandex или Mail.ru)
Live USB - установка MikoPBX с USB на отдельно выделенный сервер. ПК должен поддерживать загрузку с USB.
Bootable USB - загрузочный USB диск, с которого будет работать MikoPBX. При загрузке с USB все изменения в конфигурации действуют до первой перезагрузки. ПК должен поддерживать загрузку с USB.
Live CD - установка MikoPBX с CD-диска на отдельно выделенный сервер. ПК должен поддерживать загрузку с CD.
Docker - требования linux 5+ и установленный docker
Требование к сетевому каналу
Пример расчета необходимой пропускной способности канала для различных кодеков на 30 одновременных звонков.
АТС поддерживает наиболее популярные кодеки:
Расчет ориентировочный, при использовании одного кодека на всех устройствах, подключенных к АТС. Подробнее
тут.
Минимальные системные требования
Мы рекомендуем для развертывания АТС использовать два жестких диска.
Жесткий диск объемом 800 Mb для основной системы
Жесткий диск объемом 50+ Gb для записей разговоров
1 (2 ядра) процессор x86-64
2Gb оперативной памяти
Сетевой адаптер
ПК, с такими параметрами, в наших тестах, держит
38 одновременных входящих звонков при условиях:
К очереди подключено 10 агентов (все online)
Каждую секунду поступает новый звонок
Клиенту во время ожидания воспроизводится музыка (MOH)
На АТС не установлено доп. модулей
Ориентировочно, 1 час разговора занимает 14Мб места на диске.
Виртуальные машины
Ниже представлен перечень инструкций для установки MikoPBX на рекомендуемые виртуальные машины:
Установка в облако
Ниже представлен перечень инструкций для установки MikoPBX в облаке:
Docker
«Host система» должна быть запущена на базе Linux 5+. Тестировалось на Debian 11 и Ubuntu-21.04. В планах добавить поддержку ARM.
# Создание на хост системе каталогов для хранения данных MikoPBX
# Для хранения настроек:
mkdir -p /var/spool/mikopbx/cf
# Для хранения записей разговоров и бекапов:
mkdir -p /var/spool/mikopbx/storage
# Получаем контейнер:
docker pull ghcr.io/mikopbx/mikopbx-x86-64
# Вариант запуска MikoPBX
# НЕ привилегированный режим. Пользователь и группа "www-data" дожены существовать в системе:
docker run --cap-add=NET_ADMIN --net=host --name mikopbx --hostname mikopbx \
-v /var/spool/mikopbx/cf:/cf \
-v /var/spool/mikopbx/storage:/storage \
-e SSH_PORT=23 \
-e ID_WWW_USER="$(id -u www-data)" \
-e ID_WWW_GROUP="$(id -g www-data)" \
-it -d --restart always ghcr.io/mikopbx/mikopbx-x86-64
Флаг
NET_ADMIN необходим для возможности работы
fail2ban и
iptables внутри контейнера.
Обязательно укажите параметр «hostname», иначе его значение будет назначено автоматически, что приведен к проблеме с лицензированием.
Если необходимо использовать «
Модуль резервного копирования», то контейнер следует запускать с флагом
–privileged. Резервное копирование можно выполнять архивированием каталогов
cf и
storage вручную (когда контейнер остановлен).
Флаг
–net=host указывает на то, что NAT не будет использоваться для нового контейнера. Все порты, что должен занять контейнер будет заняты и на хост машине. Подробнее в
документации... Если на хост машине, какой то из портов занят, то при загрузке MikoPBX могут возникнуть ошибки.
Ниже описаны переменные окружение, которые позволят скорректировать используемые MikoPBX порты:
SSH_PORT - порт для SSH (22)
WEB_PORT - порт для работы web интерфейса по протоколу HTTP (80)
WEB_HTTPS_PORT - порт для работы web интерфейса по протоколу HTTPS (443)
SIP_PORT - порт для подключения SIP клиента (5060)
RTP_FROM - начало диапазона RTP портов, передача голоса (10000)
RTP_TO - конец диапазона RTP портов, передача голоса (10200)
IAX_PORT - порт для подключения IAX клиентов (4569)
AMI_PORT - порт AMI (5038)
AJAM_PORT - порт AJAM используется для подключения панели телефонии для 1С (8088)
AJAM_PORT_TLS - порт AJAM используется для подключения панели телефонии для 1С (8089)
BEANSTALK_PORT - порт для сервера очередей Beanstalkd (4229)
REDIS_PORT - порт для сервера Redis (6379)
GNATS_PORT - порт для сервера gnatsd (4223)
ID_WWW_USER - идентификатор пользователя www (можно задать выражением «$(id -u www-data)«, где www-data имя НЕ root пользователя)
ID_WWW_GROUP - идентификатор группы www (можно задать выражением «$(id -g www-data)«, где www-data имя НЕ root пользователя)
Пример docker-compose.yml:
version: "3.9"
services:
mikopbx:
container_name: "mikopbx"
hostname: "mikopbx"
image: "ghcr.io/mikopbx/mikopbx-x86-64"
network_mode: "host"
command: '-d'
tty: true
cap_add:
- NET_ADMIN
volumes:
- /var/spool/mikopbx/cf:/cf
- /var/spool/mikopbx/storage:/storage
# environment:
## Изменение стандартного порта SSH на 23
# - SSH_PORT=23
## Изменение стандартного порта HTTP на 81
# - WEB_PORT=81
# DAHDI не обязательное условие. Он необходим для работы MeetMe в панели телефонии.
# devices:
# - "/dev/dahdi/transcode:/dev/dahdi/transcode"
# - "/dev/dahdi/channel:/dev/dahdi/channel"
# - "/dev/dahdi/ctl:/dev/dahdi/ctl"
# - "/dev/dahdi/pseudo:/dev/dahdi/pseudo"
# - "/dev/dahdi/timer:/dev/dahdi/timer"
Обязательно укажите параметр «hostname», иначе его значение будет назначено автоматически, что приведен к проблеме с лицензированием.
Команда для подключения к консоли АТС:
docker exec -it mikopbx sh
Команда для подключения к консольному меню АТС:
docker exec -it mikopbx /etc/rc/console_menu
Live USB / Bootable USB
Протестировано на:
Intel NUC DCCP847DYE
Intel NUC D54250WUKH
Большинство современных ПК поддерживают загрузку с USB устройства.
MikoPBX может быть запущена с USB устройства. Такой способ установки может потребоваться при отсутствии CDROM.
Обратите внимание! Минимальная емкость USB диска - 600MB
Режим Bootable USB предназначен для работы АТС с USB диска (флэш карты). Используйте для установки файл *.img
Режим Live USB предназначен для установки или восстановления системы. Используйте для установки файл *.iso
Используем Windows
Для создания загрузочного USB диска рекомендуем использовать приложение imageUSB. Скачать можно по ссылке.
Загрузите и установите приложение.
Запустите imageUSB
Подключите USB диск к ПК
Выполните действие «Refresh drives»
Выберите USB диск
Выберите файл образа
Выполните действие «Write»
Дождитесь окончания записи
Подключите USB диск к ПК
Перезагрузите ПК для загрузки с диска
Используем OSX
Будте внимательны при выборе устройства к форматированию. Изменения не обратимы!
Откройте приложение «Terminal» (Терминал)
Подключите USB диск
Выполните команду
diskutil list
Будет отображена информация о всех подключенных дисках
В текущем примере имя устройства USB «/dev/disk3». Cравним вывод команды «diskutil list» до и после подключения устройства
Форматируем диск. Потребуется ввести пароль администратора
sudo diskutil eraseDisk FAT32 NONAME MBRFormat /dev/disk3;
Отключим устройство следующей командой
sudo diskutil unmountDisk /dev/disk3;
Запишем образ на usb носитель
sudo dd if=1.0.64-9.0-svn-mikopbx-x86-64-cross-linux.img of=/dev/disk3 bs=1m;
Live CD
Установка с помощью Live CD - самый простой способ установки на настольный ПК.
1. Для начала необходимо скачать образ Live CD.
2. Запишите образ «XXXX.X.XXX-mikopbx-generic-x86-64-linux» на компакт-диск
3. Вставьте Live CD в компьютер
4. ПК должен поддерживать загрузку с CD. Должен быть настроен порядок загрузки с CD привода.
5. Перезагрузите ПК
6. Если загрузка прошла успешно, появится консольное меню. На данном этапе MikoPBX загружается с диска (Live CD), на который записан iso образ. На это нам указывает строчка: «АТС запущена с Live CD в режиме восстановления».
7. Производим установку MikoPBX.
Введите с клавиатуры цифру 8 и нажмите «Enter» для начала установки. MikoPBX отобразит информацию о всех доступных дисках. В текущем примере - диск «sda».
Введите с клавиатуры имя диска, в текущем случае sda.
Система запросит подтверждение. Подтверждаем - y.
Имена дисков могут отличаться для вашей системы. Будьте внимательны с выбором, все данные на диске, куда устанавливается MikoPBX, будут потеряны.
Диск, на который будет установлена MikoPBX, называется системным (SYSTEM). В качестве системного диска можно выбрать диск, размер которого будет превышать 600 Мб.
8. После завершения установки система перезагрузится. MikoPBX автоматически извлечет диск «XXXX.X.XXX-mikopbx-generic-x86-64-linux*» из привода, теперь MikoPBX будет запускаться с диска sda, на который мы и установили систему.
9. После перезапуска увидим, что строчка «АТС запущена с Live CD в режиме восстановления» отсутствует.
10. Далее система предложит подключить диск для хранения записей разговоров в MikoPBX.
* Введите наименование диска для подключения (например, sdb) и нажмите Enter.
Важно! В качестве диска для хранения записей разговоров может выступать системный диск, на который установлена сама MikoPBX (в нашем примере диск sda) только в том случае, если его размер будет превышать 600 МБ**. В противном случае системный диск подключить для хранения записей разговоров не получится.
При повторной попытке подключения диска для хранения записей разговоров будет выведено уведомление о том, что диск уже смонтирован.
Обратно к перечню инструкций