Документация по ОС FreeBSD Четверг, 25.04.2024, 03:27
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Multimedia

Установка Openmeetings 1.9.1 на FreeBSD 9, шаг за шагом [2012]
Возникла необходимость организации видеоконференций, причем основным условием было отсутствие на стороне клиента необходимости установки дополнительного ПО. После коротких поисков в сети было найдено приемлемое решение Openmeetings.
 На данный момент актуальная версия openmeetings_1_9_1_r4707, её и будем ставить.
 
Как понятно из заголовка ставить будем на FreeBSD 9, в сети есть несколько статей по установке но все они или не полны или относятся к устаревшим версиям. Система свеже установлена, первичная настройка произведена (сеть, обновление портов и т.п.) — эту часть расписывать не буду в сети мануалов хватает. Переходим собственно к установке, для начала надо установить весь необходимый дополнительный софт.
 Начинаем с установки openoffice.org-3, лирическое отступление, последовательность установки подобрана по ходу десятка экспериментов и я даю её в том виде в котором она вызывает меньше всего проблем.
 Здесь мы конфигурируем ОпенОфис и его зависимости затем пытаемся скачать все необходимые исходники.
 Процесс сборки офиса совсем не быстрый и этим хинтом мы экономим себе время. 

valg# cd /usr/ports/editors/openoffice.org-3
valg# make config-recursive fetch-recursive

 На скачивании исходников для openJDK все валиться с ошибкой и просьбой скачать часть архивов руками — скачиваем кладем в 

/usr/ports/distfile

запускаем по новой но уже без конфигурирования

valg# cd /usr/ports/editors/openoffice.org-3
valg# make fetch-recursive install clean

 На этом моменте у нас появляется куча свободного времени — на двухпроцессорном сервере офис собирался около 12 часов.
 После установки проверяем запуск офиса в режиме демона

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

 Далее ставим и настраиваем MYSQL

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

 В файле 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 

 Тут есть два пути, первый — ничего больше не настраивать, а в дальнейшем в настройках openmeetings указать пароль root для MYSQL и openmeetings сам создаст необходимые ему базы и таблицы, довольно спорный с точки зрения безопасности путь.
 И второй — создать все самим. На всякий случай для него команды я тоже приведу

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 
valg# cd /usr/ports/audio/sox 
valg# make install clean
 
Описанное выше в общих чертах есть в вики по Openmeetings, сейчас переходим к тому чего в вики нет.
 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

 Далее файле /usr/local/etc/jfbterm.conf ищем строчку:

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 (живет здесь) рассказываю о еще двух моментах.
 Первый, для конвертации документов там используется jodconverter-core-3.0-beta-4 живет здесь и лежать содержимое архива по ссылке выше должно в

/usr/local/opt/red5/webapps/openmeetings/jodconverter-core-3.0-beta-4

 Второе вылазит из первого, те-же жестко прописанные в коде jodconverter пути, а именно, он ищет опенофис в каталоге 

/opt/openoffice.org3 

решение простое создаем каталог /opt в корневой директории и делаем симлинк

valg# ln -s /usr/local/openoffice.org-3.3.0/openoffice.org3 /opt
 
Ну вроде все необходимое установили, подводные камни разобрали, переходим собственно к установке Openmeetings.
 Идем сюда и забираем архив. Содержимое архива, а именно каталог 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

 Далее правим настройки Openmeetings

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 

 В файле persistence.xml прописываем пароль рута от MYSQL (я описываю простой вариант). В поле «Password» вместо ROOTPASSWORD вписываем пароль который установили руту в MYSQL.

<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                *:*

 Если они есть переходим к следующему этапу, если нет то ждем еще пару минут red5 не очень быстро запускается, если ничего так и не появилось — идем читать логи и гуглить.
 В своем любимом браузере набираем 

http://IP_сервера:5080/openmeetings/install

  и попадаем на страничку первоначальной настройки. Соглашаемся приступить к Step 1 и дальше просто заполняем необходимые поля, по окончании нажимаем Install внизу странички и ждем несколько минут, пока не появиться приглашение войти в программу — можно кликнуть по ссылке, а можно просто в браузере набрать 

http://IP_сервера:5080/openmeetings/

 Для работы серверу требуються TCP порты 1935, 5080, 8088.
 Работает Openmeetings вполне стабильно, нареканий пока особо не было. Из крупных минусов не хочет воспринимать документы с расширением .TXT как это вылечить способа я не нашел. С версией 2.0.0 таких проблем нет, зато есть куча других :)
 Собственно все, на этом установка закончена. Остается решить проблему с автозапуском всего этого хозяйства при перезагрузке и придумать как это все запускать от не привелегированного пользователя. Поскольку у нас сервер запускается по требованию эти проблемы не сильно актуальны, но решать их все таки надо. Буду благодарен если кто подскажет решение. 

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


Источник: http://sysadminblog.ru/freebsd/2012/04/05/ustanovka-openmeetings-191-na-freebsd-9-shag-za-shagom.html
Категория: Multimedia | Добавил: oleg (05.04.2012) | Автор: agrloki
Просмотров: 1949 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024