Добрый день, Уважаемые Хабравчане и Гости портала!

Не так давно у меня возникла необходимость поднять небольшой сервер для ВКС. Рассматривалось не так много вариантов — 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 и встроенный в винду — тяжко работают. придется по геммороится с настройками.

Комментарии (8)


  1. vektory79
    15.05.2019 10:43

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

    На данный момент это дурной совет, т.к. Oracle изменила лицензию, и теперь использовать её сборки бесплатно нельзя совсем.


    Лучше подобрать что-то другое.


    Например Liberica:


    wget -q -O - https://download.bell-sw.com/pki/GPG-KEY-bellsoft | sudo apt-key add -
    echo "deb [arch=amd64] https://apt.bell-sw.com/ stable main" | sudo tee /etc/apt/sources.list.d/bellsoft.list
    sudo apt-get update
    sudo apt-get install bellsoft-java8


    1. OLDest Автор
      15.05.2019 18:12

      спасибо за дополнение. не знал про изменение лицензии


  1. aik
    15.05.2019 18:07

    ВКС

    Воздушно-космических сил?


    1. OLDest Автор
      15.05.2019 18:12

      Видео-конференц-связь


      1. aik
        15.05.2019 18:26

        Не самая понятная аббревиатура.


        1. OLDest Автор
          15.05.2019 19:05

          ну эта аббревиатура появилась задолго до образования воздушно-космических сил :-)


          1. aik
            15.05.2019 20:13

            Не встречал ни разу. В отличие от.


            1. OLDest Автор
              15.05.2019 22:40

              С начала 90-х годов прошлого столетия. В простонародье закрепилось как видеоконференция.