Содержание

Дата написания: декабрь 2017 г.
Автор: Graf

OpenMeetings - Создание видеоконференций




Дано:
Slackware64-14.2 без всяких ДЕ и все, что с ними связанно.
IP-адрес сервера на котором все устанавливается: 192.168.10.211

Slackbuilds
java.tar.gz
imagemagick.tar.gz
ghostscript.tar.gz
pulseaudio.tar.gz
openmeetings.tar.gz

Собираем и устанавливаем необходимое

java

Переходим на сайт Oracle выбираем загрузку JDK, соглашаемся с лицензией и скачиваем архив для нашей платформы.
В моем случае, на сегодня - это jdk-9.0.1_linux-x64_bin.tar.gz. Скопируем этот файл в /tmp/jdk переименовав его в формат понятный SlackBuild'у.

# mv ./jdk-9.0.1_linux-x64_bin.tar.gz /tmp/jdk-9.0.1-linux-x64.tar.gz

Запустим java.SlackBuild с загрузочного DVD Slackware64 из extra/java или после распаковки файла java.tar.gz

# ./java.SlackBuild /tmp/jdk-9.0.1-linux-x64.tar.gz
…
…
Slackware package /tmp/jdk-9.0.1-x86_64-1.txz created.

установим пакет

# upgradepkg --install-new /tmp/jdk-9.0.1-x86_64-1.txz
…
…
Package jdk-9.0.1-x86_64-1.txz installed.

После установки JDK, лучше повторно войти в систему или перезагрузиться.

imagemagick

Скачаем imagemagick.SlackBuild и все, что прилагается к нему или распакуем архив imagemagick.tar.gz, далее скачаем последний ImageMagick (на сегодня это 6.9.9-26) в каталог со slackbuld'ом,

# wget http://www.imagemagick.org/download/ImageMagick-6.9.9-26.tar.gz

внутри imagemagick.SlackBuild меняем номера версий, присваиваем бит запуска (если нет), запускаем сборку и устанавливаем пакет.

# chmod +x ./imagemagick.SlackBuild
# ./imagemagick.SlackBuild
...
...
Slackware package /tmp/imagemagick-6.9.9_26-x86_64-1.txz created.

# upgradepkg --install-new /tmp/imagemagick-6.9.9_26-x86_64-1.txz
...
...
Package imagemagick-6.9.9_26-x86_64-1.txz installed.

ghostscript

Обычно, он уже установлен в системе, поэтому мы его просто обновим.
Скачаем ghostscript.SlackBuild и все, что прилагается к нему или распакуем архив ghostscript.tar.gz, далее скачаем последний ghostscript (на сегодня это 9.22) в каталог со slackbuld'ом,

# wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs922/ghostscript-9.22.tar.gz

ghostscript.SlackBuild присваиваем бит запуска (если нет), запускаем и устанавливаем пакет.

# chmod +x ./ghostscript.SlackBuild
#  ./ghostscript.SlackBuild
...
...
Slackware package /tmp/ghostscript-9.22-x86_64-2.txz created.

# upgradepkg --install-new /tmp/ghostscript-9.22-x86_64-2.txz
...
...
Package ghostscript-9.19-x86_64-2 upgraded with new package /tmp/ghostscript-9.22-x86_64-2.txz.

libreoffice

Возьмем готовые пакеты libreoffice от Alien и установим их.

# wget http://www.slackware.com/~alien/slackbuilds/libreoffice/pkg64/14.2/libreoffice-5.4.3-x86_64-1alien.txz
# wget http://www.slackware.com/~alien/slackbuilds/libreoffice/pkg64/14.2/libreoffice-dict-ru-5.4.3-x86_64-1alien.txz
# wget http://www.slackware.com/~alien/slackbuilds/libreoffice/pkg64/14.2/libreoffice-l10n-ru-5.4.3-x86_64-1alien.txz
# upgradepkg --install-new ./libreoffice-5.4.3-x86_64-1alien.txz ./libreoffice-dict-ru-5.4.3-x86_64-1alien.txz ./libreoffice-l10n-ru-5.4.3-x86_64-1alien.txz

Можно установить их при помощи sboopkg, изменив язык пакетов на ru. Хотя, для OpenMeetings последние 2 пакета не особо-то и нужны, но пусть будут. :)

pulseaudio

Обычно, пакет pulseaudio уже установлен в системе. Если «нет», то его всё равно нужно поставить, так как он необходим для сборки ffmpeg.

Создадим пользователя и группу pulse.

# groupadd -g 216 pulse
# useradd -u 216 -g pulse -d /var/run/pulse -m pulse

Скачаем pulseaudio.SlackBuild и все, что прилагается к нему или распакуем архив pulseaudio.tar.gz. Далее, скачаем последний pulseaudio (на сегодня это 11.1) в каталог со slackbuld'ом. Запустим сборку и по окончании установим собранный пакет.

# wget https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-11.1.tar.xz
# chmod +x ./pulseaudio.SlackBuild
# ./pulseaudio.SlackBuild
...
...
Slackware package /tmp/pulseaudio-11.1-x86_64-1.txz created.

# upgradepkg --install-new /tmp/pulseaudio-11.1-x86_64-1.txz.
...
...
Package pulseaudio-9.0-x86_64-1.txz upgraded with new package /tmp/pulseaudio-11.1-x86_64-1.txz.

ffmpeg и sox

ffmpeg будем собирать сами. Можно, конечно, попробовать установить готовый пакет ffmpeg от Alien, но нужную библиотеку (libmp3lame) я там не нашёл, может, плохо искал.
Для сборки ffmpeg необходимо доустановить некоторые пакеты. Соберем и установим их при помощи sbopkg.
Если sbopkg отсутствует, то скачиваем, устанавливаем и синхронизируемся с его репозиторием попутно соглашаясь с созданием отсутствующих каталогов.

# wget https://github.com/sbopkg/sbopkg/releases/download/0.38.1/sbopkg-0.38.1-noarch-1_wsr.tgz
# upgradepkg --install-new ./sbopkg-0.38.1-noarch-1_wsr.tgz
# sbopkg -r
# sbopkg -Bki "libass libgme gsm libilbc libmodplug lame opus rtmpdump speex x264 x265 xvidcore OpenAL libfdk-aac"

Далее, скачаем тарбол со Slackbuild'ом и иже с ним. Распакуем его, и сюда же скачаем последние исходники ffmpeg (на сегодня 3.4.1).

# wget https://slackbuilds.org/slackbuilds/14.2/multimedia/ffmpeg.tar.gz
# tar xf ./ffmpeg.tar.gz
# cd ffmpeg
# wget http://www.ffmpeg.org/releases/ffmpeg-3.4.1.tar.gz

Тут же создадим файл ./ff_build со содержимым:

LAME=yes \
X264=yes \
GSM=yes \
RTMP=yes \
SPEEX=yes \
XVID=yes \
ASS=yes \
OPENAL=yes \
ILBC=yes \
MODPLUG=yes \
OPUS=yes \
X265=yes \
GME=yes \
OPENSSL=yes \
X11GRAB=no \
./ffmpeg.SlackBuild

В SlackBuild'e меняем версию ffmpeg, присваиваем ему и файлу ./ff_build бит запуска и запускаем ./ff_build. После сборки устанавливаем получившийся пакет.

# chmod +x ./ffmpeg.SlackBuild
# chmod +x ./ff_build
# ./ff_build
...
...
Slackware package /tmp/ffmpeg-3.4.1-x86_64-1_SBo.tgz created.

# upgradepkg --install-new /tmp/ffmpeg-3.4.1-x86_64-1_SBo.tgz
...
...
Package ffmpeg-3.4.1-x86_64-1_SBo.tgz installed.

Обычно sox уже установлен в системе, если «нет», то поставьте его с установочного DVD Slackware (slackware64/ap/sox-14.4.2-x86_64-3.txz ) или с любого зеркала в Интернете.

openmeetings

Распакуем архив openmeetings.tar.gz, далее скачаем последний openmeetings в каталог со slackbuld'ом (на сегодня это 4.0.1)

# wget http://apache-mirror.rbc.ru/pub/apache/openmeetings/4.0.1/bin/apache-openmeetings-4.0.1.tar.gz

в apache-openmeetings.SlackBuild меняем номер версии, создаем нужные пользователя и группу, запускаем сборку и устанавливаем.

# groupadd -g 270 openmeetings
# useradd -r -g 270 -u 270 -s /bin/bash -d /opt/apache-openmeetings openmeetings
# chmod +x ./apache-openmeetings.SlackBuild
# ./apache-openmeetings.SlackBuild
...
...
Slackware package /tmp/apache-openmeetings-4.0.1-noarch-1_jgeboski.tgz created.

# upgradepkg --install-new /tmp/apache-openmeetings-4.0.1-noarch-1_jgeboski.tgz
...
...
Package apache-openmeetings-4.0.1-noarch-1_jgeboski.tgz installed.

По умолчанию openmeetings устанавливается в /opt/apache-openmeetings с этим каталогом и будем работать. Путь установки можно поменять в apache-openmeetings.SlackBuild до сборки пакета.

После установки, у меня почему-то скрипт запуска скопировался с нулевым размером (не разбирался почему). Поэтому я его скопировал вручную из каталога со slackbuild'ом и дал права на запуск.
# cp ./rc.apache-openmeetings /etc/rc.d/
# chmod +x /etc/rc.d/rc.apache-openmeetings

MySQL (MariaDB)

Так как MySQL (MariaDB) в Slackware Linux уже установлена, просто настроим ее и дадим пароль пользователю root

# mkdir /var/lib/mysql/mysql
# mysql_install_db
# chown -R mysql.mysql /var/lib/mysql
# chmod +x /etc/rc.d/rc.mysqld
# /etc/rc.d/rc.mysqld start
# mysql -u root
   MariaDB [(none)]> set password for 'root'@'localhost' = password('mypassword');
   Query OK, 0 rows affected (0.00 sec)
 
   MariaDB [(none)]> FLUSH PRIVILEGES;
   Query OK, 0 rows affected (0.00 sec)

   MariaDB [(none)]> \q
   Bye

Войдем под пользователем root, создадим базу om401. Для работы с базой заведём пользователя om с паролем 123456 и дадим ему соответствующие права.

# mysql -u root -p
   Enter password: 

MariaDB [(none)]> CREATE DATABASE om401 DEFAULT CHARACTER SET 'utf8';
Query OK, 1 row affected (0.01 sec)

MariaDB [(none)]> CREATE USER 'om'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.02 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON om401.* TO 'om'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> \q
Bye

В /etc/rc.d/rc.mysqld ставим знак комментария перед skip-network.
Редактируем /etc/my.cnf.d/client.cnf

[client]
port = 3306
default-character-set = utf8

Редактируем /etc/my.cnf.d/server.cnf

[mysqld]
port = 3306
collation-server = utf8_unicode_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8

Скачиваем последний официальный JDBC коннектор для MySQL, он же Connector/J.
На сегодня - это файл mysql-connector-java-5.1.45.tar.gz, из которого файл mysql-connector-java-5.1.45-bin.jar копируем в /opt/apache-openmeetings/webapps/openmeetings/WEB-INF/lib.
Далее, редактируем файл /opt/apache-openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml
Меняем

, Url=jdbc:mysql://localhost:3306/openmeetings?......;characterEncoding=utf-8&connectionCollation=utf8_general_ci......

на

, Url=jdbc:mysql://localhost:3306/om401?......;characterEncoding=utf8&connectionCollation=utf8_unicode_ci.......

и

, Username=
, Password=" />

на

, Username=om
, Password=123456" />

Думаю, понятно, что мы прописали вновь созданную базу (om401), пользователя (om) и его пароль (123456), а так же поправили кодировку для корректного отображения русских букв в названиях. Очень много точек (…….) означает, что там есть ещё много параметров, которые изменять не надо.

До установка openmeetings через web интерфейс

Запускаем openmeetings

# /etc/rc.d/rc.apache-openmeetings start
Starting OpenMeetings...

На любом компьютере переходим в браузере по ссылке http://192.168.10.211:5080/openmeetings/install
И видим такую картинку:



Далее кликаем на ' > '



Заполняем форму нашими данными, проверяем соединение с базой нажав на кнопку «Проверка», дожидаемся появления надписи «Проверка БД прошла успешно» на зелёном фоне и кликаем на ' > '



Создаем пользователя с правами администратора, заполнив соответствующие поля кликаем на ' > '



Включаем-выключаем то, что нужно и настраиваем рассылку почтовых сообщений, где:
Электронная почта рассылки - почтовый адрес, который будет использоваться в сообщениях как отправитель.
SMTP-сервер - адрес или IP почтового сервера.
Порт SMTP-сервера - порт SMTP-сервера. :)
SMTP-пользователь и SMTP-пароль пользователя - имя пользователя и пароль необходимые для аутентификации на SMTP-сервере при отправке сообщений. При работе с локальным SMTP-сервером остаются пустыми. При работе со внешними серверами эти поля обязательны. (спасибо timoshka).
Заполнив соответствующие поля кликаем на ' > '



Заполняем пути до соответствующих программ. Обращаем внимание, что путь до jodconverter равный пути до libreoffice.
Можно по «нажимать» на кнопки «Проверка», если никаких сообщений нет, значит всё верно. Заполнив соответствующие поля кликаем на ' > '



Думаю, лучше оставить как есть, если понадобится изменить тип шифрования или настроить интеграцию с Aserisk, то это можно будет сделать позже в окне администрирования OpenMeetings. Значения полей:
Класс шифрования - тип шифрования. Об использовании типов можно почитать ТУТ.
Разрешить SIP - включить интеграцию red5SIP (по умолчанию - выкл.).
Префикс для комнат SIP - префикс для номера телефона комнат (по умолчанию - 400).
Окружение расширений SIP - контекст расширений Asterisk (по умолчанию - rooms).
Про VOIP интеграцию можно почитать ТУТ.
Заполнив соответствующие поля кликаем на ' > '



Всё готово для установки, кликаем на «Закончить».



Можно перезапустить приложение, как советуют.

# /etc/rc.d/rc.apache-openmeetings restart

Я не перезапускал, а сразу кликнул на «Вход в приложение» и



увидел окно входа в систему.
Входим под пользователем с правами админа и приступаем к администрированию и конфигурированию :)



Для дальнейшего использования входим по ссылке http://192.168.10.211:5080/openmeetings

Для автоматической загрузки openmeetings после рестарта компьютера, можно прописать в /etc/rc.d/rc.local

/etc/rc.d/rc.apache-openmeetings start



Обсуждаем на форуме.