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

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


setup

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
setup [2019/05/27 09:23]
Портнов Алексей [Системные требования]
setup [2024/02/09 07:29] (текущий)
Портнов Алексей [Docker]
Строка 1: Строка 1:
-====== Установка ​Askozia PBX ======+====== Установка ​MikoPBX ​======
  
 [[index|Обратно к перечню инструкций]] [[index|Обратно к перечню инструкций]]
  
-**AskoziaPBX** - полноценная операционная система и телефонный сервер. Поставляется в виде образа (файл *.iso, *.img), который необходимо установить на ваш компьютер,​ сервер или в облако\\ ​+**MikoPBX** - полноценная операционная система и телефонный сервер. Поставляется в виде образа (файл *.iso, *.img), который необходимо установить на ваш компьютер,​ сервер или в облако\\ ​
  
-<note tip>​**Инструкции по обновлению доступны ​на по [[update|ссылке]]**...</​note>​+<note tip>​**Инструкции по обновлению доступны по [[update|ссылке]]**...</​note>​
  
-На текущий момент существует несколько способов установки ​Askozia PBX+На текущий момент существует несколько способов установки ​MikoPBX
-  - **Виртуалка** - Установка АТС на **виртуальную машину**+  - **VM** - Установка АТС на **виртуальную машину**
   - **Cloud** ​ - Установка АТС в облако (Yandex или Mail.ru)   - **Cloud** ​ - Установка АТС в облако (Yandex или Mail.ru)
-  - **Live USB**     - установка ​Askozia PBX с **USB** на отдельно выделенный сервер. ПК должен поддерживать загрузку с USB. +  - **Live USB**     - установка ​MikoPBX ​с **USB** на отдельно выделенный сервер. ПК должен поддерживать загрузку с USB. 
-  - **Bootable USB** - **загрузочный USB диск**, с которого будет работать ​Askozia PBX. При загрузке с USB все изменения в конфигурации действуют до первой перезагрузки. ПК должен поддерживать загрузку с USB. +  - **Bootable USB** - **загрузочный USB диск**, с которого будет работать ​MikoPBX. При загрузке с USB все изменения в конфигурации действуют до первой перезагрузки. ПК должен поддерживать загрузку с USB. 
-  - **Live CD**      - установка ​Askozia PBX с **CD-диска** на отдельно выделенный сервер. ПК должен поддерживать загрузку с CD.+  - **Live CD**      - установка ​MikoPBX ​с **CD-диска** на отдельно выделенный сервер. ПК должен поддерживать загрузку с CD. 
 +  - **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+**) 
 + 
 +<note important>​Расчет ориентировочный,​ при использовании одного кодека на всех устройствах,​ подключенных к АТС. Подробнее [[https://​www.asteriskguru.com/​tools/​bandwidth_calculator.php | тут]]. </​note>​ 
 ===== Минимальные системные требования ===== ===== Минимальные системные требования =====
  
 <note important>​Мы рекомендуем для развертывания АТС использовать **два** жестких диска. </​note>​ <note important>​Мы рекомендуем для развертывания АТС использовать **два** жестких диска. </​note>​
  
-  * Жесткий диск объемом 800 Mb для основной системы +  * Жесткий диск объемом ​**800 Mb** для основной системы 
-  * Жесткий диск объемом 50+ Gb для записей разговоров +  * Жесткий диск объемом ​**50+ Gb** для записей разговоров 
-  * 1 процессор x86-64 +  ​* **1 (2 ядра)** ​процессор ​**x86-64** 
-  * 1Gb оперативной памяти+  * **2Gb** ​оперативной памяти
   * Сетевой адаптер   * Сетевой адаптер
  
 +<note tip>​ПК,​ с такими параметрами,​ в наших тестах,​ держит **38 одновременных входящих звонков** при условиях:​
 +  * К очереди подключено 10 агентов (все online)
 +  * Каждую секунду поступает новый звонок
 +  * Клиенту во время ожидания воспроизводится музыка (MOH)
 +  * На АТС не установлено доп. модулей
 +</​note>​
  
 <note important>​Ориентировочно,​ **1 час** разговора занимает **14Мб** места на диске. </​note>​ <note important>​Ориентировочно,​ **1 час** разговора занимает **14Мб** места на диске. </​note>​
 ===== Виртуальные машины ===== ===== Виртуальные машины =====
  
-Ниже представлен перечень инструкций для установки ​Askozia ​на рекомендуемые виртуальные машины:​+Ниже представлен перечень инструкций для установки ​MikoPBX ​на рекомендуемые виртуальные машины:​
   * [[setup:​virtualbox|VirtualBOX]]   * [[setup:​virtualbox|VirtualBOX]]
   * [[setup:​vmwareFusion|VMware Fusion]]   * [[setup:​vmwareFusion|VMware Fusion]]
Строка 33: Строка 52:
   * [[setup:​vmware_workstation|VMware Workstation Pro]]   * [[setup:​vmware_workstation|VMware Workstation Pro]]
   * [[setup:​hyperv|Hyper-V]]   * [[setup:​hyperv|Hyper-V]]
 +  * [[https://​настройка-микротик.рф/​ip-телефония-с-нуля/​|MikoPBX на Proxmox (настройка-микротик.рф)]]
  
 ===== Установка в облако ===== ===== Установка в облако =====
  
-Ниже представлен перечень инструкций для установки ​Askozia ​в облаке:​+Ниже представлен перечень инструкций для установки ​MikoPBX ​в облаке:​
   * [[faq:​mcs|MailRu Cloud Solutions]]   * [[faq:​mcs|MailRu Cloud Solutions]]
   * [[faq:​yandex_cloud|Yandex Cloud]]   * [[faq:​yandex_cloud|Yandex Cloud]]
 +  * [[faq:​azure|Microsoft Azure]]
 +  * [[faq:​google-cloud|Google Cloud]]
 +  * [[https://​asko.host/​pbx | Облако asko.host]] ​
 +  * [[faq:​hetzner-cloud|Hetzner cloud]]
  
 +===== Docker =====
  
 +<note warning>"​**Host система**"​ должна быть запущена на базе Linux 5+. Тестировалось на Debian 11 и Ubuntu-21.04. В планах добавить поддержку ARM.</​note>​
 +
 +<​code>​
 +# Создание на хост системе каталогов для хранения данных 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
 +</​code>​
 +
 +<note important>​Флаг **NET_ADMIN** необходим для возможности работы **fail2ban** и **iptables** внутри контейнера.
 +
 +**Обязательно** укажите параметр "​**hostname**",​ иначе его значение будет назначено автоматически,​ что приведен к проблеме с лицензированием. </​note>​
 +<note warning>​Если необходимо использовать "​[[module-backup|Модуль резервного копирования]]",​ то контейнер следует запускать с флагом **--privileged**. Резервное копирование можно выполнять архивированием каталогов **cf** и **storage** вручную (когда контейнер остановлен).</​note>​
 +
 +<note tip>​Флаг **--net=host** указывает на то, что NAT не будет использоваться для нового контейнера. Все порты, что должен занять контейнер будет заняты и на хост машине. Подробнее в [[https://​docs.docker.com/​network/​host/​|документации...]] Если на хост машине,​ какой то из портов занят, то при загрузке 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** пользователя)
 +</​note>​
 +
 +Пример **docker-compose.yml**:​
 +<​code>​
 +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"​
 +</​code>​
 +
 +<note important>​**Обязательно** укажите параметр "​**hostname**",​ иначе его значение будет назначено автоматически,​ что приведен к проблеме с лицензированием. </​note>​
 +
 +Команда для подключения к консоли АТС: ​
 +<​code>​
 +docker exec -it mikopbx sh
 +</​code>​
 +
 +Команда для подключения к консольному меню АТС:
 +<​code>​
 +docker exec -it mikopbx /​etc/​rc/​console_menu
 +</​code>​
  
 ===== Live USB / Bootable USB ===== ===== Live USB / Bootable USB =====
Строка 50: Строка 162:
  
 Большинство современных ПК поддерживают загрузку с USB устройства. \\ Большинство современных ПК поддерживают загрузку с USB устройства. \\
-**AskoziaPBX** может быть запущена с USB устройства. Такой способ установки может потребоваться при отсутствии CDROM. ​+**MikoPBX** может быть запущена с USB устройства. Такой способ установки может потребоваться при отсутствии CDROM. ​
  
 <note important>​ <note important>​
-**Обратите внимание!** Минимальная емкость USB диска - **512MB**+**Обратите внимание!** Минимальная емкость USB диска - **600MB**
 </​note>​ </​note>​
  
Строка 65: Строка 177:
 Для создания загрузочного USB диска рекомендуем использовать приложение [[http://​www.osforensics.com/​tools/​write-usb-images.html|imageUSB]]. Скачать можно по [[http://​www.osforensics.com/​tools/​write-usb-images.html|ссылке]]. ​ Для создания загрузочного USB диска рекомендуем использовать приложение [[http://​www.osforensics.com/​tools/​write-usb-images.html|imageUSB]]. Скачать можно по [[http://​www.osforensics.com/​tools/​write-usb-images.html|ссылке]]. ​
  
-<note important>​Альтернатива - используйте **usb-image-tool**</​note>​+<note important>​Альтернатива - используйте **[[https://​www.balena.io/​etcher/​ | balenaEtcher]]**</​note>​
  
   - Загрузите и установите приложение. ​   - Загрузите и установите приложение. ​
Строка 88: Строка 200:
   - Форматируем диск. Потребуется ввести пароль администратора <​code>​sudo diskutil eraseDisk FAT32 NONAME ​ MBRFormat /​dev/​disk3;</​code>​   - Форматируем диск. Потребуется ввести пароль администратора <​code>​sudo diskutil eraseDisk FAT32 NONAME ​ MBRFormat /​dev/​disk3;</​code>​
   - Отключим устройство следующей командой <​code>​sudo diskutil unmountDisk /​dev/​disk3;</​code>​   - Отключим устройство следующей командой <​code>​sudo diskutil unmountDisk /​dev/​disk3;</​code>​
-  - Запишем образ на usb носитель <code>sudo dd if=1.0.64-9.0-svn-mikopbx-x86-64-cross-linux.img of=/​dev/​disk3 bs=1m;</code>+  - Запишем образ на usb носитель <Code>sudo dd if=1.0.64-9.0-svn-mikopbx-x86-64-cross-linux.img of=/​dev/​disk3 bs=1m;</Code>
  
 ===== Live CD ===== ===== Live CD =====
 **Установка с помощью Live CD** - самый простой способ установки на настольный ПК.\\ \\  **Установка с помощью Live CD** - самый простой способ установки на настольный ПК.\\ \\ 
 1.  Для начала необходимо скачать образ Live CD. \\ \\  1.  Для начала необходимо скачать образ Live CD. \\ \\ 
-2.  Запишите образ "**X.X.ХХ-9.0-svn-mikopbx-x86-64-cross-linux.iso**" на компакт-диск\\ \\ +2.  Запишите образ "**XXXX.X.XXX-mikopbx-generic-x86-64-linux**"​ на компакт-диск\\ \\ 
 3.  Вставьте Live CD в компьютер\\ \\  3.  Вставьте Live CD в компьютер\\ \\ 
 4.  **ПК должен поддерживать загрузку с CD**. Должен быть настроен порядок загрузки с CD привода.\\ \\  4.  **ПК должен поддерживать загрузку с CD**. Должен быть настроен порядок загрузки с CD привода.\\ \\ 
 5.  Перезагрузите ПК\\ \\  5.  Перезагрузите ПК\\ \\ 
-6.  Если загрузка прошла успешно,​ появится консольное меню. На данном этапе ​Askozia ​загружается с диска (Live CD), на который записан iso образ. На это нам указывает строчка:​ "​**АТС запущена с Live CD в режиме восстановления**"​.\\  +6.  Если загрузка прошла успешно,​ появится консольное меню. На данном этапе ​MikoPBX ​загружается с диска (Live CD), на который записан iso образ. На это нам указывает строчка:​ "​**АТС запущена с Live CD в режиме восстановления**"​.\\  
-{{ :setup:2018-08-06_17110613.png |}}\\ \\  +{{ ::install-livecd-6.png |}} 
-7.  Производим установку ​Askozia.  +7.  Производим установку ​MikoPBX.  
-  * Введите с клавиатуры цифру **8** и нажмите «**Enter**» для начала установки. ​Askozia ​отобразит информацию о всех **доступных** дисках. В текущем примере - диск «**sda**».+  * Введите с клавиатуры цифру **8** и нажмите «**Enter**» для начала установки. ​MikoPBX ​отобразит информацию о всех **доступных** дисках. В текущем примере - диск «**sda**».
   * Введите с клавиатуры имя диска, в текущем случае **sda**.   * Введите с клавиатуры имя диска, в текущем случае **sda**.
   * Система запросит подтверждение. Подтверждаем - **y**.   * Система запросит подтверждение. Подтверждаем - **y**.
-<note warning>​Имена дисков могут отличаться для вашей системы. Будьте внимательны с выбором,​ все данные на диске, куда устанавливается ​Askozia, будут потеряны.</​note>​+<note warning>​Имена дисков могут отличаться для вашей системы. Будьте внимательны с выбором,​ все данные на диске, куда устанавливается ​MikoPBX, будут потеряны.</​note>​
 {{ :​setup:​2018-11-16_163316.png |}}\\  {{ :​setup:​2018-11-16_163316.png |}}\\ 
-Диск, на который будет установлена ​Askozia, называется **системным** (**SYSTEM**). В качестве системного диска можно выбрать диск, размер которого будет превышать **500 Мб**. \\ \\  +Диск, на который будет установлена ​MikoPBX, называется **системным** (**SYSTEM**). В качестве системного диска можно выбрать диск, размер которого будет превышать **600 Мб**. \\ \\  
-8.  После завершения установки система перезагрузится. ​Askozia ​автоматически извлечет диск **X.X.X-X.X-svn-mikopbx-x86-64-cross-linux.iso**» из привода,​ теперь **Askozia** будет запускаться с диска **sda**, на который мы и установили систему.\\ \\ +8.  После завершения установки система перезагрузится. ​MikoPBX ​автоматически извлечет диск ​"**XXXX.X.XXX-mikopbx-generic-x86-64-linux*" ​из привода,​ теперь **MikoPBX** будет запускаться с диска **sda**, на который мы и установили систему.\\ \\ 
 9. После перезапуска увидим,​ что строчка "​**АТС запущена с Live CD в режиме восстановления**"​ отсутствует.\\ ​ 9. После перезапуска увидим,​ что строчка "​**АТС запущена с Live CD в режиме восстановления**"​ отсутствует.\\ ​
-{{ :setup:2018-08-06_17111110.png |}}\\ \\  +{{ ::install-livecd-9-2.png |}} 
-10. Далее система предложит подключить диск для хранения записей разговоров в Askozia.+10. Далее система предложит подключить диск для хранения записей разговоров в MikoPBX.
   * Введите наименование диска для подключения (например,​ sdb) и нажмите Enter.   * Введите наименование диска для подключения (например,​ sdb) и нажмите Enter.
 {{ :​setup:​2018-11-16_163519.png |}} {{ :​setup:​2018-11-16_163519.png |}}
  
-**Важно!** В качестве диска для хранения записей разговоров может выступать **системный диск**, на который установлена сама ​Askozia ​(в нашем примере диск sda) только в том случае,​ если его **размер** будет превышать **600 МБ**. В противном случае системный диск подключить для хранения записей разговоров не получится. \\ \\  ​+**Важно!** В качестве диска для хранения записей разговоров может выступать **системный диск**, на который установлена сама ​MikoPBX ​(в нашем примере диск sda) только в том случае,​ если его **размер** будет превышать **600 МБ**. В противном случае системный диск подключить для хранения записей разговоров не получится. \\ \\  ​
  
 При повторной попытке подключения диска для хранения записей разговоров будет выведено уведомление о том, что диск уже смонтирован.\\ ​ При повторной попытке подключения диска для хранения записей разговоров будет выведено уведомление о том, что диск уже смонтирован.\\ ​
-{{ :setup:2018-11-16_163600.png |}} +{{ ::install-livecd-11-storage-1.png |}} 
- +{{ ::​install-livecd-11-storage-2.png |}}
- +
- +
  
 [[index|Обратно к перечню инструкций]] [[index|Обратно к перечню инструкций]]
setup.1558949019.txt.gz · Последние изменения: 2019/06/11 13:06 (внешнее изменение)