Документ описывает процесс установки Webitel на собственном сервере в on-site варианте развертывания.
Linux
Рекомендуем использовать Debian Jessie либо Ubuntu Server. Только 64bit! Ниже приведенная инструкция подходит, в первую очередь, этим двум дистрибутивам.
Установка docker
Самый простой способ установки - это использование скрипта:
# apt-get install curl # curl -sSL https://get.docker.com/ | sh # docker --version Docker version 1.10.2, build c3959b1
Варианты установки на других дистрибутивах: https://docs.docker.com/engine/installation/
На Ubuntu Вы можете получить сообщение:
WARNING: Your kernel does not support cgroup swap limit. WARNING: Your kernel does not support swap limit capabilities. Limitation discarded.
Что бы это исправить, откройте файл /etc/default/grub
и присвойте значение переменной GRUB_CMDLINE_LINUX
:
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
Теперь Вы можете сохранить файл и обновить загрущик с помощью команды:
$ sudo update-grub
Установка docker-compose
Поскольку Webitel это комплекс из нескольких приложений, рекомендуем использовать docker-compose. Установка:
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install python-pip $ sudo pip install -U docker-compose $ docker-compose --version docker-compose version: 1.6.2, build 4d72027
Варианты установки на других дистрибутивах: https://docs.docker.com/compose/install/
Подготовка к запуску webitel
Для запуска Webitel Вам необходимо скачать подготовленные для docker-compose
файлы, внести свои правки и запустить.
Текущая стабильная версия Webitel 3.2.1
Получение файлов:
sudo gpasswd -a ${USER} docker cd /opt sudo mkdir /opt/webitel curl -L https://github.com/webitel/orchestration/archive/v3.2.1.tar.gz | sudo tar xz mv orchestration-3.2.1 orchestration sudo chown -R ${USER}:docker /opt/webitel /opt/orchestration cd /opt/orchestration
В результате, мы получили копию подготовленных скриптов для запуска и управления контейнерами Webitel.
Конфигурационные файлы
Прежде, чем приступить к запуску, нам нужно изменить 2 значения в файле bin/setenv.sh:
- WEBITEL_HOST - DNS имя сервера с Webitel. В новых версиях используется nginx, как proxy и http сервер. Вам необходимо указать полное FQDN имя, а не просто IP адрес.
- WEBITEL_PASS - пароль для пользователя root.
Запуск Webitel
Имея готовый файл с описанием контейнеров, мы можем скачать образы c Docker Hub на сервер и создать контейнеры.
Сервер сбора логов
Начиная с версии 3.2.0, все логи контейнеров webitel (как и ключевые поля статистики для Аналитика и отчетность) сохраняются в базе elasticsearch. Прежде чем стартовать webitel, мы запускаем elasticsearch и fluentd.
./bin/bootstrap.sh esf up -d
Скрипт bin/bootstrap.sh разработан, что бы упростить работу с контейнерами.
Основные команды:
Команда | Описание |
---|---|
esf | Управление elasticsearch и fluentd. |
dev | Запуск в режиме разработчика, когда открыты все порты всех контейнеров. |
fs | Запустить fs_cli для подключения к консоли FreeSWITCH |
- | не указывая ничего, запускаем webitel |
Аргументы:
Аргумент | Описание |
---|---|
up | Создать либо пересоздать контейнеры. Для запуска контейнера в фоновом режиме, необходимо добавить ключ -d |
stop | Остановить контейнеры |
start | Запустить созданные раньше контейнеры |
rm | Удалить контейнеры |
pull | Скачать последнюю версию образов |
ps | Вывести список контейнеров и их состояние |
Запускаем webitel:
./bin/bootstrap.sh pull ./bin/bootstrap.sh up -d
Проверяем, что все запустилось и работает:
./bin/bootstrap.sh ps
Наше приложение готово к работе.
Приложение | URL |
---|---|
Webitel WebClient | http://наш_домен/ |
WebSocket сервер и RESTFul API | http://наш_домен/engine/ |
WebRTC подключение | http://наш_домен/verto/ |
Kibana | http://наш_домен/kibana/ |
Документация по API | http://наш_домен/docs/ |
Теперь можем переходить к разделу Первичная настройка системы.