Instalujeme truc-server na Fedoře

Kdo byl na OWO, ten ví, že Pinkava tam měl přednášku o jabbimu, přípravách nového klienta, který je napsán desetkrát rychleji, je lepší, má skin, dvacetkrát více funkcí a k jeho používání nepotřebujete dvě vysoké školy, jako u ostatních.

Ve své vrcholné řeči nejprve vyzdvihl přednosti jabberu, jeho otřevřenost apod, která poskytuje každému prostor pro založení vlastního serveru. O pár minut později označil servery, které si založili bývalí uživatelé jabber.cz (k vůli jeho nepřílišné stabilitě) jako truc servery (od slovesa trucovat). Aby ještě dále uvedl, že když se z malého serveru stane velký, má problém se stabilitou. Zkrátka brilantní logika.

Pojďme si takový server nainstalovat.

Naivní začátek

yum install jabberd
vim /etc/jabberd/c2s.xml
vim /etc/jabberd/sm.xml

Instalace a změna ID.

Tak takhle ne, přátelé. Funguje veřejná registrace, nelze přidávat uživatele v nějakém admin rozhraní, jen přímou editací BDB.

Bereme to vážně

Když už to nemá admin rozhraní a potřebujeme ručně editovat uživatele (po zablokování možnosti veřejné registrace), tak to alespoň strčme do MySQL.

V dokumentaci z roku 2003 na oficiálních stránkách se píše, že stačí vytvořit v MySQL uživatele a DB a tyto údaje nacvakat do c2s.xml a sm.xml. Nic víc. Fajn. Opět trochu naivně jsem to udělal přesně podle návodu, s tím, že se mi to nezdálo. Ale což, jabberd si může tabulky vytvořit sám.

Očividně nemůže. O DB schématu se v manuálu neříká pro jistotu vůbec nic. Po chvilce hledání (při které jsem zjistil, že mi locate indexuje také zálohy), jsem nalezl /usr/share/jabberd/db-setup.mysql. Toto stačí naimportovat do MySQL:

mysql -u root -p -D jabberd2 < /usr/share/jabberd/db-setup.mysql

Pak už to funguje.

Editujeme DB přímo

DB schema je poměrně jednoduché. Pro odstranění uživatele stačí editovat tabulku authreg a smazat příslušný záznam. Pro „registraci“ nového uživatele, jej stačí přidat příkazem

insert into authreg (username, realm, password) VALUES ......

Kde uvedené položky jsou samovysvětlující.

DB specialistům jistě vstávají všechny chlupy na těle z představy porušených cizích klíčů, sirotčích záznamů apod. Žádné tam nejsou ;-). Paranoikům potom z faktu, že heslo je v plain-textu. No, je to OpenSource.

Nastavujeme firewall

Pro připojení klienta na server je nutno povolit porty:

tcp/5222 -- nesifrovane spojeni
tcp/5223 -- SSL spojeni klienta a serveru.

Pro meziserverovou komuminakci pak

tcp/5269

Pokud používáte firehol, můžete si copy-pastnout následující definice:

server_jabberd_ports="tcp/5222 tcp/5223 tcp/5269"
client_jabberd_ports="default"

A nastavit sekci příslušné interface:

server jabberd accept

Případně si rozdělit klientské/server a server/server porty

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