From: Beolin <beolin@gmail.com.>
Newsgroups: email
Date: Mon, 16 Mar 2009 17:02:14 +0000 (UTC)
Subject: Настройка Jabber сервера Openfire в Gentoo Linux
Сегодня просматривал списки jabber серверов, альтернативных ejabberd, и
наткнулся на Openfire - бывший лидер jabber.org, написанный на
java. Некоторые описание побудили меня на собственное испытание, ну и за
одно - написание этой статьи.
Итак, что имеем:
Сервер на Gentoo Linux, что с недавнего времени испытал на себе
множество различных проверок и издевательств со стороны слишком
любопытного админа.
Сеть малого офиса (порядка 20 машин, включая слинкованные через openvpn.
Радость, что portage содержит в себе Openfire, и судя по описаниям -
отлично поддерживается, как на x86, так и на amd64 (в моём случае)
платформах.
Жаление поднять этого зверька :)
# emerge -pv openfire
показались мне не обнадёживающими, ибо единственным доступным USE флагом
был "doc", в то время, как ejabberd имел множество возможностей - транспорты
irc, icq, etc.
Эх,
# emerge openfire
Зависимостей он потащил не мало, и за это время я немного пошарился по
http://www.igniterealtime.org. Хоть по скриншотам и не судят, но даже
самая малость меня воодушевила.
Итак, http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/install-guide.html
привела меня к разделу DB, и в частности - поддержкой работы с MySQL.
Лично мне эта идея по душе.
# mysql -p
<you password>
mysql > create database jabber; # Создаём DB "jabber" и пользователя jbadmin, c полными правами.
mysql > GRANT ALL ON jabber.* TO 'jbadmin'@'localhost' IDENTIFIED BY 'секретный пасс';
mysql > quit;
Теперь немного описания. Для организации транспортов в другие службы
обмена сообщениями, создание мейл-рассылкой и пр. в Openfire существую
так называемые "плагины". Все плагины доступны по
адресу http://www.igniterealtime.org/projects/openfire/plugins.jsp К примеру,
чтобы кинуть транспорты icq, aim, msn, yahho и т.д. Нам потребуется "IM
Gateway". Достать его можно по ссылке по предыдущей ссылке. Для
прикрутки плагина, его нужно всего лишь закинуть в директорию, где лежит
сам Openfire. Для обновления плагина, ситуация аналогична - вопрос
решается простым замещением, и рестартом сервиса.
Продолжим настройку. Импортируем БД в mysql.
# mkdir -p /tmp/src/openfire
# cd /tmp/src/openfire
# tar xvvf /usr/portage/distfiles/openfire_src_*
# find -name 'openfire_mysql.sql'
...
./database/openfire_mysql.sql
# cat ./database/openfire_mysql.sql | mysql -u jbadmin -p jabber
<секретный пароль пользователя jbadmin>
Ну вот и всё, БД импортирована.
Во время установки Openfire кое что добавили в env.d, по сему, имхо,
вовсе не помешает
# env-update && source /etc/profile
Переходим в каталог, если компилинг закончен:
# cd /opt/openfire/conf
# cp openfire.xml.sample openfire.xml
# /etc/init.d/openfire start
Теперь заходим на http://localhost:9090, проходим пару этапов, отметить
лишь хочу настройку на MySQL: