+7 (861)
2900132
info@planetatech.ru
  • Абонентское обслуживание компьютеров
  • Монтаж локальной сети
  • Настройка и обслуживание серверов
  • Внедрение IP телефонии

Установка и настройка Openmeetings 2.0

Как-то, генеральный директор сказал, что хочет видеоконференцию. Само собой, что первым делом я начал интересоваться, существуют ли opensource-решения этого вопроса. Оказалось, что существуют, но немного. И самым продвинутым из них оказался openmeetings.
Наткнувшись вот на эту статью:

http://sysadminblog.ru/blog/freebsd/459.html

я вначале решил настраивать всё на FreeBSD. Но прочитав, что openoffice будет собираться около 12-ти часов, я решил всё настраивать на Федоре. Причём, на самой последней (на этот момент) версии, и не на оригинальной федоре, а на RussianFedora Remix 17, поскольку в ней уже подключены все нужные репозитории, в которых лежат уже готовые собранные пакеты нужных (последних) версий. Благодаря этому, мне не пришлось ничего собирать вручную.

При настройке, также, помогли и вот эти статьи:

http://habrahabr.ru/post/132095
http://code.google.com/p/openmeetings/wiki/InstallationCentOS5

И ещё, очень помогла оригинальна инструкция по установке:

http://incubator.apache.org/openmeetings/installation.html

Итак, RussianFedora Remix 17. При установке я выбрал минимальный набор пакетов — всё буду доустанавливать сам по мере необходимости.

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

yum -y update yum
yum -y update

Но перезагружать не спешу. Сначала сразу установлю пару нужных программ:

yum -y install nano mc

Потом отключаю SeLinux. В файле /etc/selinux/config заменяем строчку:

SELINUX=enforcing

на:

SELINUX=disabled

Вот сейчас можно перезагрузить систему.

Поскольку компьютер с openmeetings — это отдельный сервер, то ему однозначно надо дать статический IP-адрес. Переходим в каталог /etc/sysconfig/network-scripts. В более ранних версиях федоры сетевые интерфейсы назывались eth0, eth1, eth2 и так далее, но в семнадцатой федоре обозначение сетевых карт другое. У себя я обнаружил файл с названием ifcfg-p2p1. Редактирую его:

UUID="43e4eed1-3c78-4301-825b-79f0a0b6d21a"
NM_CONTROLLED="yes"
HWADDR="08:00:27:B6:6F:64"
BOOTPROTO="none"
DEVICE="p2p1"
ONBOOT="yes"
IPADDR=192.168.0.20
NETMASK=255.255.255.0
GATEWAY=192.168.0.1

Также, в файл /etc/resolve.conf добавляю строчку:

nameserver 192.168.0.1

Ивыполняю команду:

chattr +i /etc/resolv.conf

чтоб настройки DNS после перезагрузки не слетели. После настройки сетки временно отключим фаервол, чтобы он пока не мешался:

service iptables stop
systemctl disable iptables.service

Далее, нам надо установить и настроить MySQL. Ставим:

yum -y install mysql mysql-server

После его установки, надо настроить, чтобы в MySQL умолчательной кодировкой была UTF-8. Находим файл /etc/my.cnf и приводим его вот к такому виду:

[mysqld]
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under different user or group,
# customize your systemd unit file for mysqld according to the
# instructions in http://fedoraproject.org/wiki/Systemd
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
skip-character-set-client-handshake
collation-server = utf8_unicode_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set = utf8

[mysql]
default-character-set = utf8

Строчки, которые я добавил, выделены зелёным.

Кто-то скажет, а зачем вообще нужен MySQL, если в последних версиях OpenMeetings существует своя встроенная база данных? Ответ тут:

http://incubator.apache.org/openmeetings/installation.html

Цитирую: Для использования в продакшине следует рассмотреть возможность использования MySQL, Postgres, или например IBM DB2 , или Oracle.

Так что вот... Смеюсь Далее, запустим mysqld:

service mysqld start

А после, запустим вот этот скрипт /usr/bin/mysql_secure_installation. Он будет задавать вопросы. Отвечаем так:

Enter current password for root (enter for none): жмём энтер, т.к. пароль пароль суперпользователя на mysql у нас пока пустой
Set root password? [Y/n] y
New password: вводим пароль суперпользователя на mysql
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

С помощью этого скрипта мы выполнили следующие действия: задали пароль для суперпользователя root, так как по умолчанию для него не установлен пароль; удалили анонимного пользователя, который создаётся только для тестовых целей; запретили пользователю root входить удалённо — теперь он сможет заходить только с localhost; удалили тестовую БД test и доступ к ней.

Не забудем включить демон mysqld в автозапуск:

systemctl enable mysqld.service

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

yum -y groupinstall 'Office/Productivity'
yum -y install libreoffice-headless

LibreOffice должен запускться в режиме демона при старте системы. Для этого создаём файл /etc/rc.d/rc.local вот с таким содержимым:

#!/bin/sh
soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -nologo -headless -nofirststartwizard &

Делаем этот файл исполняемым:

chmod 755 /etc/rc.d/rc.local

Затем перезагружаем систему и после её загрузки вводим команду:

netstat -anut

Если в её выводе, среди всех строчек, наблюдаем такую:

tcp 0 0 127.0.0.1:8100 0.0.0.0:* LISTEN

то значит всё в порядке.

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

yum -y install freetype fontconfig java libtiff libjpeg giflib libpaper xml-commons-apis libpng libxml2 fftw3 cairo flac wavpack libsndfile libmad yasm ghostscript lame swftools ImageMagick ffmpeg sox

Это то, о чём я говорил вначале. Если бы не готовые пакеты в RFRemix-17, то некоторые из этих пакетов пришлось бы вручную собирать.

Теперь загружаем последнюю версию openmeetings отсюда:

http://incubator.apache.org/openmeetings/downloads.html

Всё содержимое скачанного zip-архива распаковываем в каталог /opt/openmeetings.

Теперь, читаем о том, как настроить openmeetings на использование mysql:

http://incubator.apache.org/openmeetings/MySQLConfig.html

Для начала, создадим пустую базу для этого:

mysql -p
CREATE DATABASE `openmeetings`;
GRANT ALL PRIVILEGES ON openmeetings.* TO 'openmeetings'@'localhost' IDENTIFIED BY 'my_password' WITH GRANT OPTION;

Далее, скачиваем jConnector от сюда:

http://www.mysql.com/downloads/connector/j/

Он нужен openmeetings для подключения к базе mysql. Распаковываем содержимое скачанного архива mysql-connector-java-5.1.22.zip (на момент написания статьи). В нём нас интересует лишь файл mysql-connector-java-5.1.22-bin.jar. Его надо поместить в каталог /opt/openmeetings/webapps/openmeetings/WEB-INF/lib.

После чего, находим файл /opt/openmeetings/webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml. В нём нас интересует вот этот блок:

                                        , Url=jdbc:mysql://localhost:3306/openmeetings?autoReconnect=true&useUnicode=true&create...
                                        , MaxActive=100
                                        , MaxWait=10000
                                        , TestOnBorrow=true
                                        , poolPreparedStatements=true
                                        , Username=root
                                        , Password="/>

Собственно говоря, надо тут изменить лишь две строчки: логин и пароль к базе openmeetings, которую мы создали. Поэтому последние две строчки из этого блока и правим:

                                        , Username=openmeetings
                                        , Password=your_password"/>

И обратите внимание на символ «"» в конце строчки пароля — он и должен там быть. Я вначале из-за своей невнимательности убрал эту кавычку — сие было фатальной моей ошибкой В рот мне ноги

После окончания редактирования файла, нужно переименовать mysql_persistence.xml в persistence.xml. При этом, оригинальный persistence.xml, который лежит в этой же папке, переименуйте во что-нибудь другое.

Идём дальше. А дальше надо скачать JODConverter:

http://code.google.com/p/jodconverter/downloads/list

JODConverter нужен для конвертирования офисных файлов в pdf для отображения на доске. Содержимое архива jodconverter-core-3.0-beta-4-dist.zip (на момент написания статьи) копируем в каталог /opt/openmeetings/webapps/openmeetings/jodcoverter.

Далее, есть ещё одна тонкость: в коде jodconverter жестко прописаны пути, и он будет искать опенофис в каталоге/opt/openoffice.org3. Поэтому, чтобы он таки его мог увидеть, делаем вот такую символическую ссылку:

ln -s /usr/lib64/libreoffice /opt/openoffice.org3

На этом все приготовления закончены. Переходим в каталог /opt/openmeetings и делаем команду:

./red5.sh

Не нужно дожидаться её завершения. И вообще, лучше эту команду выполнить в отдельно открытой консоли. Эта команда запустит openmeeting. Его окончательную установку необходимо сделать уже через web-интерфейс. Переходим по адресу:

http://192.168.0.20:5080/openmeetings/install

На страничке инсталяции обратим внимание на поле «JOD Path». В нём надо указать путь к папке lib нашего джобконвертера:/opt/openmeetings/webapps/openmeetings/jodcoverter/lib. Остальные поля на своё усмотрение можно заполнить, после чего жмём внизу кнопку «INSTALL». Система призадумается на некоторое время. Ждём.

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

http://192.168.0.20:5080/openmeetings

Однако нам ещё надо включить обратно фаервол и настроить, чтобы openmeetings автоматически стартовал при запуске операционной системы.

Для работы программе требуются TCP порты 1935, 5080 и 8088. В конфиге /etc/sysconfig/iptables в нужных местах добавляем вот такие строчки:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 1935 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8088 -j ACCEPT

Затем снова добавляем iptables в автозагрузку и запускаем его:

systemctl enable iptables.service
service iptables start

Ну, а чтоб openmeetings стартовал при запуске системы, то создадим скриптик /etc/init.d/openmeetings и наполним его вот таким содержимым:

#!/bin/bash
### BEGIN INIT INFO
# Provides: openmeetings
# chkconfig: - 99 24
# Short-Description: starting openmeetings
### END INIT INFO

/bin/echo «Starting openmeetings»
cd /opt/openmeetings
./red5.sh

Сохраним и сделаем его исполняемым и включим в автозапуск:

chmod +x /etc/init.d/openmeetings
chkconfig openmeetings on

На этом, вроде бы, всё. Если найду какие-то недоделки и баги, то внесу правки в эту статью.

Комментарии

Комментариев пока нет

Оставить комментарий