Migrace OpenFire na ejabberd

Při úklidu domácí wikiny (26.2.2014) jsem narazil na tento článek, jak jsem před lety migroval uživatele z jabber serveru OpenFire na ejabberd. Článek zde předkládám tak jak je, bez úprav. Snad tento návod někomu pomůže, tehdy jsem se s tím dost vydrbal.

Exportovat user data z OpenFire

Je na to potřeba doinstalovat plugin do OpenFire. Výsledný soubor openfire.xml si uložíme na server, kam budeme instalovat ejabberd. K exportovaným souborům musí mít přístup pro čtení uživatel ejabberd. Takže je uložte někam do /tmp a pro jistotu nastavte chmod 777 -R /tmp/jabberspool/.

Instalace ejabberd

Na Debianu:

aptitude install ejabberd

Budeme potřeboval http://jezzovo.net/files/openfire-jabberd-convertor.jar pro konverzi xml z openfire do tvaru, kterému rozumí ejabberd.

Konfigurace ejabberd.cfg:

Za username a hostname si doplňte správné údaje:

%% Admin user
{acl, admin, {user, "", "localhost"}}.
{acl, admin, {user, "username", "hostname"}}.
%% Hostname
{hosts, ["hostname"]}.

Export uživatelů:

Opět si za hostname doplňte vaši doménu.

root@floyd:~# java -jar openfire-jabberd-convertor.jar openfire.xml /tmp/jabberspool/ hostname
Parsing openfire users file...
3 users found.
Populating spool directory for domain 'hostname'...
        exporting user: xxx@hostname ...
        exporting user: admin@hostname ...
        exporting user: yyy@hostname ...
Finished.
You can now import it to your jabberd or ejabberd server.

Importovat uživatele:

ejabberdctl --node ejabberd@hostname import-dir /tmp/jabberspool/

Je vhodné provést kontrolu importu:

ejabberdctl registered-users hostname

Což by mělo vypsat seznam všech naimportovaných userů.

Po restartu ejabberd se mi již podařilo se přihlásit pomocí klienta psi. Dokonce (díky acl), má v service discovery mnoho administračních položek.

Příspěvek byl publikován v rubrice Debian, Jabber, Linux. Můžete si uložit jeho odkaz mezi své oblíbené záložky.