J2J:AdminGuide
This page is also available in English.
• Страницы на английском языке• Переведённые страницы
• Страницы, переведённые на английский язык
Руководство по установке и администрированию транспорта J2J (Jabber-to-Jabber).
Руководство пользователя находится на следующей странице.
Contents
Установка и настройка
Зависимости
Для работы J2J необходимо:
- Python >=2.3
- PostgreSQL >=8.2
- PyGreSQL >=3.8
- Twisted >=10.2.0 (необходимо наложить патч http://twistedmatrix.com/trac/attachment/ticket/4771/twisted-ticket-4771.patch)
- PyOpenSSL >=0.6
- Любой Jabber-server (например, ejabberd или Openfire), поддерживающий:
Загрузка исходного кода
Необходимо получить исходный код транспорта. Это можно сделать, пройдя по ссылке, либо с помощью SVN:
svn co svn://svn.jrudevels.org/j2j/trunk j2j/
Настройка базы данных
Необходимо настроить базу данных (БД) на работу с J2J-компонентом:
Создаем пользователя:
createuser -P j2j
Ключ -P означает, что пользователь создается с указанием пароля. Запомните его, он понадобится для дальнейшей настройки.
Создадим базу данных:
createdb j2j
Импортируем структуру БД:
psql -U j2j j2j \i pgsql.schema
Настройка Jabber-сервера
ejabberd
Вся настройка сводится к добавлению строки вида:
{8888, ejabberd_service, [ {ip, {127, 0, 0, 1}}, {access, all}, {shaper_rule, fast}, {host, "j2j.server.com", [{password, "secret"}]} ]}
В секцию listen файла ejabberd.cfg. Обратите внимание, при указании JID транспорта используется ключевое слово host, а не hosts. Замените JID и пароль на свои.
Настройка компонента
Необходимо получить конфигурационный файл для компонента. По умолчанию, пути поиска для конфигурационного файла - ./j2j.conf, ~/.j2j/j2j.conf, /etc/j2j/j2j.conf. Для этого скопируем пример такого файла и отредактируем его:
cp j2j.conf.example j2j.conf nano -w j2j.conf
Параметры:
- Секция component:
- JID - JID компоненты. Например,
JID=u"j2j.server.com"
- Host - IP или доменное имя сервера, к которому необходимо присоединить компонент. Например,
Host="127.0.0.1"
- Секция database:
- Host - IP или доменное имя сервера БД, оставьте пустым для использования UNIX-сокета Postgres
- Type - тип используемой СУБД - postgres или mysql
- User - имя пользователя БД (в нашем примере - j2j)
- Name - имя базы данных (в нашем примере - j2j)
- Password - пароль от БД для данного пользователя БД.
- Prefix - в общем случае остается без изменений. Его требуется изменять, если запускается одновременно несколько копий транспорта.
- Секция admins
- List - список JIDов, на которые будут приходить уведомления о новых регистрациях. Пример:
List=vasya@server.ru,zhenya@server.com
- Секция debug
- logfile - путь к лог-файлу
- registrations - помещать ли в лог-файл сообщения, связанные с регистрацией пользователей на сервисе
- logins - помещать ли в лог-файл сообщения, связанные с входом-выходом пользователей
- xml_logging - путь к xml-логу
- component_xml - помещать ли в xml-лог данные от сервиса
- clients_xml - помещать ли в xml-лог данные по клиентам
- clients_jids_to_log - список JIDов, станзы которых помещать в xml-лог или All, если помещать все.
Конфигурационный файл должен быть в кодировке UTF-8.
Запуск
Теперь все готово к запуску:
python main.py
Параметры командной строки
Запустите транспорт с ключом --help для получения справки по параметрам командной строки.