Установка Openmeetings 1.9.1 на FreeBSD 9, шаг за шагом.
Добавлено: 2012-04-05 16:41:31
Возникла необходимость организации видеоконференций, причем основным условием было отсутствие на стороне клиента необходимости установки дополнительного ПО. После коротких поисков в сети было найдено приемлемое решение Openmeetings.
На данный момент актуальная версия openmeetings_1_9_1_r4707, её и будем ставить.
Как понятно из заголовка ставить будем на FreeBSD 9, в сети есть несколько статей по установке но все они или не полны или относятся к устаревшим версиям. Система свеже установлена, первичная настройка произведена (сеть, обновление портов и т.п.) - эту часть расписывать не буду в сети мануалов хватает. Переходим собственно к установке, для начала надо установить весь необходимый дополнительный софт.
Начинаем с установки openoffice.org-3, лирическое отступление, последовательность установки подобрана по ходу десятка экспериментов и я даю её в том виде в котором она вызывает меньше всего проблем.
Здесь мы конфигурируем ОпенОфис и его зависимости затем пытаемся скачать все необходимые исходники.
Процесс сборки офиса совсем не быстрый и этим хинтом мы экономим себе время.
На скачивании исходников для openJDK все валиться с ошибкой и просьбой скачать часть архивов руками - скачиваем кладем в
запускаем по новой но уже без конфигурирования
На этом моменте у нас появляется куча свободного времени - на двухпроцессорном сервере офис собирался около 12 часов.
После установки проверяем запуск офиса в режиме демона
Если все нормально то в выводе
мы увидим нечто подобное
Если же ничего подобного нет, значит что-то пошло не так, и надо гуглить на тему запуска офиса как демона.
Следующий шаг установка JDK16
Здесь нам тоже придется скачать кучу пакетов руками, в общем внимательно читаем что нам пишет вывод make.
Далее ставим и настраиваем MYSQL
В файле my.cnf надо добавить следующие строчки в соответствующие секции
ну и далее стартуем сервер и запускаем постинсталяционный скрипт
Тут есть два пути, первый - ничего больше не настраивать, а в дальнейшем в настройках openmeetings указать пароль root для MYSQL и openmeetings сам создаст необходимые ему базы и таблицы, довольно спорный с точки зрения безопасности путь.
И второй - создать все самим. На всякий случай для него команды я тоже приведу
как-то так.
Теперь ставим все что нужно для конвертирования документов:
Описанное выше в общих чертах есть в вики по Openmeetings, сейчас переходим к тому чего в вики нет.
Openmeetings писался явно под Linux и из-за этого во FreeBSD возникают многочисленные мелкие и не очень проблемы.
Первая проблема - пути, хотя на первый взгляд используются относительные пути и даже местами можно их подредактировать, но только местами часть путей жестко прописана в коде и со структурой каталогов FreeBSD не срастается.
Решение - устанавливать Openmeetings в каталог
Вторая проблема - использование bash, в общем не большая проблема легко решаемая
вместо последней строчки можно сделать симлинк.
Третья проблема - UTF-8! И это уже проблема самой FreeBSD, выражается она в нечитаемости русского текста в конвертированных документах и заголовках приглашений (возможно еще где-то вылазит, но эти два места особенно критичны). Причина в том что конвертирование производиться консольными утилитами, а консоль у нас UTF-8 совсем не умеет, по крайней мере в части русского языка. Решение - использовать костыль в виде jfbterm это программа позволяет в консоли отображать юникод, правда со вводом на русском в консоли все совсем плохо.
Далее файле /usr/local/etc/jfbterm.conf ищем строчку:
меняем на
потом ищем
убираем коментарий со строчки
после этого из консоли
теперь можно работать с юникодом в консоли, это было описание костыля, далее я еще вернусь к этому моменту.
Забегая вперед для тех кто решит экспериментировать с ночными сборками openmeetings 2.0.0 https://builds.apache.org/job/openmeetings/ рассказываю о еще двух моментах.
Первый, для конвертации документов там используется jodconverter-core-3.0-beta-4 http://jodconverter.googlecode.com/file ... 4-dist.zip и лежать содержимое архива по ссылке выше должно в
Второе вылазит из первого, те-же жестко прописанные в коде jodconverter пути, а именно, он ищет опенофис в каталоге решение простое создаем каталог /opt в корневой директории и делаем симлинк
Ну вроде все необходимое установили, подводные камни разобрали, переходим собственно к установке Openmeetings.
Идем http://openmeetings.googlecode.com/file ... _r4707.zip и забираем архив. Содержимое архива, а именно каталог red5 распаковываем в
ниже путь и листинг того что должно получиться
поскольку паковали архив явно под виндой права на исполнение со скриптов послетали, это нужно исправить.
Далее правим настройки Openmeetings
В файле persistence.xml прописываем пароль рута от MYSQL (я описываю простой вариант). В поле "Password" вместо ROOTPASSWORD вписываем пароль который установили руту в MYSQL.
По большому счету на этом все настройки и заканчиваются - можно пробовать запускать.
Для этого логинимся в консоль и делаем следующие:
Выжидаем минуты две и из другой консоли проверяем что у нас получилось.
В выводе должны быть следующие строчки:
Если они есть переходим к следующему этапу, если нет то ждем еще пару минут red5 не очень быстро запускается,если ничего так и не появилось - идем читать логи и гуглить.
В своем любимом браузере набираеми попадаем на страничку первоначальной настройки. Соглашаемся приступить к Step 1 и дальше просто заполняем необходимые поля, по окончании нажимаем Install внизу странички и ждем несколько минут, пока не появиться приглашение войти в программу - можно кликнуть по ссылке, а можно просто в браузере набрать
Собственно все, на этом установка закончена. Остается решить проблему с автозапуском всего этого хозяйства при перезагрузке.
Для работы серверу требуються TCP порты 1935, 5080, 8088.
Работает Openmeetings вполне стабильно, нареканий пока особо не было. Из крупных минусов не хочет воспринимать документы с расширением .TXT как это вылечить способа я не нашел. С версией 2.0.0 таких проблем нет, зато есть куча других
Надеюсь кому нибудь эта сумбурная статья поможет.
На данный момент актуальная версия openmeetings_1_9_1_r4707, её и будем ставить.
Как понятно из заголовка ставить будем на FreeBSD 9, в сети есть несколько статей по установке но все они или не полны или относятся к устаревшим версиям. Система свеже установлена, первичная настройка произведена (сеть, обновление портов и т.п.) - эту часть расписывать не буду в сети мануалов хватает. Переходим собственно к установке, для начала надо установить весь необходимый дополнительный софт.
Начинаем с установки openoffice.org-3, лирическое отступление, последовательность установки подобрана по ходу десятка экспериментов и я даю её в том виде в котором она вызывает меньше всего проблем.
Здесь мы конфигурируем ОпенОфис и его зависимости затем пытаемся скачать все необходимые исходники.
Процесс сборки офиса совсем не быстрый и этим хинтом мы экономим себе время.
Код: Выделить всё
valg# cd /usr/ports/editors/openoffice.org-3
valg# make config-recursive fetch-recursive
Код: Выделить всё
/usr/ports/distfile
запускаем по новой но уже без конфигурирования
Код: Выделить всё
valg# cd /usr/ports/editors/openoffice.org-3
valg# make fetch-recursive install clean
После установки проверяем запуск офиса в режиме демона
Код: Выделить всё
valg# /usr/local/openoffice.org-3.3.0/openoffice.org3/program/soffice.bin -headless -nofirststartwizard -accept="socket,host=localhost,port=8100;urp;StarOffice.Service"
Код: Выделить всё
valg# sockstat
Код: Выделить всё
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
root soffice.bi 53172 5 stream /tmp/OSL_PIPE_0_SingleOfficeIPC_44e0c34da8623980ccf9f8299a62e4fb
root soffice.bi 53172 15 tcp4 127.0.0.1:8100 *:*
root soffice.bi 53172 16 tcp4 *:* *:*
Следующий шаг установка JDK16
Код: Выделить всё
valg# cd /usr/ports/java/jdk16
valg# make fetch-recursive
Здесь нам тоже придется скачать кучу пакетов руками, в общем внимательно читаем что нам пишет вывод make.
Код: Выделить всё
valg# make install clean
Код: Выделить всё
valg# cd /usr/ports/databases/mysql51-server/
valg# make install clean
valg# cd /usr/ports/databases/mysql51-scripts/
valg# make install clean
valg# echo 'mysql_enable="YES"' >> /etc/rc.conf
valg# cp /usr/local/share/mysql/my-medium.cnf /var/db/mysql/my.cnf
Код: Выделить всё
[client]
default-character-set=utf8
[mysqld]
default-character-set = utf8
skip-character-set-client-handshake
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
[mysql]
default-character-set=utf8
Код: Выделить всё
valg# service mysql-server start
valg# /usr/local/bin/mysql_secure_installation
И второй - создать все самим. На всякий случай для него команды я тоже приведу
Код: Выделить всё
valg# mysql -p
mysql> CREATE USER 'openmeetings'@'localhost'
IDENTIFIED BY 'secret_password';
mysql> GRANT USAGE ON *.* TO 'openmeetings'@'localhost'
IDENTIFIED BY 'secret_password';
mysql> CREATE DATABASE IF NOT EXISTS `openmeetings`;
mysql> GRANT ALL PRIVILEGES ON `openmeetings`.*
TO 'openmeetings'@'localhost';
Теперь ставим все что нужно для конвертирования документов:
Код: Выделить всё
valg# cd /usr/ports/graphics/swftools
valg# make install clean
valg# cd /usr/ports/graphics/ImageMagick
valg# make install clean
valg# cd /usr/ports/multimedia/ffmpeg
valg# make install clean
Openmeetings писался явно под Linux и из-за этого во FreeBSD возникают многочисленные мелкие и не очень проблемы.
Первая проблема - пути, хотя на первый взгляд используются относительные пути и даже местами можно их подредактировать, но только местами часть путей жестко прописана в коде и со структурой каталогов FreeBSD не срастается.
Решение - устанавливать Openmeetings в каталог
Код: Выделить всё
/usr/local/opt
Вторая проблема - использование bash, в общем не большая проблема легко решаемая
Код: Выделить всё
valg# cd /usr/ports/shells/bash
valg# make install clean
valg# cp /usr/local/bin/bash /usr/bin/
Третья проблема - UTF-8! И это уже проблема самой FreeBSD, выражается она в нечитаемости русского текста в конвертированных документах и заголовках приглашений (возможно еще где-то вылазит, но эти два места особенно критичны). Причина в том что конвертирование производиться консольными утилитами, а консоль у нас UTF-8 совсем не умеет, по крайней мере в части русского языка. Решение - использовать костыль в виде jfbterm это программа позволяет в консоли отображать юникод, правда со вводом на русском в консоли все совсем плохо.
Код: Выделить всё
valg# cd /usr/ports/sysutils/jfbterm
valg# make -DBATCH install clean
valg# cap_mkdb /usr/share/misc/termcap
Код: Выделить всё
encoding: locale
Код: Выделить всё
encoding: UTF-8
Код: Выделить всё
# UTF-8
#encoding.UTF-8: UTF-8,iso10646.1
Код: Выделить всё
encoding.UTF-8: UTF-8,iso10646.1
Код: Выделить всё
valg# setenv LANG ru_RU.UTF-8
valg# jfbterm
Забегая вперед для тех кто решит экспериментировать с ночными сборками openmeetings 2.0.0 https://builds.apache.org/job/openmeetings/ рассказываю о еще двух моментах.
Первый, для конвертации документов там используется jodconverter-core-3.0-beta-4 http://jodconverter.googlecode.com/file ... 4-dist.zip и лежать содержимое архива по ссылке выше должно в
Код: Выделить всё
/usr/local/opt/red5/webapps/openmeetings/jodconverter-core-3.0-beta-4
Код: Выделить всё
/opt/openoffice.org3
Код: Выделить всё
valg# ln -s /usr/local/openoffice.org-3.3.0/openoffice.org3 /opt
Идем http://openmeetings.googlecode.com/file ... _r4707.zip и забираем архив. Содержимое архива, а именно каталог red5 распаковываем в
Код: Выделить всё
/usr/local/opt
ниже путь и листинг того что должно получиться
Код: Выделить всё
valg# ls /usr/local/opt/red5
boot.jar license.txt red5-debug.bat red5-highperf.sh red5.bat webapps
conf log red5-debug.sh red5-shutdown.bat red5.jar work
lib plugins red5-highperf.bat red5-shutdown.sh red5.sh
Код: Выделить всё
valg# chmod 7444 red5.sh
valg# chmod 7444 red5-shutdown.sh
valg# chmod 7444 red5-debug.sh
valg# chmod 7444 red5-highperf.sh
Код: Выделить всё
valg# cd /usr/local/opt/red5/webapps/openmeetings/WEB-INF/classes/META-INF/
valg# cp persistence.xml persistence.xml.old
valg# cp mysql_persistence.xml persistence.xml
Код: Выделить всё
<property name="openjpa.ConnectionProperties"
value="DriverClassName=com.mysql.jdbc.Driver
, Url=jdbc:mysql://localhost:3306/openmeetings?autoReconnect=true&useUnicode=true&createDatabaseIfNotExist=true&characterEncoding=utf-8&connectionCollation=utf8_general_ci&cachePrepStmts=true&cacheCallableStatements=true&cacheServerConfiguration=true&useLocalSessionState=true&elideSetAutoCommits=true&alwaysSendSetIsolation=false&enableQueryTimeouts=false&prepStmtCacheSize=3000&prepStmtCacheSqlLimit=1000
, MaxActive=100
, MaxWait=10000
, TestOnBorrow=true
, poolPreparedStatements=true
, Username=root
, Password=ROOTPASSWORD"/>
Для этого логинимся в консоль и делаем следующие:
Код: Выделить всё
valg# setenv LANG ru_RU.UTF-8
valg# jfbterm
valg# cd /usr/local/opt/red5
valg# ./red5.sh
Код: Выделить всё
valg# sockstat
Код: Выделить всё
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS
root java 53043 69 tcp4 *:9999 *:*
root java 53043 127 tcp4 *:1935 *:*
root java 53043 272 tcp4 *:5080 *:*
root java 53043 274 tcp4 *:8088 *:*
В своем любимом браузере набираем
Код: Выделить всё
http://IP_сервера:5080/openmeetings/install
Код: Выделить всё
http://IP_сервера:5080/openmeetings/
Для работы серверу требуються TCP порты 1935, 5080, 8088.
Работает Openmeetings вполне стабильно, нареканий пока особо не было. Из крупных минусов не хочет воспринимать документы с расширением .TXT как это вылечить способа я не нашел. С версией 2.0.0 таких проблем нет, зато есть куча других

Надеюсь кому нибудь эта сумбурная статья поможет.