Инструменты пользователя

Инструменты сайта


setup

Установка MikoPBX

Обратно к перечню инструкций

MikoPBX - полноценная операционная система и телефонный сервер. Поставляется в виде образа (файл *.iso, *.img), который необходимо установить на ваш компьютер, сервер или в облако

Инструкции по обновлению доступны по ссылке

На текущий момент существует несколько способов установки MikoPBX:

  1. VM - Установка АТС на виртуальную машину
  2. Cloud - Установка АТС в облако (Yandex или Mail.ru)
  3. Live USB - установка MikoPBX с USB на отдельно выделенный сервер. ПК должен поддерживать загрузку с USB.
  4. Bootable USB - загрузочный USB диск, с которого будет работать MikoPBX. При загрузке с USB все изменения в конфигурации действуют до первой перезагрузки. ПК должен поддерживать загрузку с USB.
  5. Live CD - установка MikoPBX с CD-диска на отдельно выделенный сервер. ПК должен поддерживать загрузку с CD.
  6. Docker - требования linux 5+ и установленный docker

Требование к сетевому каналу

Пример расчета необходимой пропускной способности канала для различных кодеков на 30 одновременных звонков. АТС поддерживает наиболее популярные кодеки:

  • G.711 - 4.67 Mbps
  • GSM - 1.68 Mbps
  • G.722 - 4.67 Mbps
  • G.729 - 1.38 Mbps (кодек будет доступен в версиях 2022.2.1+)
Расчет ориентировочный, при использовании одного кодека на всех устройствах, подключенных к АТС. Подробнее тут.

Минимальные системные требования

Мы рекомендуем для развертывания АТС использовать два жестких диска.
  • Жесткий диск объемом 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. Скачать можно по ссылке.

Альтернатива - используйте balenaEtcher
  1. Загрузите и установите приложение.
  2. Запустите imageUSB
  3. Подключите USB диск к ПК
  4. Выполните действие «Refresh drives»
  5. Выберите USB диск
  6. Выберите файл образа
  7. Выполните действие «Write»
  8. Дождитесь окончания записи
  9. Подключите USB диск к ПК
  10. Перезагрузите ПК для загрузки с диска

Используем OSX

Будте внимательны при выборе устройства к форматированию. Изменения не обратимы!
  1. Откройте приложение «Terminal» (Терминал)
  2. Подключите USB диск
  3. Выполните команду
    diskutil list
  4. Будет отображена информация о всех подключенных дисках
  5. В текущем примере имя устройства USB «/dev/disk3». Cравним вывод команды «diskutil list» до и после подключения устройства
  6. Форматируем диск. Потребуется ввести пароль администратора
    sudo diskutil eraseDisk FAT32 NONAME  MBRFormat /dev/disk3;
  7. Отключим устройство следующей командой
    sudo diskutil unmountDisk /dev/disk3;
  8. Запишем образ на 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 МБ**. В противном случае системный диск подключить для хранения записей разговоров не получится.

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

Обратно к перечню инструкций

setup.txt · Последние изменения: 2024/02/09 07:29 — Портнов Алексей