====== ejabberd ====== ===== Configurazione ===== La configurazione va in **''/etc/ejabberd/ejabberd.cfg''**, in particolare si deve definire l'utente amministratore e il nome di dominio: %% Admin user {acl, admin, {user, "niccolo", "rigacci.org"}}. %% Hostname {hosts, ["rigacci.org"]}. Con questa configurazione dovrebbe essere possibile puntare il browser su **''%%http://:5280/admin%%''** e loggarsi con l'utente ''%%niccolo@rigacci.org%%''. ===== Certificato SSL ===== Vedere gli appunti per [[ssl_cert#ejabber|creare il certificato SSL]]. ===== Migrazione ejabberd ===== Sul vecchio server Lutra (versione ejabberd 2.1.5) si esegue il backup del database: ejabberdctl backup /tmp/ejabberd-lutra.backup scp /tmp/ejabberd-lutra.backup paguma:/tmp Sul nuovo server Paguma (versione ejabberd 2.1.10) si deve modificare il nome del nodo prima di effettuare il restore: chown ejabberd.ejabberd /tmp/ejabberd-lutra.backup ejabberdctl mnesia_change_nodename ejabberd@lutra ejabberd@paguma \ /tmp/ejabberd-lutra.backup /tmp/ejabberd-paguma.backup ejabberdctl install_fallback /tmp/ejabberd-paguma.backup ejabberdctl stop ps uax | grep ejabberd # Kill all ejabberd processes: kill ... /etc/init.d/ejabberd start Se fosse necessario cancellare il database di ejabberd: /etc/init.d/ejabberd stop ps uax | grep ejabberd # Kill all ejabberd processes: kill ... rm /var/lib/ejabberd/* /etc/init.d/ejabberd start ===== Problema del nome FQDN e autorizzazione negata a Pidgin ===== Si può incappare in un errore di autorizzazione se il nome host usato dal client Pidgin per la connessione non corrisponde al nome FQDN usato dal server stesso. Se in Pidgin non viene indicato un nome nel //Connect server// (impostazioni avanzate), viene interrogato il DNS per il record SVR **''_xmpp-client._tcp.''**, dove ''%%%%'' è la parte alla destra della "@" nel nome dell'account. **ATTENZIONE** la risoluzione di un record SVR **potrebbe non funzionare**, ad esempio con un DNS proxy come **dnsmasq**. Per verificare il buon funzionamento: host -t SRV _xmpp-client._tcp.faunalia.it Il client Pidgin quindi contatta tale host. Se il nome restituito dal record SRV non corrisponde al FQDN dell'host stesso (eseguire il comando **''hostname -f''** sul server), l'autorizzazione fallisce in quanto il digest-uri viene calcolato su due nomi di host diversi dal client e dal server, questo il messaggio di errore in ''/var/log/ejabberd/ejabberd.log'': D(<0.394.0>:cyrsasl_digest:72) : User login not authorized because digest-uri seems invalid: "xmpp/xmpp.faunalia.it" (checking for Host "faunalia.it", FQDN "paguma.faunalia.it") Bisogna aver attivato un livello di debug adeguato in ''/etc/ejabberd/ejabberd.cfg'': {loglevel, 5}. In definitiva Pidgin **deve contattare l'hostname FQDN esatto del server stesso**, non un suo alias. Lo può fare sia con le impostazioni //Connect server// oppure tramite risoluzione del record SRV nel DNS. Ecco un esempio di come configurare il DNS: _jabber._tcp IN SRV 5 0 5269 paguma _xmpp-server._tcp IN SRV 5 0 5269 paguma _xmpp-client._tcp IN SRV 5 0 5222 paguma ---- echo 'Profilo Google+' . "\n";