Установка openmeetings 5.0.0-M1. WEB-конференции без Flash

Добрый день, Уважаемые Хабравчане и Гости портала!
Не так давно у меня возникла необходимость поднять небольшой сервер для ВКС. Рассматривалось не так много вариантов — BBB и Openmeetings, т.к. только они по функционалу отвечали:

  1. Бесплатно
  2. Демонстрация рабочего стола, документов и т.д.
  3. Интерактивная работа с пользователями (общая доска, чат и т.д.)
  4. Не требуется установка софта дополнительного для клиентов

Начал я с BBB… ну собственно не срослось… Первое — требование реального железа, т.к. на виртуальном не гарантируют работоспособность; Второе — ресурсоемкость. Да, хорошая картинка и отличный звук, но для моих задач не сопоставимо с потребляемыми ресурсами.
Стал пробовать openmeetings. Как любитель проверенного другими пользователями и стабильных релизов установил последний стабильный релиз 4.0.8 (этот процесс мы тут рассматривать не будем). Все хорошо, кроме того что он на FLASH. Ну а раз так, в хроме отказался работать, в фоксе пошло… но это противоречит пункту 4, т.к. не все пользуют FF и не всем он нравится. Я уже расстроиться успел, как увидел, что версия 5.0.0-M1 заявлена без FLASH! Вот тут все и началось. Скажу сразу, запустить все и сразу у меня не вышло, около 2-х недель, по 1-2 часа в день, ушло на полноценный запуск.
И так, ставил я на ubuntu 18.0.4-LTS.Требования:

  • JRE 8
  • Kurento Media server

Начнем с JRE8. По умолчанию из репозиториев ставится 11, поэтому добавим в репозитории, а после запустим установку нужной нам версии:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

После установки необходимо задать запускаемую версию Java по умолчанию:

sudo apt-get install oracle-java8-set-default

проверяем версию

java -version

должен выдать

java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

теперь осталось задать домашние каталоги.

cat >> /etc/environment <<EOL
JAVA_HOME=/usr/lib/jvm/java-8-oracle
JRE_HOME=/usr/lib/jvm/java-8-oracle/jre
EOL

Для нормальной работы видео/аудио потоков нужен Kurento Media server (KMS). Варианты установок его есть разные, я использовал вариант Docker. Процесс установки и настройки Docker не входит в данную статью, благо интернет полон информации. И так, запускаем KMS

docker run -d --name kms -p 8888:8888 kurento/kurento-media-server:latest

Теперь приступаем к установке сопутствующих компонентов:
MySQL — В ОМ есть встроенная БД, но ее не рекомендуется использовать в боевой версии. Ставим любую удобную Вам версию. Подойдет и из стандартных репозиториев.

sudo apt-get install mysql

для подключения Java к MySQL нужно скачать коннектор и положить его в папку /webapps/openmeetings/WEB-INF/lib/. Настройка подключения MySQL находится в файле /webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml
ImageMagick — Нужен для общей доски, демонстрации документов и изображений. тоже берем из стандартных репов.

sudo apt-get install imagemagick

GhostScript — если мы хотим работать с pdf, без него никуда. Репозитории так же стандартные.
OpenOffice или Libre Office — для вывода всех форматов офисных документов…
FFMpeg и SoX — для возможности записи видеоконференций в разных форматах. Версия должна быть 10.3 или новее.

sudo apt install ffmpeg
sudo apt-get install sox

Ну теперь мы готовы скачивать собственно сам openmeetings.
https://openmeetings.apache.org/downloads.html
Скачали, распаковали в нужную нам папку.
Вроде бы все готово для запуска (особенно если следовать официальной инструкции), но там вот такого вида ссылка https://localhost:5443/openmeetings/install. Если обратить внимание на https и порт 5443, мы понимаем что ничего у нас не выйдет. Конечно можно запустить скрипт ./bin/startup.sh и сервер запуститься. На него можно будет даже зайти и настроить по ссылке http://localhost:5080/openmeetings/install, но вот только нормальной работы не будет. Сейчас все браузеры, а хром так особенно, борются за безопасность пользователя и работу с камерой и микрофоном разрешают только по https. Через FF удастся зайти и разрешить работу с камерой, но это опять таки привязывает нас к одному браузеру. Поэтому переходим к установке и настройке SSL. Можно сделать сертификат за денежку, а можно и самостоятельно, работать от этого хуже ОМ не станет.
Версия ОМ 5.0.0-М1 базируется на TomCat, а не Apache. Конфигурация Web-сервера находится в папке ./conf/. Как создать самоподписанный сертификат и установить его в TomCate я уже описывал.
Ну вот, https настроено, теперь заходим в папку ./bin и запускаем statup.sh и после запуска сервера переходим к веб-инсталлеру https://localhost:5443/openmeetings/install. Тут уже все просто и интуитивно понятно КРОМЕ раздела «Конвертеры». Тут надо прописать пути к нашим дополнительно установленным пакетам.

  1. ImageMagick Путь /usr/bin
  2. FFMPEG Путь /usr/bin
  3. SoX Путь /usr/bin
  4. OpenOffice/LibreOffice Путь для jodconverter /usr/lib/libreoffice (я ставил либру)

Далее настройки опять не сложные.
После первого входа в систему ОБЯЗАТЕЛЬНО переходим «Администрирование»->«Конфигурация», находим пункт path.ffmpeg и удаляем записанное в него значение «/usr/bin». Сохраняем настройки.
Ну собственно наш ВКС сервер настроен и готов к работе.
после перезагрузки сервера необходимо запускать

  1. базу СУБД (если не используете встроенный Derby )
  2. KMS
  3. скрипт statup.sh

Можно вручную но можно и создать скрипты автозапуска.
Для вывода «наружу» в фаерволе необходимо разрешить порты 5443,5080,8888
Приятного пользования!
P.S. Если камера не передает изображение и вы не видите никого кроме себя, необходимо в брандмаурере добавить в исключения домен и порт. Если стоит каспер, то он нормально отрабатывает и все пропускает (как ни удивительно!), а вот Avast и встроенный в винду — тяжко работают. придется по геммороится с настройками.

Источник: habr.com