[[openmeetings:installguide]]

Руководство по установке Apache OpenMeetings

За основу взят этот источник

В связи с выходом версии 3.1.1 дополняю инструкцией для этой версии.
(К сожалению в версии 3.1.1 «поломали» прокрутку «доски» в комнате. То есть при масштабировании документа на доске, невозможно его прокручивать вверх/вниз/влево/вправо. Замечание для разработчиков создано, но пока не решено. Кому важна эта функция, не спешите обновляться до 3.1.1)

за основу взят этот источник Отличия в командах будут добавлены строками с пометкой :?:

Это мой вольный перевод.

Это руководство основано для установки на чистую ubuntu-14.04.1-desktop-amd64.iso

(проверено также для: ubuntu-14.04.3-server-amd64.iso и ubuntu-14.04.3-server-i386.iso есть некоторые различия для 64-х и 32-х битных систем. Например путь к pdf2swf)

Это протестировано с положительным результатом. Будем использовать бинарную версию OpenMeetings 3.0.7 stable (то есть не будем ее компилировать.) Все шаг за шагом.

Последнее обновление: 21.09.2015

Стартуем…

Первым делом обновляем нашу систему:

sudo apt-get update
sudo apt-get upgrade

Red5-OM для работы требуется Java. Добавляем репозиторий и устанавливаем:

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

Если вдруг команда add-apt-repository не найдена

Будет открыто окно. В нем жмем Enter

рис.1

Последует новый вопрос. Отвечаем YesEnter

Если у вас установлена не одна версия Java, пожалуйста выберите Oracle Java 1.8:

sudo update-alternatives --config java

Вы можете посмотреть активную версию java:

java -version

Для автоматической конфигурации окружения Java 8:

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

LibreOffice необходим для конвертирования загружаемых файлов в формат pdf

Ubuntu desktop дистрибутив уже имеет установленный LibreOffice, и в нем не требуется его установка.

Установка требуется только для дистрибутива Ubuntu server

sudo add-apt-repository ppa:libreoffice/ppa
sudo apt-get update
sudo apt-get install libreoffice

Для сведения, LibreOffice устанавливается в папку /usr/lib/libreoffice.

sudo apt-get install imagemagick gdebi libgif4 libjpeg62 synaptic zlib1g-dev liboil0.3 unzip make build-essential

обратите внимание: zlib1g-dev - пятый символ - это цифра один. Я здесь ошибся и долго не мог понять в чем дело.

Sox работает со звуком. Будем компилировать.

cd /opt
wget http://sourceforge.net/projects/sox/files/sox/14.4.2/sox-14.4.2.tar.gz
tar xzvf sox-14.4.2.tar.gz
cd /opt/sox-14.4.2
./configure
make && make install

Swftools нужен для ковертации загружаемых файлов в swf.

Не используйте последнюю версию файла swftools. В ней нет pdf2swf

Для 64 битной системы:

cd /opt
wget https://launchpad.net/ella-renaissance/ella-renaissance-beta/beta1/+download/swftools_0.9.1-1_amd64.deb
dpkg -i swftools_0.9.1-1_amd64.deb

Тут на виртуальном сервере хостера меня поджидала засада. Требовались дополнительные пакеты, которых не было.

При попытке доустановить эти пакеты, предлагалось обновление swftools до последней версии, которая нам как раз и не нужна. Поэтому сначала заблокируем swftools от обновления:

echo "swftools hold" | sudo dpkg --set-selections

затем, как рекомендуется, пробуем доустановить пакеты:

apt-get -f install

И только после этого ставим нужную версию swftools

dpkg -i swftools_0.9.1-1_amd64.deb

Проверяем установленную версию pdf2swf

pdf2swf --version

на выходе видим: pdf2swf - part of swftools 0.9.1 - то что нам и надо

:!: путь к swftools будет такой: /usr/local/bin

Чтобы заблокировать версию:

echo "swftools hold" | sudo dpkg --set-selections

Для 32 битной системы:

cd /opt
wget http://www.tataranovich.com/debian/pool/squeeze/main/s/swftools/swftools_0.9.1-1_i386.deb
dpkg -i swftools_0.9.1-1_i386.deb

:!: путь к swftools будет: /usr/bin

Для блокировки версии:

echo "swftools hold" | sudo dpkg --set-selections

Для надежности, желательно заблокировать версию еще и через synaptic.

Запускаем synaptic, в окне поиска вводим swftools, выбираем наш пакет и через меню пакет (Package) ставим Заблокировать версию (Lock version).

OpenMeetings обязательно требуется Adobe Flash Player для входа в комнаты.

sudo apt-get install flashplugin-installer

Jodconverter требуется для конвертирования загружаемых файлов.

cd /opt
wget http://jodconverter.googlecode.com/files/jodconverter-core-3.0-beta-4-dist.zip
unzip jodconverter-core-3.0-beta-4-dist.zip

:!: Проекты на googlecode.com вскоре закроются 1), так-что это со временем может перестать работать. Поэтому, на всякий случай, я сохранил этот файл тут: jodconverter-core-3.0-beta-4-dist.zip

Ffmpeg требуется для работы с видео.

Эта компиляция основана на: https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

Устанавливаем библиотеки (В оригинале сказано, что вся команда должна быть набрана в одной строке с пробелами между аргументами, я разбил ее на несколько строк, для удобства восприятия, используя обратный слэш в конце строк. Так что можно скопировать следующий код в командную строку и выполнить)

sudo apt-get -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev \
libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev \
libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texi2html zlib1g-dev nasm libx264-dev cmake \
mercurial libopus-dev

Имеется готовый скрипт, который загружает, компилирует и устанавливает ffmpeg.

Его последняя обновленная версия от 20-09-2015.


:?: Его последняя обновленная версия от 3-04-2016


Он протестирован и правильно работает с синхронизацией звука и видео. Mp4 и Ogg тоже работает.

Пожалуйста, загрузите скрипт. Внутри zip-архива есть инструкция по его запуску:

readme.txt
To compile ffmpeg for Apache OpenMeetings on Ubuntu and Debian.
 
1)
Concede execution permission:
 
chmod +x /path_to_file/ffmpeg.sh
 
2)
To run the script:
 
/path_to_file/./ffmpeg.sh
 
Based on:  https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu  
 
...to which I have made several modifications to work properly
Apache OpenMeetings.
https://cwiki.apache.org/confluence/download/attachments/27838216/ffmpeg_script_compile_Ubuntu_Debian.zip?version=3&modificationDate=1443530338096&api=v2

:?:

https://cwiki.apache.org/confluence/download/attachments/27838216/ffmpeg_script_compile_Ubuntu_Debian.zip?version=7&modificationDate=1459700906471&api=v2

… и после его выполнения, можете переходить к шагу **8)**

Но если вы предпочитаете «копипастить», я не советую торопиться исполнять sudo gedit /opt/ffmpeg.sh

… можете копировать и вставлять отсюда:

Старая версия (нажмите чтобы раскрыть)


:?:

Новая версия (нажмите чтобы раскрыть)


Делаем скрипт исполняемым:

chmod +x /opt/ffmpeg.sh

Теперь убедитесь, что вы подключены к интернету, запустите и подождите несколько минут пока производится компиляция:

cd /opt
./ffmpeg.sh

Все скомпилированные файлы будут установлены сюда: /usr/local/bin

MariaDB это сервер базы данных (ответвление от MySQL https://ru.wikipedia.org/wiki/MariaDB ). Установим его (версию 5.5 или 10):

sudo apt-get install mariadb-server

Будет открыто окно с запросом пароля для суперпользователя (root) MariaDB. Введите его → Ok → Enter Последует запрос повторить пароль:

запускаем MariaDB:

/etc/init.d/mysql start

:!: Важно! Необходимо правильно настроить кодировку MySQL. При попытке установить openmeetings «вчистую» наткнулся на неприятный момент, когда неожиданно все русские имена пользователей и тексты в письмах(сообщениях) превращались в вопросительные знаки. Про настройку кодировки расписал тут: Настройка локали в MySQL

Создаем базу данных с пользователем владельцем для OpenMeetings:

mysql -u root -p

… будет запрошен root пароль который вы только что придумали, введите его…

MariaDB [(none)]> CREATE DATABASE open307 DEFAULT CHARACTER SET 'utf8';

Этой командой мы создали базу данных с именем open307, но вы можете выбрать другое имя на ваш выбор.

Теперь создадим пользователя со всеми правами для базы open307

(Все в одну строку с пробелами)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON open307.* TO 'openmeetings'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
  • open307 - имя базы данных
  • openmeetings - имя пользователя базы данных
  • 123456 - пароль пользователя openmeetings

Вы можете изменить эти данные… но не забудьте их!

MariaDB [(none)]> quit

Мы установим OpenMeetings в папку /opt/red5307. Вся последующая информация будет базироваться на этой директории.

Делаем установку в папку red5307

Создаем папку:

mkdir /opt/red5307
cd /opt/red5307
wget http://apache.rediris.es/openmeetings/3.0.7/bin/apache-openmeetings-3.0.7.zip
unzip apache-openmeetings-3.0.7.zip

Сейчас ссылка на версию 3.0.7 изменилась, вот так должно работать:

wget http://archive.apache.org/dist/openmeetings/3.0.7/bin/apache-openmeetings-3.0.7.zip

… удалим загруженный архив

rm -f apache-openmeetings-3.0.7.zip

Делаем nobody владельцем папки OpenMeetings:

chown -R nobody /opt/red5307

Загружаем и устанавливаем коннектор между OpenMeetings и MariaDB:

cd /opt
wget http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.36/mysql-connector-java-5.1.36.jar

… и копируем его туда где он должен быть:

cp /opt/mysql-connector-java-5.1.36.jar /opt/red5307/webapps/openmeetings/WEB-INF/lib

Теперь конфигурируем OpenMeetings для использования базы данных в MariaDB^

cd /opt/red5307/webapps/openmeetings/WEB-INF/classes/META-INF
mv persistence.xml persistence.xml-ori
mv mysql_persistence.xml persistence.xml

Редактируем файл настроек нашим «любимым» редактором (здесь это gedit):

gedit /opt/red5307/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

… исправляем строчку 78

, Url=jdbc:mysql://localhost:3306/openmeetings

… на

, Url=jdbc:mysql://localhost:3306/open307

… это имя базы данных которую мы инициализировали.

… исправляем также строчку 83

, Username=root

… на

, Username=openmeetings

… это пользователь наше базы данных

… правим строку 84

, Password="/>

… на

, Password=123456" />

… это был пароль пользователя «openmeetings» который мы придумали для базы данных.

Если вы выбрали другие названия и пароль для пользователя и базы данных, соответственно подставьте здесь нужные значения.

Защищаем от несанкционированного доступа файл настроек:

chmod 640 /opt/red5307/webapps/openmeetings/WEB-INF/classes/META-INF/persistence.xml

Пожалуйста, загрузите скрипт запуска red5:

cd /opt

(далее весь адрес в одну строку без пробелов)

wget https://cwiki.apache.org/confluence/download/attachments/27838216/red5?version=3&modificationDate=1443596054913&api=v2

… когда загрузка завершится нажмите Ctrl+c на клавиатуре.

Переименуем загруженный файл в red5:

mv red5?version=2 red5

… и скопируем его сюда:

cp red5 /etc/init.d/
chown root:root /etc/init.d/red5

… сделаем его выполняемым:

chmod 755 /etc/init.d/red5

Готовим скрипт для автоматического запуска при старте компьютера:

cd /etc/init.d
update-rc.d red5 start 70 2 3 4 5 . stop 20 0 1 6 .

Замечание: указанный скрипт настроен на то, что OpenMeetings установлен в папку /opt/red5307

Если вы устанавливали в другую папку, необходимо откорректировать скрипт. Надо найти в нем строку (9-я строка когда писалась эта статья):

RED5_HOME=/opt/red5307

и исправить здесь путь на правильный.

На всякий случай выложу этот скрипт здесь:

red5
#!/bin/bash
# For RedHat and cousins:
# chkconfig: 2345 85 85
# description: Red5 flash streaming server
# processname: red5
# Created By: Sohail Riaz (sohaileo@gmail.com)
 
PROG=red5
RED5_HOME=/opt/red5307
DAEMON=$RED5_HOME/$PROG.sh
PIDFILE=/var/run/$PROG.pid
 
# Source function library
# . /etc/rc.d/init.d/functions
 
[ -r /etc/sysconfig/red5 ] && . /etc/sysconfig/red5
 
RETVAL=0
 
case "$1" in
	start)
#	echo -n $"Starting $PROG: "
	cd $RED5_HOME
        start-stop-daemon --start -c nobody --pidfile $PIDFILE 
	$DAEMON >/dev/null 2>/dev/null &
	RETVAL=$?
	if [ $RETVAL -eq 0 ]; then
		echo $! > $PIDFILE
#		touch /var/lock/subsys/$PROG
	fi
#	[ $RETVAL -eq 0 ] && success $"$PROG startup" || failure $"$PROG startup"
	echo
	;;
	stop)
        start-stop-daemon --stop --quiet --pidfile $PIDFILE \
                --name java
        rm -f $PIDFILE
	echo
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$PROG
	;;
	restart)
	$0 stop
	$0 start
	;;
	status)
	status $PROG -p $PIDFILE
	RETVAL=$?
	;;
	*)
	echo $"Usage: $0 {start|stop|restart|status}"
	RETVAL=1
esac
 
exit $RETVAL

Замечание. В последних версиях убунту при попытке установить данный скрипт выводятся ошибки вида missing LSB tags and overrides
путем «гугления» выяснилось, что нужно добавить в начале скрипта после строк комментариев об авторе блок описания, то есть начало скрипта должно быть таким:

#!/bin/bash
# For RedHat and cousins:
# chkconfig: 2345 85 85
# description: Red5 flash streaming server
# processname: red5
# Created By: Sohail Riaz (sohaileo@gmail.com)

### BEGIN INIT INFO
# Provides:	red5
# Required-Start:
# Required-Stop:
# Default-Start:	2 3 4 5
# Default-Stop:	0 1 6
# Short-Description: red5 web server for openmeetings
### END INIT INFO

После добавления блока BEGIN INIT INFO скрипт устанавливается простой командой:

update-rc.d red5 defaults

Перезагружаем MariaDB:

/etc/init.d/mysql restart

… и теперь запускаем red5-OpenMeetings:

/etc/init.d/red5 start

в консоли появятся две строки:

start-stop-daemon: --start needs --exec or --startas
Try 'start-stop-daemon --help' for more information

… и ничего не происходит. Не волнуйтесь, так и должно быть.

… подождите не менее секунд 10, затем в браузере зайдите на страницу: http://localhost:5080/openmeetings/install

… Должна открыться такая страничка (если не такая, значит сервер еще не полностью запустился): … жмите на кнопку Next (внизу страницы) и вы увидите настройку конфигурации базы данных: … жмите Next еще раз: … здесь, чтобы в дальнейшем правильно все работало обязательно необходимо внести следующую информацию:

  • Username = omadmin … этот пользователь будет администратором (можете выбрать удобное для вас имя)
  • Userpass = password … это пароль пользователя-администратора
  • Email = mail@mail.ru … почтовый адрес администратора
  • User Time Zone = Регион, где расположен сервер.
  • Organisations(Domains) Name = example-openmeetings … групповое имя, на ваш выбор.

После заполнения всех полей жмем Finish

… подождите несколько секунд, пока инициализируется база данных.

Когда все завершится, об этом сообщит следующее окно: … кликаем на Enter the Application и увидим вход в OpenMeetings: Вводим имя пользователя и пароль, которые выбрали при установке и

В следующий раз, для входа в OpenMeetings используйте этот адрес: http://localhost:5080/openmeetings

Не забудте открыть на сервере следующие три порта:

5080 1935 8088

они требуются для доступа к OpenMeetings с других компьютеров.

После того, как вы зашли в OpenMeetings перейдите по пунктам:

Administration → Configuration (В русском интерфейсе Администрирование → Конфигурация)

где проверьте и поправьте параметры для конвертации файлов, звука и видео: Параметры должны быть такими:

swftools_path Value(Значение)= /usr/local/bin 2)

imagemagick_path Value(Значение)= /usr/bin

sox_path Value(Значение)= /usr/local/bin

ffmpeg_path Value(Значение)= /usr/local/bin

office.path Value(Значение)= /usr/lib/libreoffice

jod.path Value(Значение)= /opt/jodconverter-core-3.0-beta-4/lib

Кроме того, если Вы хотите использовать отправку почтовых сообщения для подтверждения регистрации или для приглашений в конференции, следует настроить параметры отправки почты.
Для этого есть следующие параметры:

smtp_server

smtp_port

email_username

email_userpass

для соединения по обычному (незащищенному) протоколу smtp_port обычно равер 25.

Однако, сейчас многие почтовые серверы (например mail.ru, yandex.ru) не допускают подключения по незащищенному протоколу. Поэтому, для таких серверов нужно посмотреть параметры подключения почтовых программ (обычно там импользуется другой порт - не равный 25) и еще установить следующие параметры:

mail.smtp.starttls.enable = 1

и иногда требуется установить

oauth2.ignore_bad_ssl = yes


1)
The code has been moved to GitHub in the hope that somebody else will fork and maintain it
2)
в 32-битной системе оказалось, что надо /usr/bin
  • /var/www/wiki.avmas.ru/data/pages/openmeetings/installguide.txt
  • Последние изменения: 2017/10/08 22:29
  • — alex