This is out-dated documentation. Please go to http://jabberd.org/ for up-to-date documentation.

Jabberd 1.4 Admin FAQ

This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/).

Jabber Server Administration FAQ

How do I install the jabberd 1.4.x server?
Is jabberd 1.4.x the only Jabber server software?
How to start jabberd automatically upon booting?
Is there a way to encrypt passwords in the user's spool files?
How may I add my server to the official list of public Jabber servers?
Suddenly, my server needs lots of processing power. Configuration has not been changed. What may cause this?
How many concurrent users will the jabberd server support?
How is user activity logged in jabberd?
How can I log all conversation on my (corporate) server?
How to provide a predefined roster for new users?
How can jabberd 1.4 integrate with LDAP/MySQL servers?
I'd like to manipulate the user.xml files in the spool/ directory with scripts -- is there any danger in that?
How can a user change their password on my Jabber server?
How can a user remove their account on my Jabber server?



Comments

Windows server setup does not seem to be supported. Where to I get Windows installation information?
Posted by David Dews on 2004-06-16 04:32

I have, like a lot of other users I experienced, have clients that doesn't permit to send raw xml, so we need to log in within telnet. Can you write also in the same page the needed xml to log in? Thanks in advance.
Posted by mrkiko on 2005-01-03 19:09



How do I install the jabberd 1.4.x server?

Refer to the Administrator Guide for instructions.



Is jabberd 1.4.x the only Jabber server software?

No. Although jabberd 1.4 currently is the most widely deployed Jabber server, it is not the only Jabber server. A brief server comparison guide is available at http://www.jabber.org/admin/serverlist.php.



Is there a way to encrypt passwords in the user's spool files?

See the Admin Guide's security section.



How to start jabberd automatically upon booting?

See the Admin Guide's section on this topic.



How may I add my server to the official list of public Jabber servers?

Contact Peter Saint-Andre, who is Executive Director of the Jabber Software Foundation.



Suddenly, my server needs lots of processing power. Configuration has not been changed. What may cause this?

Perhaps one of your users added lots of data (avatar image...) to his account data. Search for a large XDB spool file. jabberd 1.4 CVS supports limiting size of XDB spool file sizes as of 2004-01-18 (<sizelimit>).



How many concurrent users does jabberd 1.4 support?

See the Admin Guide's tuning section.



How is user activity logged in jabberd?

The jabberd 1.4 server stores session and other information in a file named record.log, which is created in the root jabber directory (e.g., /usr/local/jabber/ or wherever you installed the server). E.g., the lines containing "session end" give you information about user sessions, specifically the number of seconds in the session, the number of packets sent, and the number of packets received by that particular user.



How can I log all conversation on my (corporate) server?

See Bandersnatch.



How to provide a predefined roster for new users?

There are a number of solutions for this problem. However, right now no solution is perfect. In the Script Repository you find some scripts that can modify the user's roster in the server's XDB spool files directly (which requires the server to be down at modification time). There's also mod_groups, but mod_groups has several bugs and design issues.



How can jabberd 1.4 integrate with LDAP/MySQL servers?

See xdb_ldap and xdb_mysql. If you want not to store the entire XDB in LDAP/MySQL but need LDAP/MySQL authorization only, take a look at the Admin Guide, section External Authentication.

jabberd 2.0 supports LDAP/MySQL directly.



I'd like to manipulate the user.xml files in the spool/ directory with scripts -- is there any danger in that?

Since these files are straight XML text, it's safe to use scripts to make changes to them or create files for all of your users. However, be aware that the XDB component caches these files as a default setting, so you'll want to disable caching if you're going to change user.xml files. You do this by setting the timeout value to zero:

<xbd_file xmlns="jabber:config:xdb_file">
  <spool>yourspooldirectory</spool>
  <timeout>0</timeout>
</xbd_file>



How can a user change their password on my Jabber server?

A user can change their own password by logging into your Jabber server and then sending the following XML:

<iq type='set' to='yourjabberhostname'> 
  <query xmlns='jabber:iq:register'> 
    <username>username</username> 
    <password>newpassword</password> 
  </query> 
</iq>

Alternatively, if you are an admin of the server, you can look up the user's password, log in as them, and then send that XML yourself (e.g., if you think that your users will not be able to send raw XML themselves).



Comments

how can i disable this option in the server?
(i don't want the users to change their passwd)
Posted by karlos on 2004-08-11 07:09

You can't solely disable password changes. However, by removing mod_register from jabberd's configuration, you disable password changes (AND registration of new users of course). Why do you want to do this?
Posted by Maqi (admin) on 2004-08-11 07:36

I've found that disabling the registration is more work for the admin, since you have to administer the accounts and passwords. What I've done to get around this is to leave registration on, and run a script via cron job that checks the user.xml files agains a predefined list, if the xml is not on the list, the script removes the user.xml file. This way users can still change passwords, and bogus accounts are removed on the hour! :)

I'll see what I can do about adding this to the script repository.
Posted by Joe Horstmann on 2004-09-14 08:39

You can achieve the same thing (only allow a list of people to have accounts) by using external authentication (xdb_auth_cpile). This way, only people having a LDAP/POP3/SMB/whatever account are allowed to log in. It's a bit more difficult to setup of course.
Posted by Maqi (admin) on 2004-09-14 09:52



How can a user remove their account on my Jabber server?

A user can remove their account by logging into your Jabber server and then sending the following XML:

<iq type='set' to='yourjabberhostname'> 
  <query xmlns='jabber:iq:register'> 
    <remove/>
  </query> 
</iq>

Alternatively, if you are an admin of the server, you can look up the user's password, log in as them, and then send that XML yourself (e.g., if you think that your users will not be able to send raw XML themselves).