Migrating jabberd 1.4 Accounts

This has become somewhat frustrating.

I can find places everywhere that tell me that migration of accounts from jabberd 1.4 to ejabberd is possible, but absolutely nowhere is there anything telling me how to do it. Maybe it is because the documentation for this is on jabber.org and is unreachable right now, but it seems like somewhere, someone would have instructions on how to do this. Hopefully there is something that will tell me how to do this without having to learn the guts of erlang and/or mnesia as well. I have searched all the ejabberd documentation that comes with the distribution and everything I can find on this site.

Help??!!

import jabberd spool: two methods

I've added a working mirror of the guide until JabberStudio fully recovers. The link is on the front page. However, it doesn't explain how to make the migration.

Currently there are two methods to access such functionality:

  • Discovery (it works on Tkabber). You must login on Tkabber with an account with admin privileges on your server. Open Tkabber Discovery, go to 'running nodes', 'import users from jabberd1.4 spool', 'import directory', 'configure service' and enter the full path to the spool directory.
  • Raw XML. Login to an account with admin privileges with a client that allows sending raw XML (Psi, Exodus, Tkabber...) and send a message similar to:
    <iq id='14' to='JSERVER' type='set'>
      <query xmlns='ejabberd:config' node='running nodes/NODENAME/import/dir'>
        <x xmlns='jabber:x:data' type='submit'>
          <field var='path'>
            <value>SPOOLDIR</value>
          </field>
        </x>
      </query>
    </iq>
    replacing:
    • JSERVER: the Jabber server. Example: jabber.company.com
    • NODENAME: the Erlang node name. You can find that name in your ejabberd logs. When ejabberd starts, it shows a lot of messages and something like this:
      =PROGRESS REPORT==== 27-Jan-2005::16:56:40 ===
               application: ejabberd
                started_at: myejab@machine3
      So your NODENAME is myejab@machine3.
    • SPOOLDIR: full path to the jabberd1.4 spool directory. Example: /home/jabberd/spool

Works. Sort of...

Thanks very much. I used tkabber and it migrated the accounts. It seems to have left the contact lists behind. Is this correct?

Once again, thanks very much.

Never mind

The contact lists all migrated. It was a user error.

I appreciate this very much. We are shutting down access to the major IM servers through our firewall for security reasons. We will be putting everyone on jabber and ejabberd looks very good for us to use.

Import jabberd spool : Debian

Just a quick note as it it took me a little while to make this work. To get this to work you must do the following:

1) Make sure the user running ejabberd has read (& execute?) permissions for all the files in your jabberd spool directory. On Debian woody I did this with:
chown -R ejabberd\:ejabberd /var/lib/jabber

2) You have to use the lowest level directory in the spool (the one with all the .xml files in it). e.g.
/var/lib/jabber/mysite.co.uk

3) Restart the server.
ejabberdctl restart

Note that the migration process does not report any errors or progress.

Syndicate content