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}}
 
{{EnglishVersion|J2J:AdminGuide}}
Installation and operation guide for [[Eng:J2J|J2J]] (Jabber-to-Jabber) gateway.
+
Installation and operation guide for [[J2J|J2J (Jabber-to-Jabber)]] [[gateway]].
  
 
== Installation and configuring ==
 
== Installation and configuring ==
Line 7: Line 7:
  
 
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 ===
 
=== 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]:
+
You need to get sources of [[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>
+
  <nowiki>svn co https://svn.jrudevels.org/j2j/trunk j2j/</nowiki>
  
 
=== Database setup ===
 
=== Database setup ===
  
You need to setup a database to work with [[Eng:J2J|J2J]]:
+
You need to setup a database to work with [[J2J]]:
 
+
Let's create a database for [[Eng:J2J|J2J]]:
+
* postgresql:
+
createdb j2j
+
* mysql
+
mysql -h localhost -u root -p -e "CREATE DATABASE j2j;"
+
  
 
Let's create a DB user:
 
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:
+
A -P key means, that user is created with a password-prompt. Store it, because it will be needed for next steps.
  mysql -h localhost -u root -p -e "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON j2j.* TO 'j2j'@'localhost' IDENTIFIED BY 'yourpassword';"
+
 
 +
Let's create a database for [[J2J]]:
 +
  createdb j2j
  
 
And import a database structure:
 
And import a database structure:
* postgresql:
+
 
 
  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 ===
 
=== 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:
+
Configuration file config.py is needed for [[J2J]]. Let's copy example of this and edit it:
  cp j2j.conf.example j2j.conf
+
  cp config.py.example config.py
  nano -w j2j.conf
+
  nano -w config.py
  
 
Parameters:
 
Parameters:
* Section component
+
* JID - JID of gateway. For example,  
** JID - JID of gateway. For example,  
+
  JID=u"j2j.server.com"
  JID=j2j.server.com
+
* HOST - IP or domain-name of your Jabber-server. For example,
** Host - IP or domain-name of your Jabber-server. For example,
+
  HOST="127.0.0.1"
  Host="127.0.0.1"
+
* 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.
** 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 or Domain-name of your database server.
** Password - password on Jabber-server to which J2J will be connected.
+
* DB_USER - Database username (in our example is j2j)
* Section database
+
* DB_NAME - Database name (in our example is j2j)
** Host - IP or Domain-name of your database server. Leave it blank to use postgres' UNIX-socket.
+
* DB_PASS - Password for this database username.
** Type - Type of your database server: postgres or mysql
+
* DB_PREFIX - pass it as is.
** User - Database username (in our example is j2j)
+
* ADMINS - a list of [[JID]]s, for a notifications of new users registrations. For example,
** 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 ===
 
=== Running ===
Line 78: Line 61:
 
Let's start the gateway:
 
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 ===
 
 
Start [[Eng:J2J|J2J]] with the --help key to get help about command-line options.
 
  
 
[[Category:Documentation]]
 
[[Category:Documentation]]
 
[[Category:English]]
 
[[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: