Migrace openfire na ejabberd 2


Openfire už mě nebavil. Je to sice pravda povedený kousek a jako příznivec javy bych měl při něm stát. No co už 🙂 Při instalaci ejabberd a následné migraci jsem použil tento a tento zdroj.

Instalace

Napřed je třeba se rozhodnout, co chceme, aby server uměl.

equery uses ejabberd

Potom

USE="web -pam mod_muc mod_pubsub ssl zlib" emerge ejabberd

Nejdůlezitejší věci, co je třeba změnit v konfiguraci

%% servirujeme jednu domenu
{hosts, ["jezzovo.net"]}.
%%%   uzivatel admin ma nejvyssi prava v domene jezzovo.net
{acl, admin, {user, "admin", "jezzovo.net"}}.

Dále je vhodné zapntout SSL pro komunikaci server-server (s2s) a server-klient (c2s), je nutné ovšem vygenerovat nebo získat SSL certifikát.

A můžem to odpálit.

/etc/init.d/ejabberd start

Migrace

V administračním rozhraní openfire je nutné aktivovat Import/Export plugin. Potom v menu Uživatelé/Skupiny – Import Export – Export user data. To nám vrátí XML soubor obsahující všechny uživatele včetně jejich rostrů. Potom je nutné stánout něco, co nám převede xml soubor do formátu, kterému ejabberd rozumí.

java -jar openfire-jabberd-convertor.jar myopenfire.xml /tmp/jabberspool/ jezzovo.net

Nyní máme připravené soubory pro import.

ejabberdctl ejabberd@localhost import-dir /tmp/jabberspool/

Kde ejabberd@localhost je název NODE. Ten zjistíme pomocí ejabberdctl status.

Vše je hotovo, jediné, co uživatelé zjistí bude nový SSL certifikát.


2 zamyšlení nad “Migrace openfire na ejabberd

  • Heron

    Návod obecně funguje dobře, díky za něj.

    Instaloval jsem to na Debianu Squeeze. Jen pár poznámek.

    V ejabberd.cfg odkomentuje následující řádky (zajímalo by mě, jaký je default cfg v gentoo):

    override_global.
    override_local.
    override_acls.

    Ejabberd má vlastní DB s konfigem a konfigurační soubor po prvním spuštění tiše ignoruje. Což je úžasná feature obzvláště, když se ejabberd spustí v defaultní konfiguraci automaticky již při instalaci. Tyto řádky zajistí přegenerování DB při každém restartu ejabberd.

    Dál, po konverzi souborů (openfire-jabberd-convertor.jar) je nutné tyto soubory umístit někam, kde je přečte user ejabberd (u mě to po 3h skončilo na chmod 777 -R). Jinak ejabberdctl import-dir píše stupidní hlášku eacces, která mě zmátla natolik, že jsem příčinu hledal v ejabberd acl. Tak pozor na to.

    ejabberdctl import-dir projistotu nevypisuje vůbec nic, takže jestli se import povedl se musí zjistit manuálně ejabberdctl registered-users domain.tld.

    Další poznámka už nesouvisí s návodem ani s migrací, ale může se někomu hodit. Používám klienta psi, a při nastavení acl na mého uživatele:

    {acl, admin, {user, “heron”, “iprint.sk”}}.

    se mi ve psi objeví (v service discovery) docela užitečné administrační rozhranní, kde můžu registrovat / rušit usery atp.

    • Heron

      Prvním pár postřehů po migraci z OpenFire 3.7. OpenFire má (alespoň u mě mělo) rozbité TLS. PSI se mi pokusu o přuihlášení na server několikrát přihlásilo / odhlásilo, což bylo velmi zdlouhlavé. Na deprecated SSL to nedělalo, na plain taky ne. Na ejabberd to funguje správně.

      Dále (a možná, že to souvisí s přechozím bodem), na openfire jsem se nemohl domluvit s některými servery. Prostě jsem ty uživatele neviděl, oni neviděli mně. Tady to, zdá se, opět jede.

      Zatím to tedy vypadá mírně pozitivně. Mohli by ale zapracovat na těch chybových hláškách, ty jsou fakt nicneříkající.

Komentáře jsou uzavřeny.