ITСooky

IT-рецепты съедобные и не очень!

Установка на FreeBSD 9.2 видео-конференции Openmeetings 3.0.1

дата 20.05.2014

И не просто видео-конференция но и доска где можно рисовать, писать, делиться своим экраном, записывать все видео-аудио экрана и совместно просматривать документы PDF, WORD, я почему то думал что их и редактировать можно будет, но нет!(короче это SkyPe, только локальный, тормозной и тяжкий в эксплуатации)

openmeetings_itcooky_001

Буду ставить по минимуму сначала. Openmеetings сделан через жаву, поэтому и установка у него через жаву. Сразу скажу что видео не работает от клиентов (сами то они видят других) в Ubuntu(может из-за реализации Flash), не работает в Win XP(может не дождался загрузки), но работает в Windows 7-8, все функции на 100% работает в IE, в FireFox например не работает показать свой экран и тд!

По минимуму но Java все равно нужна и Mysql!

Mysql уже стоит добавляем пользователя
mysql -p
CREATE USER 'openmeetings'@'localhost' IDENTIFIED BY 'password'; GRANT USAGE ON *.* TO 'openmeetings'@'localhost' IDENTIFIED BY 'password'; CREATE DATABASE IF NOT EXISTS `openmeetings`; GRANT ALL PRIVILEGES ON `openmeetings`.* TO 'openmeetings'@'localhost';
exit;

Установка Java
В дожавовые времена, ну на чем люди писали, ну на PHP, ну на еще чем нибудь — большая проблема была смена версии PHP там разработчики возьмут и поменяют или уберут название команд, за то она была мультиплатформенная — на всех одинаковая. И появилась Жава и к проблемам с версиями появилась проблемы с платформами. Вот тут надо найти ту версию жавы, которая заработает с Openmeetings, разработчики просют SUN/Oracle JRE 6 с версией linux-sun-jre16 установка не запускается чуть менее чем никак, с версией openjdk6-jre, которые разрабы просют не использовать, запускается установка но в конце ругается на ошибки, которые исправляются использованием SUN/Oracle JRE 6 ээээээ… мыыыэээ…

Скажу честно, не знаю как но заработало. На просторах интернета нашел описнаие подобного случая, чувак тоже ставил разные версии не работало, а потом ничего неделал и через ночь заработало! Я пару раз ставил стирал все версии linux-sun-jre linux-sun-jdk, они вообще не подавали нужных признаков жизни так что установил openjdk6-jre, чтобы уж с ней бадаться как с самой живой, а она бац РАБОТАЕТ!!!

Идем в
cd /usr/ports/java/openjdk6-jre
make
make install

Это версия Жава в отличии от остальных левых не требует что-то скачать с сайта Oracle и положить в distfiles!

Жава просить разделы на диске, примонтриуем их раз
mount -t fdescfs fdesc /dev/fd
mount -t procfs proc /proc

И пропишем в fstab чтобы сами при загрузке монтировались
vi /etc/fstab
добавляем
fdesc /dev/fd fdescfs rw 0 0
proc /proc procfs rw 0 0

Проверяем, запускаем
java -version
показывает версию
openjdk version "1.6.0_32"
OpenJDK Runtime Environment (build 1.6.0_32-b31)
OpenJDK Client VM (build 23.25-b01, mixed mode)

Устанавливаем Openmeetings
mkdir /usr/local/om
cd /usr/local/om

Идем сюда и ищем последнею версию openmeetings.apache.org/downloads.html
fetch http://apache-mirror.rbc.ru/pub/apache/openmeetings/3.0.1/bin/apache-openmeetings-3.0.1.tar.gz
tar zxvf apache-openmeetings-3.0.1.tar.gz

Чтобы работала база MySQL надо вот еще что
В my.cnf надо вставить default-character-set=utf8, но мне это не помогло.
Залез через phpmyadmin и в Переменные где было latin1 поставил utf8 и далее где было latin1_swedish_ci поставил utf8_general_ci перезагрузил MySQL загрузка OM прошла без ошибок с базой, хотя многие значения сомеврнулись в latin1.

Скачиваем JConnector из www.mysql.com/downloads/connector/j/ и кладем его в /usr/local/om/webapps/openmeetings/WEB-INF/lib/ — без регистрации скачать не дадут, нормальной ссылки на скачку не дадут, так что на другом ПК скачивайте и скидывайте.

cd /usr/local/om/webapps/openmeetings/WEB-INF/lib/
tar zxvf mysql-connector-java-5.1.30.tar.gz

вытаскиваем файл mysql-connector-java-5.1.30-bin.jar остальное удаляем
cp /usr/local/om/webapps/openmeetings/WEB-INF/lib/mysql-connector-java-5.1.30/mysql-connector-java-5.1.30-bin.jar /usr/local/om/webapps/openmeetings/WEB-INF/lib/

Идем
cd /usr/local/om/webapps/openmeetings/WEB-INF/classes/META-INF/
копируем файл старый в старый
cp persistence.xml old_persistence.xml
другой в новый
rm persistence.xml
cp mysql_persistence.xml persistence.xml

тут правим
, Username=root
, Password=" />

на
, Username=openmeetings
, Password=password_db" />

Продолжаем установку Openmeetings
На сайте предлагается очень простой способ установки openmeetings.apache.org/installation.html

Можно запустить установку через admin.sh, указав параметры, в которых не думаю что мне удалось разобраться…
sh ./admin.sh -i -v -tz Europe/Msk -email your.email@your.emai.com -group Users -user admin --smtp-server localhost --db-type mysql --db-user openmeetings --db-pass NeReALn0sLOzniY --db-name openmeetings --db-host localhost --skip-default-rooms --password 123qweQWE

…поэтому буду запускать, как я понял, жававый веб сервер, в котором запускается веб установка
cd /usr/local/om/
sh ./red5.sh

(именно так и ни как и на че)

Или работает или получаем сомн ошибок на конце которых
Exception org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'red5.core' defined in class path resource [red5.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.context.support.FileSystemXmlApplicationContext]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'rtmpTransport' defined in class path resource [red5-core.xml]: Invocation of init method failed; nested exception is org.apache.mina.core.RuntimeIoException: Failed to create a new instance of org.apache.mina.transport.socket.nio.NioProcessor:null

Мне повезло у меня уже такой ошибки нет, засохла сама по себе, не вынесла множественных переустановок жав!
Запускаем все таки
cd /usr/local/om/
sh ./red5.sh

Окно сессии с запушенной этой командой не закрываем, соединения не разрываем, а то все выключится!!!
Сидим ждем смотрим на вывод пока не промелькнет(эт не обязательно)

##################################################
# Openmeetings is up #
# 3.0.1-RELEASE 1587248 14-April-2014 #
# and ready to use #
##################################################

Это конечно не гарантия что OpenMeetings действительной заработал — через жаву же сделано! Может придется пару раз перезапустить! Если реально заработает то начнет откликаться по адресу:
http://ваш_айпи_сервера:5080/openmeetings/install

Первый заход думает выдает ошибку нет какого-то языкового файла
Openmeetings_-_2014-05-12_11.43.56

Опять идем тудаже
http://ваш_айпи_сервера:5080/openmeetings/install
Видим уже страницу с нормальной установкой, не закрываем SSH сессию с запушенным red5.sh
Openmeetings_-_2014-05-12_11.42.39

Кстати после ошибки при установки, кроме ошибки номер ноль(первое фото), имеет смысл вырубить red5 и запустить снова установку. Для вырубания подойдут любые подручные средства [CTRL]+C или закрыть окно сессии SSH.

Жмем в низу Вперед, тут заполняем по желанию
Openmeetings_-_2014-05-12_11.48.02

Следующая страница тут ничего не заполняю потом можно настроить
Openmeetings_-_2014-05-12_11.48.22

В след странице не знаю что настраивать пусть будет по умолчанию
Openmeetings_-_2014-05-12_11.50.05

Openmeetings_-_2014-05-12_11.50.43

Последня страница — оптимистичная
Openmeetings_-_2014-05-12_11.51.56

Установка на этот раз решила завершиться успешно!

Теперь идем на
http://ваш_сервера_айпи:5080/openmeetings/
OpenMeetings_-_2014-05-15_19.25.13

Все настройки которые были при установки можно править в Administration > Configuration
OpenMeetings_-_2014-05-15_19.27.22

Заходим в комнаты Rooms там и свершается общение!

Как запускать Openmeetings?
Ну это как бы проблема, потому что через жаву сделано!
Вручную по SSH (вручную с клавы сервера — не рассматривается никак) не закрывая ссесия НИКОГДА какбэ неудобно:

cd /usr/local/om/
sh ./red5.sh

Логичный выход
nohup sh /usr/local/om/red5.sh
Не работает!
Но запустить его не единственная проблема, проблема еще и остановить! Если вы не по SSH(который можно закрыть и все отрубится) то надо как бы запускать скрип:
sh /usr/local/om/red5-shutdown.sh
Который выдает фееричное
exec: /usr/local/om/red5.sh: not found
Прописать в crontab чтобы запускалось по загрузке тоже не получается!

Эмммм…. я конечно дико извиняюсь… но… короче я не нашел, (те что нашел не работают) способа автоматом запускать без висения в SSH сесcи OpenMeetings — потому что он через жаву сделан!!!

UPD: Будем запускать через в на expect
Устанавливаем
cd /usr/ports/lang/expect
make
make install

Простенький скрипт для запуска котрому не надо висеть в сессии
vi /root/oms_start
вставляем

#!/usr/local/bin/expect -f
set timeout 1000
cd /usr/local/om
system sh ./red5.sh
exit

Это можно запустить только через крон при запуске (ну или ставьте ближайшею минуту 24 * * * *)
@reboot /usr/local/bin/expect -f /root/oms >/dev/null 2>&1

Закрываем Opeenmeetings так, надо узнать PID его процесса
ps aux | grep -v "grep" | grep red5
получаем

root     root     8232   0.0 23.7 1007672 243916 ??  I     4:34PM   0:39.42 /usr/local/openjdk6-jre/bin/java -Dpython.home=lib -Dred5.root=/usr/local/om -Dlogback.Co...и так далее

Значим убиваем 8232
kill 8232

Прикручиваем остальное
Вот этого, что выше, достаточно, для работы — будет видео трансляция, будет сайт, будет рисование — больше ничего не будет!

Для начала установим программу, которая будет работать с картинками
cd /usr/ports/graphics/ImageMagick
make
make install

Всё по умолчанию, но убираем где будет галку X11 support.
Всё, путь не прописываем в настройках и так работает.

Чтобы можно было импортировать PDF ставим до или после установки
cd /usr/ports/graphics/swftools
make

Тут отмечаем PDF support (дальше остальное как есть)
make install
В настройках во время установки или после в Configuration прописываем
swftools_path /usr/local/bin
В этой папке должен был появится pdf2swf
Вот и всё в комнате разговора жмем Files добавляем туда PDF он конвертится (ругается если не стоит ImageMagick) и появляется в окне, внизу есть настройки его можно увеличить и листать — это все что можно — то есть можно просматривать PDF в виде картинок во время разговора
Снимок экрана от 2014-05-17 15:47:09

Чтобы можно было импортировать файлы .doc, .docx, .odp, .xls, .xlsx, .ppt, .pptx …и другие, которые может откркывать OpenOffice он же LibreOffice
Ставим LibreOffice
cd /usr/ports/editors/libreoffice
make

все по умолчанию, ничего не трогаем а то не установится
ругается нехватаета cairo с поддержкой X11
cd /usr/ports/graphics/cairo
make rmconfig
make install clean
make
make reinstall

(тут перебрал все команды просто удалить недостаточно надо еще почистить и переустановить)
Возвращаемся к установке офиса, у меня это заняло день — два, правда приходилось решать ошибки — но все равно долго до жути!
cd /usr/ports/editors/libreoffice
make
make install

Теперь устанавлиаем JODconverter скачиваем его из jodconverter.googlecode.com
cd /usr
fetch http://jodconverter.googlecode.com/files/jodconverter-core-3.0-beta-4-dist.zip
tar xzvf jodconverter-core-3.0-beta-4-dist.zip

Больше с ним ничего не надо делать

В Openmeetings до установки или после прописываем в настройках
jod.path /usr/jodconverter-core-3.0-beta-4/lib
ищем где
find / -name soffice.bin
ответ
/usr/local/lib/libreoffice/program/soffice.bin
значит в настройках пишем путь
office.path /usr/local/lib/libreoffice

Добавляем в комнате документ, его конвертация занимает 3-5 минут, 1 страница docx — но это у меня на VM, на живом железе конечно быстрее будет, ну должен же быстрее. Удаляя файл знайте он не удаляется из /usr/local/om/webapps/openmeetings/upload/files и остается на сервере

Для возможности видео с аудио записи всего происходящего на вашем всем экране
Устанавливаем
cd /usr/ports/multimedia/ffmpeg
make

Тут главное поставить
[X] Lame
[X] FDK_AAC

Обрывается с ошибкой говорит нет freetype2 хотя он есть, нууу переустановим
cd /usr/ports/print/freetype2
make deinstall
make clean install

Возвращаемся к устаноке
cd /usr/ports/multimedia/ffmpeg
make
make install

Еще устанавливаем и тоже отмечаем Lame
cd /usr/ports/audio/sox
make
make install

В комнате выбираем Actions > Share/Record screen
openmeetings_itcooky_002

Запуститься новое окно, только оно через жаву, и с ним умеет работать вроде как только IE, FireFox не смог. И жава не даст её запустить скажет You security settings have blocked a self-signed aplication from run надо сходить в Windows 8 в панель Control Panel > Programs > Java и там разобраться с безопасностью!
openmeetings_itcooky_003

Start — старт, Stop — стоп. Все видео кладется на сервер. Далее идем в Records и там справа от видео в списке значок жмем и смотрим на что ругается.
Например
Shared object «libfreetype.so.9» not found, required by «libfontconfig.so.1»
Дикий, неправильный, порочный способ решения, но работающий, у меня был 6 не было 9 — не знаю что это
cp /usr/local/lib/libfreetype.so.6 /usr/local/lib/libfreetype.so.9

Но в основном там ошибки с кодыками надо перестанавливать FFMPEG с поддержкой нужных кодыков. Связано это с тем что… чтобы перегнать в одно что-то нужное(AVI) перед этим перегоняет в кучу не нужного!

Если все нормально появляется превью видео, если частично нормально, можно скачать видео но превью не появится, если совсем плохо ничего не даст.
openmeetings_itcooky_004

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

/usr/local/om/webapps/openmeetings/streams/hibernate
Файл one_second.wav оставляем не знаю кто его и за чем туда положил
/usr/local/om/webapps/openmeetings/streams/7
У вас может быть другая цифра

  • Иван Петрович Картавый

    Запуск. Создаем файл запуска, например: om-start.sh в директории /usr/local/om/
    !#/bin/sh
    sleep 15;
    cd /usr/local/om/
    sh /usr/local/om/red5.sh

    Выставляем права chmod 755 /usr/local/om/om-start.sh
    И добавляем в cron
    @reboot root /usr/local/om/om-start.sh

    И НЕ НУЖЕН НИКАКОЙ expect.
    Или можно сделать правильный скрипт запуска в rc.d и прописать запуск в rc.conf