Difference between revisions of "J2J:AdminGuide"
m (Reverted edits by 72.52.116.229 (talk) to last revision by Binary) |
|||
(14 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
{{eng}} | {{eng}} | ||
− | Руководство по установке и администрированию [[gateway|транспорта]] [[J2J|J2J (Jabber-to-Jabber)]]. | + | Руководство по установке и администрированию [[gateway|транспорта]] [[J2J|J2J (Jabber-to-Jabber)]]. |
+ | |||
+ | Руководство пользователя находится на [[J2J|следующей странице]]. | ||
== Установка и настройка == | == Установка и настройка == | ||
Line 8: | Line 10: | ||
Для работы J2J необходимо: | Для работы J2J необходимо: | ||
* [[Python]] >=2.3 | * [[Python]] >=2.3 | ||
− | * [http://www.postgresql.org/ PostgreSQL] >= | + | * [http://www.postgresql.org/ PostgreSQL] >=8.2 |
* [http://www.pygresql.org/ PyGreSQL] >=3.8 | * [http://www.pygresql.org/ PyGreSQL] >=3.8 | ||
− | * [[Twisted]] >=2. | + | * [[Twisted]] >=10.2.0 (необходимо наложить патч http://twistedmatrix.com/trac/attachment/ticket/4771/twisted-ticket-4771.patch) |
+ | * [http://pyopenssl.sourceforge.net/ PyOpenSSL] >=0.6 | ||
* Любой Jabber-[[server]] (например, [[ejabberd]] или [[Openfire]]), поддерживающий: | * Любой Jabber-[[server]] (например, [[ejabberd]] или [[Openfire]]), поддерживающий: | ||
** {{xep|0114|Jabber Component Protocol}} | ** {{xep|0114|Jabber Component Protocol}} | ||
Line 19: | Line 22: | ||
Необходимо получить исходный код транспорта. Это можно сделать, пройдя по [http://jrudevels.org/index.php?pg=downloads.php&dir=J2J ссылке], либо с помощью [http://subversion.tigris.org/ SVN]: | Необходимо получить исходный код транспорта. Это можно сделать, пройдя по [http://jrudevels.org/index.php?pg=downloads.php&dir=J2J ссылке], либо с помощью [http://subversion.tigris.org/ SVN]: | ||
− | <nowiki>svn co | + | <nowiki>svn co svn://svn.jrudevels.org/j2j/trunk j2j/</nowiki> |
=== Настройка базы данных === | === Настройка базы данных === | ||
Line 37: | Line 40: | ||
psql -U j2j j2j | psql -U j2j j2j | ||
\i pgsql.schema | \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 | + | cp j2j.conf.example j2j.conf |
− | nano -w | + | nano -w j2j.conf |
Параметры: | Параметры: | ||
− | * JID - JID компоненты. Например, | + | * Секция component: |
+ | ** JID - JID компоненты. Например, | ||
JID=u"j2j.server.com" | JID=u"j2j.server.com" | ||
− | * | + | ** Host - IP или доменное имя сервера, к которому необходимо присоединить компонент. Например, |
− | + | Host="127.0.0.1" | |
− | * | + | ** Port - порт на сервере, к которому необходимо подключаться. Должен совпадать с аналогичным, прописанным в конфигурации Вашего Jabber-[[server|сервера]]. |
− | * | + | ** Password - пароль на сервере, к которому необходимо подключаться. Должен совпадать с аналогичным, прописанным в конфигурации Вашего Jabber-[[server|сервера]]. |
− | * | + | * Секция 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. | ||
=== Запуск === | === Запуск === | ||
Line 62: | Line 98: | ||
Теперь все готово к запуску: | Теперь все готово к запуску: | ||
python main.py | python main.py | ||
+ | |||
+ | == Параметры командной строки == | ||
+ | Запустите транспорт с ключом --help для получения справки по параметрам командной строки. | ||
== Администрирование транспорта == | == Администрирование транспорта == |
Latest revision as of 06:56, 18 January 2015
This page is also available in English.
• Страницы на английском языке• Переведённые страницы
• Страницы, переведённые на английский язык
Руководство по установке и администрированию транспорта J2J (Jabber-to-Jabber).
Руководство пользователя находится на следующей странице.
Contents
Установка и настройка[edit]
Зависимости[edit]
Для работы 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), поддерживающий:
Загрузка исходного кода[edit]
Необходимо получить исходный код транспорта. Это можно сделать, пройдя по ссылке, либо с помощью SVN:
svn co svn://svn.jrudevels.org/j2j/trunk j2j/
Настройка базы данных[edit]
Необходимо настроить базу данных (БД) на работу с J2J-компонентом:
Создаем пользователя:
createuser -P j2j
Ключ -P означает, что пользователь создается с указанием пароля. Запомните его, он понадобится для дальнейшей настройки.
Создадим базу данных:
createdb j2j
Импортируем структуру БД:
psql -U j2j j2j \i pgsql.schema
Настройка Jabber-сервера[edit]
ejabberd[edit]
Вся настройка сводится к добавлению строки вида:
{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 и пароль на свои.
Настройка компонента[edit]
Необходимо получить конфигурационный файл для компонента. По умолчанию, пути поиска для конфигурационного файла - ./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.
Запуск[edit]
Теперь все готово к запуску:
python main.py
Параметры командной строки[edit]
Запустите транспорт с ключом --help для получения справки по параметрам командной строки.