Настройка openmeetings в Debian 7.4. Добавляем репозитории в /etc/apt/sources.list
# основное зеркало debian
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://ftp.debian.org/debian/ squeeze-updates main contrib non-free
deb http://ftp.debian.org/debian/ squeeze-proposed-updates main contrib non-free
# зеркало от яндекс
deb http://mirror.yandex.ru/debian/ squeeze main contrib non-free
deb http://mirror.yandex.ru/debian/ squeeze-updates main contrib non-free
deb http://mirror.yandex.ru/debian/ squeeze-proposed-updates main contrib non-free
# дополнительные зеркала
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb http://www.debian-multimedia.org squeeze main non-free
deb http://backports.debian.org/debian-backports squeeze-backports main
# дополнительные зеркала от яндекс
deb http://mirror.yandex.ru/debian-security/ squeeze/updates main contrib non-free
deb http://mirror.yandex.ru/debian-multimedia squeeze main non-free
deb http://mirror.yandex.ru/debian-backports squeeze-backports main
далее обновляемся и устанавливаем ключи подписи для репозитория http://www.debian-multimedia.org/
aptitude update && aptitude -y install debian-multimedia-keyring && aptitude update
Оттуда будем устанавливать более менее свежие lame и ffmpeg, необходимые для конвертации в openmeetings
Ставим всякую мелочевку:
apt-get install mc screen bash-completion dnsutils ntpdate
Устанавливаем mysql, веб-администратор apache
aptitude -y install mysql-server phpmyadmin
Редактируем конфиг mysql, добавляем в /etc/mysql/my.conf
[mysqld]
skip-character-set-client-handshake
collation-server = utf8_unicode_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
[client]
default-character-set = utf8
[mysql]
default-character-set = utf8
Перезапускаем mysql
/etc/init.d/mysql restart
А после, запустим вот этот скрипт /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 и доступ к ней.
Далее создаем необходимые базы:
mysql -p
CREATE DATABASE `openmeetings`;
GRANT ALL PRIVILEGES ON openmeetings.* TO 'openmeetings'@'localhost' IDENTIFIED BY 'my_password' WITH GRANT OPTION;
этим мы создаем базу openmeetings, пользователя openmeetings с паролем my_password
Устанавливаем "безголовый" openoffice, java6, imagemagic, ghostscript, ffmeg, lame, mscorefonts и тд
aptitude install texi2html unzip sun-java6-bin imagemagick ghostscript openoffice.org-core openoffice.org-base openoffice.org-writer openoffice.org-calc openoffice.org-impress openoffice.org-draw openoffice.org-math openoffice.org-filter-mobiledev openoffice.org-filter-binfilter ttf-mscorefonts-installer pstoedit libpaper-utils ttf-dejavu sox ffmpeg lame libart-2.0-2 sun-java6-bin sun-java6-jdk sun-java6-jre
Для нормальной работы openmeetengs нужен swftools. Тот, который доступен в репозитории не полон. Придется собрать руками. Устанавливаем swftools:
wget http://www.swftools.org/swftools-0.9.2.tar.gz
apt-get install libfreetype6 libfreetype6-dev libjpeg62 libjpeg62-dev libt1-dev \
libungif4-dev libavifile-0.7-dev libavifile-0.7c2
./configure && make clean && make && make install
Выкачиваем OpenMeetings 2.2
mkdir /opt/red5
cd /opt/red5
wget http://www.apache.org/dyn/closer.cgi/openmeetings/2.2.0/bin/...
unzip apache-openmeetings-2.2.0.zip
После чего, находим файл /opt/red5/webapps/openmeetings/WEB-INF/classes/META-INF/mysql_persistence.xml. В нём нас интересует вот этот блок:
, MaxActive=100
, MaxWait=10000
, TestOnBorrow=true
, poolPreparedStatements=true
, Username=root
, Password="/>
правим
, Username=openmeetings
, Password=my_password"/>
После окончания редактирования файла, нужно переименовать mysql_persistence.xml в persistence.xml (заменить существующий persistence.xml)
создаем скрипты запуска red5, openoffice
cd /etc/init.d/
В /etc/init.d/red5 копируем
#! /bin/sh
# red5 initscript
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Red5 flash streaming server"
NAME=red5
DAEMON_HOME=/opt/red5
DAEMON=$DAEMON_HOME/$NAME.sh
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
# Read config file if it is present.
if [ -r /etc/default/$NAME ]
then
. /etc/default/$NAME
fi
# Function that starts the daemon/service.
d_start() {
start-stop-daemon --start --pidfile $PIDFILE --chdir $DAEMON_HOME --background --make-pidfile --exec $DAEMON
}
# Function that stops the daemon/service.
d_stop() {
start-stop-daemon --stop --quiet --pidfile $PIDFILE --name java
rm -f $PIDFILE
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;
restart|force-reload)
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 1
d_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
Сохраняемся, выходим и создадим скрипт запуска для soffice-headless
В /etc/init.d/soffice-headless копируем:
#!/bin/bash
# openoffice.org headless server script
set -e
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DESC="OpenOffice.org headless server"
NAME=soffice-headless
DAEMON_HOME=/usr/lib/libreoffice/program
DAEMON=$DAEMON_HOME/$NAME.sh
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
# Read config file if it is present.
if [ -r /etc/default/$NAME ]
then
. /etc/default/$NAME
fi
# Function that starts the daemon/service.
d_start() {
start-stop-daemon --start --pidfile "${PIDFILE}" --chdir "${DAEMON_HOME}" --background --make-pidfile --exec $DAEMON
}
# Function that stops the daemon/service.
d_stop() {
start-stop-daemon --stop --quiet --pidfile "${PIDFILE}" --name java
rm -f "${PIDFILE}"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
;;
restart|force-reload)
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 1
d_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
Сохраняемся, выходим, делаем скрипты исполняемыми и устанавливаем их в автозапуск
chmod 755 /etc/init.d/red5 && update-rc.d red5 defaults && chmod 755 /etc/init.d/soffice-headless && update-rc.d soffice-headless defaults
Для запуска openoffice создадим еще один скрипт:
В /usr/lib/libreoffice/program/soffice-headless.sh копируем:
#!/bin/bash
# openoffice.org headless server script
#
unset DISPLAY
/usr/lib/libreoffice/program/soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -nologo -headless -nofirststartwizard
Сохраняемся, выходим и делаем его исполняемым
chmod 755 /usr/lib/libreoffice/program/soffice-headless.sh
Проверяем работоспособность скрипта "безголового"; офиса. Запускаем его:
/etc/init.d/soffice-headless
вбиваем:
netstat -an | grep 8100
Должны увидеть:
tcp 0 0 127.0.0.1:8100 0.0.0.0:* LISTEN
Далее, скачиваем 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/red5/webapps/openmeetings/WEB-INF/lib.
Дальше надо скачать 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/lib/libreoffice /opt/openoffice.org3
Переходим в каталог /opt/red5 и выполняем команду:
cd /opt/red5
./red5.sh
Не нужно дожидаться её завершения. И вообще, лучше эту команду выполнить в отдельно открытой консоли. Эта команда запустит openmeeting. Его окончательную установку необходимо сделать уже через web-интерфейс. Открываем браузер, переходим по адресу:
http://your_ip:5080/openmeetings/install
На страничке инсталяции обратим внимание на поле "JOD Path". В нём надо указать путь к директории lib нашего джобконвертера: /opt/red5/webapps/openmeetings/jodcoverter/lib. В поля имя и пароль вбивается имя и пароль администратора системы. В поля imagemagick_path, sox_path, ffmpeg_path пишем /usr/bin. Поле swftools_path - /usr/local/bin. Остальные поля на своё усмотрение можно заполнить, после чего жмём внизу кнопку "INSTALL". Система призадумается на некоторое время. Через некоторое время (у меня заняло около 5 минут) система сообщит что все ОК и можно начинать работу.
Есть один нюанс: при изменении данных пользователя нужно каждый раз ОБЯЗАТЕЛЬНО вбивать пароль. Иначе пользователь окажется без пароля и вход в систему станет невозможен.
На этом все, можно перезагрузить систему и начинать пользоваться. Удачи.
Примечание: Сервер имеет статический IP. Сразу оговорюсь: ссылки на установку пакетов дергал из других статей (указаны ниже) по этому можно наблюдать некоторые несоответствия с версиями LibreOffice. В debian 7.4 уже был установлен LibreOffice (на него и настроены скрипты в статье). Если кому то захочется разобраться - разбирайтесь и не устанавливайте лишнего. Система сама не стала ставить OpenOffice при наличии установленного LibreOffice. Начнем:
Статьи которыми я пользовался для написания:
* http://www.openkazan.info/http:/%252Fmy-ubuntu-land.blo...
* http://technotrance.su/index.php/moi-stati/linux-fedora/item...
URL:
Обсуждается: http://www.opennet.me/tips/info/2826.shtml