Добавление jabber-транспорта J2J к jabber-серверу на базе ejabberd

Вы используете AdBlock. Этот сайт существует за счёт доходов от рекламы. Мы будем благодарны если вы отключите AdBlock на страницах нашего сайта.

()

Мы уже писали про добавление ICQ-транспорта к jabber-серверу на базе ejabberd, однако, jabber-транспорты не заканчиваются на транспорте для протокола ICQ, есть и другие, не менее интересные, среди них - J2J, который позволяет подключить к имеющийся учётной записи jabber ещё одну, имеет поддержку GMail, автоответчик, импорт ростера и другие интересные функции.

Далее будет показано, как добавить J2J-транспорт к jabber-серверу на базе ejabberd и работающего под управлением Ubuntu Server 9.04.

Для начала установим необходимые пакеты:

apt-get install subversion mysql-server python-twisted python-mysqldb

Затем получим последнюю версию транспорта из SVN:

svn co https://svn.jrudevels.org/j2j/trunk /root/j2j/

Создадим директорию для логов:

mkdir -p /var/log/j2j

Создадим в MySQL базу "j2j" и пользователя "j2j" с паролем "secret":

mysql -u root -p -e 'CREATE DATABASE `j2j`;'
mysql -u root -p -e 'GRANT ALL PRIVILEGES ON `j2j`.* TO "j2j"@"localhost" IDENTIFIED BY "secret";'

Далее загрузим в базу данные из файла /root/j2j/mysql.schema:

cat /root/j2j/mysql.schema | mysql -u root -p j2j

Далее добавим в секцию "listen" файл /etc/ejabberd/ejabberd.cfg следующие строки:

{8883, ejabberd_service, [
                {ip, {127, 0, 0, 1}},
                {access, all},
                {shaper_rule, fast},
                {hosts, "j2j.our_firm.com", [{password, "secret"}]}
        ]},

Здесь мы предполагаем, что для взаимодействия между транспортом и сервером будет использоваться порт 8883, JID транспорта будет "j2j.our_firm.com" и пароль для связи севера с транспортом "secret". Если у вас другие параметры - внесите соответствующие правки. После внесения правок перезапустим jabber-сервер:

ejabberdctl restart

Далее создадим файл конфигурации /root/j2j/j2j.conf, следующего содержания:

[component]
JID=j2j.our_firm.com
Host=localhost
Port=8883
Password=secret

[process]
Pid=/var/run/j2jt.pid

[database]
Host=localhost
Type=mysql
User=j2j
Name=j2j
Password=secret
Prefix=j2j_

[admins]
List=admin@our_firm.com

[debug]
logfile=/var/log/j2j/j2j.log
registrations=yes
logins=yes

xml_logging=/var/log/j2j/xml.log
component_xml=no
clients_xml=no
clients_jids_to_log=All

Подробное описание опций можно найти в документации. Закончив конфигурирование, запустим транспорт командой:

python /root/j2j/main.py -b -c /root/j2j/j2j.conf

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

/usr/bin/python /root/j2j/main.py -b -c /root/j2j/j2j.conf

Об использовании транспорта также можно прочитать в его документации. На этом всё. Приятной работы!

P.S. Отдельное спасибо Фроловой Марии за корректировку статьи.

Ключевые слова: j2j, ejabberd, jabber, транспорт.

Подписаться на обновления: RSS-лента Канал в TamTam Telegram канал

Комментарии:

Anonymous 2010-02-15 20:32:24 (#)

Вроде бы надо
{host, "j2j.our_firm.com", [{password, "secret"}]}
или
{hosts, ["j2j.our_firm.com"], [{password, "secret"}]}

MooSE 2010-02-15 23:32:41 (#)

возможно. но это почти полная копипаста из моего конфига и он работает.

Anonymous 2011-01-31 16:34:31 (#)

А нет ли по проще j2j транспорта без MySQL? Просто MySQL на домашнем серваке явно перебор.

MooSE 2011-01-31 23:19:33 (#)

А нет ли по проще j2j транспорта без MySQL? Просто MySQL на домашнем серваке явно перебор.

Вариантов два:
1. Пилить исходники
2. Смотреть в сторону drizzle
Новый комментарий

Жирный текстКурсивный текстПодчёркнутый текстЗачёркнутый текстПрограммный кодСсылкаИзображение




© 2006-2025 Вадим Калинников aka MooSE
Политика конфиденциальности