Diferència entre revisions de la pàgina «ASIX/M08/UF3/PT21/3»

De Lordwektabyte Wiki
Salta a la navegació Salta a la cerca
Línia 35: Línia 35:
 
Per a fer això farem servir la comanda <code>ejabberdctl</code> que es troba a <code>/opt/ejabberd-18.12/bin/</code>. Com que aquesta ruta no està al ''PATH'' de l'usuari ''root'', farem un ''symlink'' cap a <code>/bin/ejabberdctl</code> per a poder-lo utilitzar sense especificar la ruta sencera:
 
Per a fer això farem servir la comanda <code>ejabberdctl</code> que es troba a <code>/opt/ejabberd-18.12/bin/</code>. Com que aquesta ruta no està al ''PATH'' de l'usuari ''root'', farem un ''symlink'' cap a <code>/bin/ejabberdctl</code> per a poder-lo utilitzar sense especificar la ruta sencera:
 
<source>ln -s /opt/ejabberd-18.12/bin/ejabberdctl /bin/ejabberdctl</source>
 
<source>ln -s /opt/ejabberd-18.12/bin/ejabberdctl /bin/ejabberdctl</source>
 +
 +
Llavors editarem la línia '''103''' de l'arxiu de configuració i hi posarem
 +
<source>- allow: local</source>
 +
que permetrà registrar usuaris als propis usuaris locals del sistema. Per defecte està en blanc i està restringit i dóna un error de <code>could_not_register</code> a l'executar la comanda.
  
 
Crearem un usuari administrador des de la consola (o via SSH) a la màquina on s'executa el servei d'IM
 
Crearem un usuari administrador des de la consola (o via SSH) a la màquina on s'executa el servei d'IM
<source>ejabberdctl register admin ejabberd.boeck contrasenya</source>
+
<source>ejabberdctl register admin ejabberd contrasenya</source>
 +
 
 +
<source>[root@ejabberd ejabberd]# ejabberdctl register admin ejabberd contrasenya
 +
{"init terminating in do_boot",{undef,[{ejabberd_ctl,start,[],[]},{init,start_it,1,[]},{init,start_em,1,[]}]}}
  
Línia 103    - allow: local
+
Crash dump was written to: /opt/ejabberd/logs/erl_crash_20181213-174924.dump
 +
init terminating in do_boot ()
 +
</source>

Revisió del 17:08, 13 des 2018

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=5443/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 /opt/ejabberd; de manera que allà trobarem l'arxiu de configuració, dins el subdirectori conf. 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 ejabberd/conf/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.

Usuari administrador

Per a fer això farem servir la comanda ejabberdctl que es troba a /opt/ejabberd-18.12/bin/. Com que aquesta ruta no està al PATH de l'usuari root, farem un symlink cap a /bin/ejabberdctl per a poder-lo utilitzar sense especificar la ruta sencera:

ln -s /opt/ejabberd-18.12/bin/ejabberdctl /bin/ejabberdctl

Llavors 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.

Crearem un usuari administrador des de la consola (o via SSH) a la màquina on s'executa el servei d'IM

ejabberdctl register admin ejabberd contrasenya
[root@ejabberd ejabberd]# ejabberdctl register admin ejabberd contrasenya
{"init terminating in do_boot",{undef,[{ejabberd_ctl,start,[],[]},{init,start_it,1,[]},{init,start_em,1,[]}]}}

Crash dump was written to: /opt/ejabberd/logs/erl_crash_20181213-174924.dump
init terminating in do_boot ()