Difference between revisions of "J2J:AdminGuide"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
m
m (Reverted edits by 72.52.116.229 (talk) to last revision by Binary)
 
(19 intermediate revisions by 9 users not shown)
Line 1: Line 1:
===Установка и настройка===
+
{{eng}}
====Зависимости====
+
Руководство по установке и администрированию [[gateway|транспорта]] [[J2J|J2J (Jabber-to-Jabber)]].
Для работы [[J2J]] необходимо:
+
 
* [http://python.org Python] >=2.3
+
Руководство пользователя находится на [[J2J|следующей странице]].
* [http://www.postgresql.org/ PostgreSQL] >=7.4.7
+
 
* [http://www.twistedmatrix.com/ Twisted] >=2.4.0
+
== Установка и настройка ==
* Любой Jabber-[[server]] (например, [[ejabberd]] или [[Wildfire]]), поддерживающий:
+
 
** [http://www.xmpp.org/extensions/xep-0114.html XEP-0114]
+
=== Зависимости ===
** [http://www.xmpp.org/extensions/xep-0030.html XEP-0030]
+
 
 +
Для работы J2J необходимо:
 +
* [[Python]] >=2.3
 +
* [http://www.postgresql.org/ PostgreSQL] >=8.2
 +
* [http://www.pygresql.org/ PyGreSQL] >=3.8
 +
* [[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]]), поддерживающий:
 +
** {{xep|0114|Jabber Component Protocol}}
 +
** [[Service Discovery|XEP-0030: Service Discovery]]
 +
 
 +
=== Загрузка исходного кода ===
  
====Скачать исходный код====
 
 
Необходимо получить исходный код транспорта. Это можно сделать, пройдя по [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]:
  
  svn co https://svn.jrudevels.org/j2j/trunk j2j/
+
  <nowiki>svn co svn://svn.jrudevels.org/j2j/trunk j2j/</nowiki>
  
====Настроить БД====
+
=== Настройка базы данных ===
Необходимо настроить БД на работу с J2J-компонентом:
+
 
 +
Необходимо настроить базу данных (БД) на работу с J2J-компонентом:
  
 
Создаем пользователя:
 
Создаем пользователя:
Line 30: Line 41:
 
  \i pgsql.schema
 
  \i pgsql.schema
  
====Настроить компонент====
+
=== Настройка Jabber-сервера ===
Необходимо получить конфигурационный файл для компонента с именем config.py. Для этого скопируем пример такого файла и отредактируем его:
+
 
  cp config.py.example config.py
+
==== ejabberd ====
  nano -w config.py
+
Вся настройка сводится к добавлению строки вида:
 +
 
 +
{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
  
 
Параметры:
 
Параметры:
* JID - JID компоненты. Например,  
+
* Секция component:
 +
** JID - JID компоненты. Например,  
 
  JID=u"j2j.server.com"
 
  JID=u"j2j.server.com"
* HOST - IP или доменное имя сервера, к которому необходимо присоединить компонент. Например,
+
** Host - IP или доменное имя сервера, к которому необходимо присоединить компонент. Например,
  HOST="127.0.0.1"
+
  Host="127.0.0.1"
* PORT - порт на сервере, к которому необходимо подключаться. Должен совпадать с аналогичным, прописанным в конфигурации Вашего Jabber-[[server|сервера]].
+
** Port - порт на сервере, к которому необходимо подключаться. Должен совпадать с аналогичным, прописанным в конфигурации Вашего Jabber-[[server|сервера]].
* DB_HOST - IP или доменное имя сервера БД.
+
** Password - пароль на сервере, к которому необходимо подключаться. Должен совпадать с аналогичным, прописанным в конфигурации Вашего Jabber-[[server|сервера]].
* DB_USER - имя пользователя БД (в нашем примере - j2j)
+
* Секция database:
* DB_NAME - имя базы данных (в нашем примере - j2j)
+
** Host - IP или доменное имя сервера БД, оставьте пустым для использования UNIX-сокета Postgres
* DB_PASS - пароль от БД для данного пользователя БД.
+
** Type - тип используемой СУБД - postgres или mysql
* DB_PREFIX - в общем случае остается без изменений.
+
** User - имя пользователя БД (в нашем примере - j2j)
* ADMINS - список [[JID]]ов, на которые будут приходить уведомления о новых регистрациях. Пример:
+
** Name - имя базы данных (в нашем примере - j2j)
  ADMINS=[u"vasya@server.ru",u"zhenya@server.com"]
+
** 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
 
  python main.py
  
===Администрирование транспорта===
+
== Параметры командной строки ==
Информация пока отсутствует.
+
Запустите транспорт с ключом --help для получения справки по параметрам командной строки.
 +
 
 +
== Администрирование транспорта ==
 +
 
 +
{{todo|Информация пока отсутствует}}
 +
 
 +
 
 +
[[Category:Documentation]]

Latest revision as of 07:56, 18 January 2015

Руководство по установке и администрированию транспорта J2J (Jabber-to-Jabber).

Руководство пользователя находится на следующей странице.

Установка и настройка[edit]

Зависимости[edit]

Для работы J2J необходимо:

Загрузка исходного кода[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"
    • Port - порт на сервере, к которому необходимо подключаться. Должен совпадать с аналогичным, прописанным в конфигурации Вашего Jabber-сервера.
    • Password - пароль на сервере, к которому необходимо подключаться. Должен совпадать с аналогичным, прописанным в конфигурации Вашего Jabber-сервера.
  • Секция 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 для получения справки по параметрам командной строки.

Администрирование транспорта[edit]

ToDo: Информация пока отсутствует