Chat, chiamate audio, e videochiamate sono il metodo più semplice per tenersi in contatto con le altre persone. Esistono molte tecnologie che offrono questo tipo di servizio, ma una delle più interessanti è il protocollo XMPP (o Jabber) . Si tratta di un protocollo completamente open source, che chiunque può implementare in un proprio server usando un demone come Ejabberd . È la scelta migliore se si vuole realizzare un server per la propria azienda, senza bisogno di usare servizi esterni.
Può, per esempio, essere una buona opzione per fare una videoconferenza in tempo reale tra due stanze dello stesso edificio: spesso capita di dover organizzare un evento, come un corso di formazione, ma non avere a disposizione una singola stanza abbastanza capiente per tutte le persone invitate, e con una videoconferenza si possono collegare di fatto due stanze diverse. Naturalmente, si potrebbe fare lo stesso usando Skype o altri servizi simili, ma non avrebbe molto senso uscire dalla propria rete locale se si ha solo l’intenzione di comunicare all’interno dello stesso edificio (o in una VPN). Ovviamente, il server Ejabberd può essere usato anche per offrire un servizio pubblico su internet. In questo caso bisogna considerare che il proprio certificato di crittografia SSL deve essere autenticato da una apposita autorità per essere del riconosciuto automaticamente, ma si può usare in rete locale anche senza averlo fatto autenticare. Il vantaggio del certificato, comunque, è che tutta la comunicazione è crittografata e dunque protetta da eventuali intromissioni, il che è molto utile per una azienda o una pubblica amministrazione che tratta informazioni sensibili.
Su un qualsiasi sistema Debian, compreso Raspbian, è possibile installare il server Jabber con il comando
sudo apt-get install ejabberd
Il sistema di pacchetti installerà tutto il necessario, compresi i pacchetti per il supporto alle connessioni SSL.
Dopo l’installazione bisogna eseguire un minimo di configurazione, dando aprendo l’apposito file con il comando
sudo nano /etc/ejabberd/ejabberd.yml
Nella sezione hosts: bisogna aggiungere i vari nomi a cui si vuole rispondere. Se si intende usare il server solo all’interno della rete locale, può essere una buona idea inserire l’indirizzo IP (che spesso è più comodo dei nomi di dominio, se si usano dei computer con Windows).
Può anche essere una buona idea andare nella sezione listen: e assicurarsi che sia presente la riga
starttls_required: true
in modo da forzare la protezione della comunicazione tramite crittografia SSL.
Eseguite le modifiche necessarie, si può riavviare il server Jabber con il comando
sudo ejabberdctl restart
Affinché il riavvio sia completo può essere necessario del tempo, si può controllare che l’avvio del server sia completo controllando il log:
cat /var/log/ejabberd/ejabberd.log
In caso positivo, una delle ultime righe conterrà la frase Application ejabberd started on node .
L’ultima cosa rimasta da fare è creare gli utenti. Lo si può fare con il comando
sudo ejabberdctl register luca archimedes.lan alligatore3
dove il primo argomento è il nome utente, il secondo il nome o l’indirizzo IP a cui il server risponde (lo stesso server può rispondere a diversi nomi), e l’ultimo argomento è la password dell’utente. Con questo comando è ovviamente molto facile automatizzare la procedura, partendo per esempio da una tabella CSV degli utenti da creare.