Cum se instalează un server XMPP

Introducere

XMPP (Extensible Messaging and Presence Protocol, în traducere: Protocolul Extensibil de Mesagerie și Prezență), anterior cunoscut ca Jabber, este un protocol de mesagerie instantanee și totodată un standard deschis. El a fost conceput să fie extensibil și acest lucru le-a permis contribuitorilor să adauge suportul pentru comunicațiile audio și video. Mai mult decât atât, el oferă utilizatorilor posibilitatea de a comunica descentralizat, cu alte cuvinte, un utilizator înregistrat pe un server XMPP poate comunica cu utilizatori de pe alte servere.

Există o mulțime de programe libere (pe partea de server) care implementează protocolul XMPP, dar în ghidul acesta vom descrie pas cu pas cum se instalează unul din ele. Am ales serverul liber ejabberd deoarece experiența ne-a arătat că instalarea și configurarea sunt mai simple decât în cazul altor servere. Facem observația că comenzile din acest ghid au fost testate pe un sistem Trisquel GNU/Linux, bazat pe Ubuntu/Debian. Ejbberd, scris în Erlang, este folosit pe multe servere publice ce oferă servicii de mesagerie bazată pe XMPP, dar oricine își poate instala acest serviciu pe serverul personal și poate comunica prin intermediul lui cu alte servere mai cunoscute (ca Gtalk sau Facebook).

Instalarea serverului ejabberd

Vă recomandăm să faceți mai întâi o actualizare a sistemului:

$ sudo aptitude update
$ sudo aptitude upgrade

Instalați apoi programul ejabberd cu ajutorul comenzii

$ sudo aptitude install ejabberd

Configurare

În fișierul principal de configurare al serverului (care se află la /etc/ejabberd/ejabberd.cfg) este necesar să specificați care vor fi administratorii. Deschizând acest fișier, veți găsi:

%% Admin user
{acl, admin, {user, "", "localhost"}}.

Pentru a adăuga un administator „admin” modificați linia:

{acl, admin, {user, "admin", "exemplu.org"}}.

Adresa „exemplu.org” reprezintă o adresă la care poate fi accesat serverul. Dacă doriți mai mulți administratori, este suficient să adăugați linii similare (fiți atenți la sintaxă):

{acl, admin, {user, "admin", "exemplu.org"}}.
{acl, admin, {user, "admin1", "exemplu.org"}}.
{acl, admin, {user, "admin2", "jurnalpersonal.org"}}.

Veți observa că am adăugat doi administratori pentru adresa „exemplu.org” și unul pentru „jurnalpersonal.org”, dar acolo trebuie trecute adresele pe care le aveți.

Tot în acel fișier de configurare găsiți linia:

{hosts, ["localhost"]}.

care vă sugerează că acolo pot fi trecute adresele la care doriți să oferiți serviciul XMPP. Deci edităm linia în felul următor:

{hosts, ["localhost", "exemplu.org", "jurnalpersonal.org"] }.

Acum reporniți serverul XMPP cu ajutorul comenzii

$ sudo invoke-rc.d restart ejabberd

În loc de parametrul restart mai puteți folosi opțiunile stop și start, care oprește, respectiv pornește serverul.

Adaugarea de utilizatori

Am putea folosi un client XMPP (cum sunt Pidgin, Empathy și YateClient) pentru a ne înregistra, însă serverul este implicit configurat să nu permită acest lucru. Dacă doriți să permiteți utilizatorilor să se înregistreze folosind clientul, atunci linia {access, register, [{deny, all}]}. din fișierul de configurare trebuie să arate în felul următor:

{access, register, [{allow, all}]}.

Pentru a adăuga un utilizator vom folosi comanda:

ejabberdctl register [numele utilizatorului] exemplu.org [parola]

Atunci când în fișierul de configurare am specificat care vor fi administratorii, aceștia nu au devenit automat utilizatori înregistrați pe server. Pentru a-i înregistra, folosim comanda de mai sus:

ejabberdctl register admin exemplu.org 111
ejabberdctl register admin1 exemplu.org 222
ejabberdctl register admin2 jurnalpersonal.org 333

Am înregistrat trei utilizatori: admin@exemplu.org, admin1@exemplu.org și admin2@jurnalpersonal.org, cu parolele 111, 222 și respectiv 333. Mai mulți utilizatori îi înregistrăm la fel, iar pe unii din ei, la dorință, îi putem specifica ca administratori în fișierul de configurare. Pentru a elimina, spre exemplu, utilizatorul admin2 folosim comanda:

ejabberdctl unregister admin2 jurnalpersonal.org

Ejabberd oferă și un panou de administrare, care poate fi accesat la adresa
http://localhost:5280/admin/ sau, spre exemplu, http://jurnalpersonal.org:5280/admin/. Vă autentificați cu admin, admin1 sau admin2.

Comunicarea cu alte servere

Ca serverul dvs. să poată comunica și cu alte servere XMPP din rețea este necesar să setați înregistrările SRV ale adresei (în cazul nostru exemplu.org și jurnalpersonal.org) pentru care ați lansat serviciul XMPP:

_xmpp-server Protocol: TCP Port: 5269
_xmpp-client Protocol: TCP Port: 5222
_jabber Protocol: TCP Port: 5269

Nu uitați să deschideți porturile 5269, 5222 și 5280 pentru panoul de administrare. Conversații plăcute! :-)

Meniu: