Перейти к содержанию

Установка и активация WCS

Установочные архивы WCS доступны для загрузки по ссылке

Загрузка установочного архива возможна непосредственно на сервер при помощи wget, например

wget https://flashphoner.com/downloads/builds/WCS/5.2/FlashphonerWebCallServer-5.2.XXXX.tar.gz

Установка

Для установки WCS необходимо распаковать архив и запустить скрипт установки install.sh:

tar -xvzf FlashphonerWebCallServer-5.2.XXXX.tar.gz
cd FlashphonerWebCallServer-5.2.XXXX
sudo ./install.sh

Установщик выполнит необходимые проверки и произведет установку WCS в директорию /usr/local/FlashphonerWebCallServer

В процессе установки будут пройдены следующие шаги:

  • Ознакомление и принятие лицензионного соглашения
  • Ввод IP адресов в случае, если скрипту не удалось определить адреса автоматически (см. Конфигурация IP адресов)
  • Запрос на включение WCS в автозагрузку при запуске Linux-сервера
  • Проверка версии Java и удаление устаревших настроек из файла wcs-core.properties

В результате будет выведено сообщение об успешном завершении установки. В каталоге /usr/local/FlashphonerWebCallServer появится набор каталогов:

  • bin - исполняемые файлы WCS
  • client - WCS JavaScript API 1.0, примеры использования и нагрузочные тесты
  • client2 - WCS JavaScript API 2.0 и примеры использования
  • conf - конфигурационные файлы
  • lib - необходимые библиотеки
  • tools - инструменты для отладки WCS
  • web - статические страницы веб-интерфейса WCS

Установка в тихом режиме

В некоторых случаях, при автоматизированном развертывании типовых конфигураций сервера при помощи Ansible или другой системы автоматизации, WCS может быть установлен в тихом режиме

./install.sh -silent

В этом случае:

  • не работает определение IP адресов (предполагается, что файл настроек flashphoner.properties и другие настройки будут перезаписаны скриптами автоматизации развертывания)
  • запуск сервиса webcallserver.service настраивается от пользователя root

Особенности установки на различные версии Java

JDK 12 или 14

Необходимо удалить из файла wcs-core.properties следующие настройки

-XX:+UseConcMarkSweepGC
-XX:+PrintGCDateStamps
-XX:+PrintGCDetails

Также необходимо заменить настройку

-Xloggc:/usr/local/FlashphonerWebCallServer/logs/gc-core-

на

-Xlog:gc*:/usr/local/FlashphonerWebCallServer/logs/gc-core-:time

JDK 15

Дополнительно к изменениям настроек в JDK 12 или 14, необходимо удалить из файла wcs-core.properties настройки

-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=70

JDK 16

Дополнительно к изменениям настроек в JDK 12, 14, 15, необходимо добавить в файл wcs-core.properties настройку

--illegal-access=permit

JDK 17 и выше

Дополнительно к изменениям настроек в JDK 12, 14, 15, 16, необходимо удалить из файла wcs-core.properties настройку

--illegal-access=permit

и добавить настройки

--add-exports java.base/sun.security.provider=ALL-UNNAMED
--add-opens java.base/java.lang=ALL-UNNAMED

Получение и активация лицензии

Вы можете приобрести коммерческую лицензию онлайн на странице: http://flashphoner.com/prices. Кроме этого доступна 30-дневная ознакомительная версия, которую можно получить на этой странице: http://flashphoner.com/get_trial/?product=wcs5

Активация через веб-интерфейс

При первом входе в веб-интерфейс WCS по адресу https://yourserver:8444/admin/, где yourserver - имя Вашего сервера, с доступным по умолчанию пользователем admin (пароль admin), отобразится окно с предложением ввести номер лицензии:

Введите номер Вашей лицензии и нажмите Next

Если активация была успешной, отобразится окно ввода учетных параметров.

Активация из командной строки

Воспользуйтесь скриптом активации лицензии:

cd /usr/local/FlashphonerWebCallServer/bin
./activation.sh

Скрипт попросит ввести номер лицензии:

Введите лицензионный ключ чтобы завершить активацию.

Деактивация лицензии

Чтобы активировать эту же лицензию на другом сервере, например в случае переноса WCS на другой сервер, деактивируйте лицензию на старом сервере и активируйте вновь на новом сервере.

Деактивация через веб-интерфейс

Войдите в веб-интерфейс WCS по адресу https://yourserver:8444/admin/, где yourserver - имя Вашего сервера. Нажмите кнопку License. Отобразится страница просмотра лицензионного ключа:

Щелкните по ссылке Deactivate. Лицензия будет деактивирована, отобразится запрос лицензионного ключа:

Деактивация из командной строки

Для деактивации используется скрипт:

./deactivation.sh

Если активация не проходит

Проверьте firewall и убедитесь, что WCS-сервер может установить HTTPS / TCP соединение с сервером активации my.flashphoner.com:443. При недоступности сервера активации, настройте HTTP proxy по инструкции ниже.

Настройка HTTP proxy при недоступности сервера активации

Лицензионные серверы Flashphoner находятся за AWS ELB (Elastic Load Balancer) по адресу my.flashphoner.com. В случае, если ELB (и, соответственно, серверы лицензий) по каким-либо причинам не будет доступен, требуется настроить HTTP Proxy для работы подписок и активации лицензий.

Настройки прокси находятся в файле конфигурации /usr/local/FlashphonerWebCallServer/conf/wcs-core.properties:

# Proxy configuration
-Dhttp.proxyHost=proxy1.flashphoner.com
-Dhttp.proxyPort=3128
-Dhttps.proxyHost=proxy1.flashphoner.com
-Dhttps.proxyPort=3128
-Dhttp.nonProxyHosts=localhost|127.0.0.1|10.*|169.254.169.254

Вы можете указать адрес Вашего прокси-сервера, либо адрес одного из двух прокси-серверов Flashphoner:

proxy1.flashphoner.com
proxy2.flashphoner.com

Warning

При указании параметров настройки прокси кавычки не допускаются! Приведенный ниже пример не будет работать:

-Dhttp.proxyHost="proxy2.flashphoner.com"
-Dhttp.proxyPort="3128"
-Dhttps.proxyHost="proxy2.flashphoner.com"
-Dhttps.proxyPort="3128"
-Dhttp.nonProxyHosts="localhost|127.0.0.1|10.*|169.254.169.254"

Настройка Firewall и NAT

Для корректной работы сервера все порты, перечисленные в таблице в разделе Ядро сервера должны быть открыты для входящего трафика в случае UDP и для установления соединения в случае TCP.

В таблице приведен пример правил NAT для маршрутизации входящего трафика, в случае, когда трафик приходит на внешний IP адрес и должен быть маршрутизирован на сервер, где установлен WCS. В таблице представлен минимальный необходимый набор портов для работы сервера. В зависимости от набора используемых функций и модулей (см. раздел Архитектура), набор правил может быть расширен в соответствии с таблицей в разделе Ядро сервера. Эти же порты должны быть открыты на firewall Linux сервера.

В таблице приведены порты используемые по умолчанию. Вы можете сконфигурировать WCS сервер на использование других портов.

Type Protocol Port Range Source
Custom UDP Rule UDP 30000-33000 0.0.0.0/0
Custom TCP Rule TCP 8081 0.0.0.0/0
Custom TCP Rule TCP 8444 0.0.0.0/0
Custom TCP Rule TCP 8443 0.0.0.0/0
Custom TCP Rule TCP 30000-33000 0.0.0.0/0
Custom TCP Rule TCP 1935 0.0.0.0/0
SSH TCP 22 0.0.0.0/0

SSH доступ на стандартном порту 22 здесь указан только для администрирования самого Linux-сервера. Таким образном минимальный необходимый набор портов - это:

  • 1935 - RTMP
  • 8081 - встроенный веб-сервер WCS, работающий по HTTP
  • 8443 - Secure Websocket
  • 8444 - встроенный веб-сервер WCS, работающий по HTTPS
  • 30000-33000 - SIP, Media, RTSP

Описание настройки SSL сертификатов для Secure Websockets и HTTPS см. в разделе Управление SSL-сертификатами.

Конфигурация IP адресов

Для правильной установки потребуется определить внешний IP адрес вашего сервера и адрес сетевого интерфейса. Скрипт установки попытается определить адрес автоматически, в случае, если это по каким-либо причинам не удалось, скрипт потребует ручного ввода адресов.

Если вы воспользовались рекомендацией в разделе Подготовка к установке и начали с использования сервера со статическим и публичным IP адресом, совпадающим с адресом сетевого интерфейса, то IP вашего сервера можно узнать простой командой

#ifconfig

или

ip a

В этом примере IP - сервера 188.40.69.75. Запишите или скопируйте IP адрес вашего сервера. Он понадобится при установке.

Определение IP адресов в случае размещения за NAT

Часто может потребоваться разместить WCS5 сервер за корпоративным NAT или арендовать сервер в датацентре, который не предоставляет выделенных статических IP-адресов. Хороший пример для такого случая Amazon EC2, где серверы расположены за NAT.

При размещении WCS сервера за NAT, понадобится определить два IP адреса.

  1. Внешний IP адрес или Public IP может не принадлежать WCS серверу, но трафик, идущий на этот внешний IP адрес должен обязательно быть перенаправлен на WCS

  2. IP адрес сетевого интерфейса или Private IP - это реальный адрес, назначенный сетевому интерфейсу. На нем WCS будет открывать сокеты для взаимодействия с сетью

Например, для тестового сервера на Amazon EC2, внешний IP адрес: 54.189.212.111, а адрес сетевого интерфейса: 172.30.21.25. Если ваш сервер находится за NAT по отношению к браузерным клиентам, запишите или скопируйте эти IP адреса. Они понадобятся вам при настройке сервера.

Определение IP адресов в автоматическом и полуавтоматическом режимах

Начиная со сборки 5.2.921, WCS пытается автоматически определить IP адреса при запуске, если они не заданы, либо если сервер стартует в облачном окружении с поддержкой AWS API или Google Cloud API. Если определить IP адреса при запуске не удается, это можно сделать вручную при помощи команды

cd /usr/local/FlashphonerWebCallServer/bin
sudo ./webcallserver set-ip

Эта команда:

  • пытается определить IP адреса автоматически
  • если это не удается, запрашивает дополнительные данные у пользователя
  • записывает результат в файл flashphoner.properties

Рекомендуется использовать эту команду при проблемах определения IP адресов на сервере за NAT.