Установка и настройка 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
На этом, вроде бы, всё. Если найду какие-то недоделки и баги, то внесу правки в эту статью.
Комментарии
Комментариев пока нет
Оставить комментарий