Questions: Migrating from version 2.0.2_2 hosted on Windows to version 2.0.3_1 on Ubuntu?

Hi,

I'm in the process of retiring a Windows box that hosts my ejabberd ( 2.0.2_2) server. I've built an Ubuntu box and installed ejabberd 2.0.3_1.

Currently, the windows ejabberd server successfully authenticates against our Microsoft Active Directory LDAP for account authentication. I have no problem reconfiguring the new server to do the same.

I would, however, like to know how to *move* (and thus preserve) the individual account rosters so once I point the existing clients at the new server, the users won't have to re-populate their rosters from scratch.

I'm currently using the default mnesia database which is located on the Windows box.

I'm not familar enough with this database to understand where the roster data is located and how to move it.....or export / import it?

Any help would be appreciated!

Thanks,

Dan = n00b! :)

If optimistic, just copy the mnesia spool directory

I am not sure because I didn't try, but maybe there could be a problem if one system is 32bit and the other 64bit. Other problem could be that the erlang node name of each ejabberd is different. Anyway, I propose you to be optimistic and expect that you will not have any of those problems.

So, being optimistic, the steps can be:

  1. Stop both ejabberd, in old machine and in new machine.
  2. Copy the files of mnesia spool directory from the old machine. The files are: acl.DCD, ... *.DCD, *.DCL, *.DAT. Copy them to the new machine, overwritting similar files that you will have almost empty.
  3. Start the new ejabberd. If all went correctly, the rosters, offline messages, vcard, ... will be available in the new machine.

Other way to copy the information in the database would be to dump it to a binary file using the ejabberd WebAdmin or ejabberdctl; and then load the file in the new machine.

If your database is small (less than a few hundreds of users users), you can alternatively dump to a text file. That allows you to view the content of the database, and even modify it before loading in the new machine.

Syndicate content