Difference between revisions of "J2J:AdminGuide"
(как же я мог забыть pygresql? :)) |
m (Reverted edits by 72.52.116.229 (talk) to last revision by Binary) |
||
(18 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{eng}} | |
− | + | Руководство по установке и администрированию [[gateway|транспорта]] [[J2J|J2J (Jabber-to-Jabber)]]. | |
− | Для работы | + | |
− | * [ | + | Руководство пользователя находится на [[J2J|следующей странице]]. |
− | * [http://www.postgresql.org/ PostgreSQL] >= | + | |
+ | == Установка и настройка == | ||
+ | |||
+ | === Зависимости === | ||
+ | |||
+ | Для работы J2J необходимо: | ||
+ | * [[Python]] >=2.3 | ||
+ | * [http://www.postgresql.org/ PostgreSQL] >=8.2 | ||
* [http://www.pygresql.org/ PyGreSQL] >=3.8 | * [http://www.pygresql.org/ PyGreSQL] >=3.8 | ||
− | * [http:// | + | * [[Twisted]] >=10.2.0 (необходимо наложить патч http://twistedmatrix.com/trac/attachment/ticket/4771/twisted-ticket-4771.patch) |
− | * Любой Jabber-[[server]] (например, [[ejabberd]] или [[ | + | * [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 | + | <nowiki>svn co svn://svn.jrudevels.org/j2j/trunk j2j/</nowiki> |
− | === | + | === Настройка базы данных === |
− | Необходимо настроить БД на работу с J2J-компонентом: | + | |
+ | Необходимо настроить базу данных (БД) на работу с J2J-компонентом: | ||
Создаем пользователя: | Создаем пользователя: | ||
Line 31: | Line 41: | ||
\i pgsql.schema | \i pgsql.schema | ||
− | ==== | + | === Настройка Jabber-сервера === |
− | Необходимо получить конфигурационный файл для компонента | + | |
− | cp | + | ==== ejabberd ==== |
− | nano -w | + | Вся настройка сводится к добавлению строки вида: |
+ | |||
+ | {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="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. | ||
+ | |||
+ | === Запуск === | ||
− | |||
Теперь все готово к запуску: | Теперь все готово к запуску: | ||
python main.py | python main.py | ||
− | ===Администрирование транспорта | + | == Параметры командной строки == |
− | Информация пока отсутствует | + | Запустите транспорт с ключом --help для получения справки по параметрам командной строки. |
+ | |||
+ | == Администрирование транспорта == | ||
+ | |||
+ | {{todo|Информация пока отсутствует}} | ||
+ | |||
+ | |||
+ | [[Category:Documentation]] |
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 для получения справки по параметрам командной строки.