Editing Eng:J2J:AdminGuide

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search

Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.

The administrator who locked it offered this explanation: MediaWiki upgrading

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
{{EnglishVersion|J2J:AdminGuide}}
+
Installation and operation guide for [[J2J|J2J (Jabber-to-Jabber)]] [[gateway]].
Installation and operation guide for [[Eng:J2J|J2J]] (Jabber-to-Jabber) gateway.
+
  
 
== Installation and configuring ==
 
== Installation and configuring ==
Line 7: Line 6:
  
 
For J2J you will need:
 
For J2J you will need:
* [http://python.org Python] >=2.3
+
* [[Python]] >=2.3
* [http://twistedmatrix.com/ Twisted] >=10.2.0 (patch http://twistedmatrix.com/trac/attachment/ticket/4771/twisted-ticket-4771.patch is needed for 10.2.0)
+
* [http://www.postgresql.org/ PostgreSQL] >=7.4.7
* [http://www.postgresql.org/ PostgreSQL] >=8.2
+
 
* [http://www.pygresql.org/ PyGreSQL] >=3.8
 
* [http://www.pygresql.org/ PyGreSQL] >=3.8
* [http://pyopenssl.sourceforge.net/ PyOpenSSL] >=0.6
+
* [[Twisted]] >=2.4.0
(Note: there is experimental [http://www.mysql.com/ Mysql] with [http://mysql-python.sourceforge.net/ mysql-python] support in 1.1.8 and beyond, see Changelog.txt)
+
* Any Jabber-[[server]] (for example, [[ejabberd]] or [[Wildfire]]), that supports:
 
+
* Any Jabber-server (for example ejabberd, jabberd2 or Openfire), that supports:
+
 
** {{xep|0114|Jabber Component Protocol}}
 
** {{xep|0114|Jabber Component Protocol}}
** {{xep|0030|Service Discovery}}
+
** [[Service Discovery|XEP-0030: Service Discovery]]
  
=== Source code downloads ===
+
=== Загрузка исходного кода ===
You need to get sources of [[Eng:J2J|J2J]]. You can do it at [http://jrudevels.org/index.php?pg=downloads.php&dir=J2J JRuDevels Downloads], or with help of [http://subversion.tigris.org/ SVN]:
+
  
<nowiki>svn co svn://svn.jrudevels.org/j2j/trunk j2j/</nowiki>
+
Необходимо получить исходный код транспорта. Это можно сделать, пройдя по [http://jrudevels.org/index.php?pg=downloads.php&dir=J2J ссылке], либо с помощью [http://subversion.tigris.org/ SVN]:
  
=== Database setup ===
+
<nowiki>svn co https://svn.jrudevels.org/j2j/trunk j2j/</nowiki>
  
You need to setup a database to work with [[Eng:J2J|J2J]]:
+
=== Настройка базы данных ===
  
Let's create a database for [[Eng:J2J|J2J]]:
+
Необходимо настроить базу данных (БД) на работу с J2J-компонентом:
* postgresql:
+
createdb j2j
+
* mysql
+
mysql -h localhost -u root -p -e "CREATE DATABASE j2j;"
+
  
Let's create a DB user:
+
Создаем пользователя:
* postgresql:
+
 
  createuser -P j2j
 
  createuser -P j2j
A -P key means, that user is created with a password-prompt. Store it, because it will be needed for next steps. Same with yourpassword in mysql:
 
* mysql:
 
mysql -h localhost -u root -p -e "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON j2j.* TO 'j2j'@'localhost' IDENTIFIED BY 'yourpassword';"
 
  
And import a database structure:
+
Ключ -P означает, что пользователь создается с указанием пароля. Запомните его, он понадобится для дальнейшей настройки.
* postgresql:
+
 
 +
Создадим базу данных:
 +
createdb j2j
 +
 
 +
Импортируем структуру БД:
 +
 
 
  psql -U j2j j2j
 
  psql -U j2j j2j
 
  \i pgsql.schema
 
  \i pgsql.schema
* mysql
 
mysql -h localhost -u root -p -e "use j2j; \. mysql.schema"
 
  
=== Gateway configuration ===
+
=== Настройка компонента ===
  
Configuration file is needed for [[Eng:J2J|J2J]]. Default search paths for it is: ./j2j.conf, ~/.j2j/j2j.conf and /etc/j2j/j2j.conf; also you can use "-c /path/j2j.conf" in main.py, see later. Let's copy example of this and edit it:
+
Необходимо получить конфигурационный файл для компонента с именем config.py. Для этого скопируем пример такого файла и отредактируем его:
  cp j2j.conf.example j2j.conf
+
  cp config.py.example config.py
  nano -w j2j.conf
+
  nano -w config.py
  
Parameters:
+
Параметры:
* Section component
+
* JID - JID компоненты. Например,  
** JID - JID of gateway. For example,  
+
  JID=u"j2j.server.com"
  JID=j2j.server.com
+
* HOST - IP или доменное имя сервера, к которому необходимо присоединить компонент. Например,
** Host - IP or domain-name of your Jabber-server. For example,
+
  HOST="127.0.0.1"
  Host="127.0.0.1"
+
* PORT - порт на сервере, к которому необходимо подключаться. Должен совпадать с аналогичным, прописанным в конфигурации Вашего Jabber-[[server|сервера]].
** Port - port on Jabber-server to which J2J will be connected. It must be the same as it specified in your Jabber-server's configuration.
+
* DB_HOST - IP или доменное имя сервера БД.
** Password - password on Jabber-server to which J2J will be connected.
+
* DB_USER - имя пользователя БД (в нашем примере - j2j)
* Section database
+
* DB_NAME - имя базы данных (в нашем примере - j2j)
** Host - IP or Domain-name of your database server. Leave it blank to use postgres' UNIX-socket.
+
* DB_PASS - пароль от БД для данного пользователя БД.
** Type - Type of your database server: postgres or mysql
+
* DB_PREFIX - в общем случае остается без изменений.
** User - Database username (in our example is j2j)
+
* ADMINS - список [[JID]]ов, на которые будут приходить уведомления о новых регистрациях. Пример:
** Name - Database name (in our example is j2j)
+
  ADMINS=[u"vasya@server.ru",u"zhenya@server.com"]
** Password - Password for this database username.
+
** Prefix - pass it as is.
+
* Section admins
+
** List - a list of JIDs, for a notifications of new users registrations. For example,
+
  List=vasya@server.ru,zhenya@server.com
+
* Section debug
+
** Pass it as is. If you will get errors in J2J's work try to turn on logging in it section.
+
  
=== Running ===
+
=== Запуск ===
  
Let's start the gateway:
+
Теперь все готово к запуску:
 
  python main.py
 
  python main.py
it should spit "Connected", see also your jabber server log.
 
 
=== Problems ===
 
* If you see:
 
<nowiki>Exception exceptions.AttributeError: "database instance has no attribute 'dbCursor'" in <bound method
 
database.__del__ of <database.database instance at 0x85f1bec>> ignored</nowiki>
 
Check if you have installed python db access support ( i.e. python-pygresql, python-mysqldb in debian) and if it is up to date. Otherwise, is postgresql/mysql rdbms accesible with the parameters in [database] section in your j2j.conf? is it up?
 
* If you see :
 
Traceback (most recent call last):
 
  File "/usr/src//j2j/main.py", line 11, in ?
 
    import j2j
 
  File "/usr/src/j2j/j2j.py", line 14, in ?
 
    from client import Client
 
  File "/usr/src/j2j/client.py", line 10, in ?
 
    from twisted.names.error import DNSNameError
 
ImportError: No module named error
 
  
In debian etch twisted is too old: required twisted 8.01 is in etch+1; ubuntu 8.04 is ok too.
+
== Администрирование транспорта ==
And with FreeBSD you need also py-twistedNames, it's not installed with twisted.
+
+
* Sometimes main.py doesn't spit nothing, check your jabber server log, maybe there is an authentication password problem so recheck [component] section in j2j.conf
+
* In j2j.conf are declared some paths to log files, do these files exist? do they have write permissions?
+
  
=== Command line options ===
+
{{todo|Информация пока отсутствует}}
  
Start [[Eng:J2J|J2J]] with the --help key to get help about command-line options.
 
  
 
[[Category:Documentation]]
 
[[Category:Documentation]]
[[Category:English]]
 

Please note that all contributions to JaWiki (Jabber/XMPP wiki) may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see JaWiki (Jabber/XMPP wiki):Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)

Templates used on this page: