Документ описывает процесс установки Webitel на собственном сервере в on-site варианте развертывания.

Рекомендуем использовать Debian Stretch либо Ubuntu Server. Только 64bit! Ниже приведенная инструкция подходит, в первую очередь, этим двум дистрибутивам.

Установка docker

Самый простой способ установки - это использование скрипта:

# apt-get install curl ntp
# curl -sSL https://get.docker.com/ | sh
# docker --version

Варианты установки на других дистрибутивах: https://docs.docker.com/engine/installation/

Установка docker-compose

Поскольку Webitel это комплекс из нескольких приложений, рекомендуем использовать docker-compose. Установка:

# curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
# docker-compose --version

Подготовка к запуску webitel

Для запуска Webitel Вам необходимо скачать подготовленные для docker-compose файлы, внести свои правки и запустить.

Текущая стабильная версия Webitel 3.11.6

Получение файлов:

$ sudo gpasswd -a ${USER} docker
$ cd /opt
$ sudo mkdir /opt/webitel
$ sudo git clone https://github.com/webitel/orchestration.git
$ sudo chown -R ${USER}:docker /opt/webitel /opt/orchestration
$ cd /opt/orchestration
$ git checkout v3.11.6

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

Конфигурационные файлы

В директории /opt/orchestration/env поставляются файлы конфигурации с расширением *.example. Вам необходимо скопировать эти файлы без расширения. Самый простой способ - выполнить команду:

$ cd /opt/orchestration/env
$ for f in *.example; do cp $f `basename $f .example`; done

Прежде, чем приступить к запуску, нам нужно изменить 2 значения в файле env/environment:

Параметры Linux:

$ sudo sh -c "cat /opt/orchestration/etc/sysctl.conf >> /etc/sysctl.conf"
$ sudo sysctl -p

Для Ubuntu необходимо дополнительно выполнить:

$ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.tcpdump

Добавить Webitel в автозагрузку:

$ sudo cp /opt/orchestration/etc/cron.d/webitel /etc/cron.d/


Запуск Webitel

Имея готовый файл с описанием контейнеров, мы можем скачать образы c Docker Hub на сервер и создать контейнеры.

Основные команды:

Команда

Описание

fs

Запустить fs_cli для подключения к консоли FreeSWITCH

backupВыполняет резервное копирование базы данных и конфигурации webitel

-

не указывая ничего, запускаем webitel

Аргументы:

Аргумент

Описание

up

Создать либо пересоздать контейнеры. Для запуска контейнера в фоновом режиме, необходимо добавить ключ -d

stop

Остановить контейнеры

start

Запустить созданные раньше контейнеры

rm

Удалить контейнеры

pull

Скачать последнюю версию образов

ps

Вывести список контейнеров и их состояние

logs

Отобразить вывод логов из контейнеров

Запускаем webitel:

$ cd /opt/orchestration

./bin/bootstrap.sh pull
./bin/bootstrap.sh up -d

Проверяем, что все запустилось и работает:

./bin/bootstrap.sh ps

Создание сертификата  X.509v3

sudo -s
docker exec -it freeswitch openssl req -new -newkey rsa:2048 -x509 -sha256 -days 900 -nodes -keyout /certs/key.pem -out /certs/cert.pem
cat /opt/webitel/ssl/key.pem /opt/webitel/ssl/cert.pem > /opt/webitel/ssl/dtls-srtp.pem

Что бы перезапустить полностью все контейнеры webitel, используйте последовательность:

./bin/reboot.sh

Наше приложение готово к работе.

ПриложениеURL
Webitel WebClienthttp://наш_домен/
WebSocket сервер и RESTFul APIhttp://наш_домен/engine/
WebRTC подключениеhttp://наш_домен/verto/
Kibanahttp://наш_домен/kibana/
Документация по APIhttp://наш_домен/docs/


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