Ejjaberd. Configuració
Contingut
Firewall
Per a poder comunicar-nos amb el servidor de IM, haurem d'obrir 3 ports al firewall; 2 necessaris per a la comunicació entre clients-servidor i servidor-servidor (en casos de servidors federats) i un 3r que serà el que ens permetrà accedir a la pàgina web d'administració.
- Port 5222
firewall-cmd --add-port=5222/tcp --permanent
- Port 5269
firewall-cmd --add-port=5269/tcp --permanent
- Port 5443
firewall-cmd --add-port=5280/tcp --permanent
Una vegada oberts els ports, haurem de recarregar el firewall perquè aquestes noves normes tinguin efecte
firewall-cmd --reload
Ports i interfícies
Segons la documentació pública d'aquest programa, podem buscar com cal configurar el servidor ejabberd segons les nostres necessitats.
Per defecte, el programa s'instal·larà sota /usr/local/etc/ejabberd/
; de manera que allà trobarem l'arxiu de configuració, dins el subdirectori. De la mateixa manera, des d'inici, aquest arxiu fa que el programa escolti només per IPv6; cosa que ens impedeix accedir-hi, de moment. Haurem de modificar l'arxiu /usr/local/etc/ejabberd/ejabberd.yml
amb un editor de text que ens vagi bé i buscar les línies següents:
- Línia 49: editar
ip: "0.0.0.0"
- Línia 57: editar
ip: "0.0.0.0"
- Línia 62: editar
ip: "0.0.0.0"
D'aquesta manera, fem que el servidor escolti en totes les interfícies IPv4 que tingui la màquina on està executant-se.
Certificats SSL
Per defecte, l'arxiu de configuració contempla que usarem certificats de Let's Encrypt i figuren rutes per a usar xifrat SSL a les línies 39 i 40 del ejabberd.yml
- "/etc/letsencrypt/live/localhost/fullchain.pem" - "/etc/letsencrypt/live/localhost/privkey.pem"
L'opció que tenim més fàcil és crear certificats auto-signats i canviar aquestes rutes per les que corresponguin. Ho farem de la següent manera:
Usuari administrador
Editarem la línia 103 de l'arxiu de configuració i hi posarem
- allow: local
que permetrà registrar usuaris als propis usuaris locals del sistema. Per defecte està en blanc i està restringit i dóna un error de could_not_register
a l'executar la comanda.
També editarem la línia 30 per a definir un nom de host per a aquell node
- "ejabberd"
Crearem un usuari administrador des de la consola (o via SSH) a la màquina on s'executa el servei d'IM
/usr/local/sbin/ejabberdctl register admin ejabberd contrasenya
[root@ejabberd ~]# /usr/local/sbin/ejabberdctl register admin ejabberd contrasenya WARNING: It is not recommended to run ejabberd as root User admin@ejabberd successfully registered
Ara podem navegar a http://ejabberd:5280/admin (havent modificat prèviament l'arxiu /etc/hosts
del client i accedir amb les credencials creades abans:
Virtual Hosts
Una sola instància d'ejabberd pot gestionar més d'un "domini" XMPP utilitzant Virtual Hosts; com un servidor web Apache o Nginx. En el nostre cas, només hem configurat un sol domini (@ejabberd). De manera que els nostres usuaris tindran un login del tipus usuari@ejabberd amb la seva contrasenya per a poder utilitzar el servei.
Registre d'usuaris
De la mateixa manera que hem afegit l'usuari administrador de