User Tools

Site Tools


doc:appunti:linux:sa:matrix

This is an old revision of the document!


Matrix Messenger

Come installare un server per la messaggistica Matrix su una Debian GNU/Linux 10 Buster.

Il server di riferimento sviluppato da Matrix per la propria piattaforma è Matrix Synapse. Si tratta di una implementazione adeguata ad eseguire un home server.

  • Installazione di un server sotto un nome di dominio, esempio matrix.example.org.
  • Accesso tramite protocollo HTTPS grazie a certificati SSL rilasciati da Let's Encrypt.
  • Attivazione di un reverse proxy HTTP con Apache, che offre il vantaggio di … FIXME
  • Disabilitazione della auto-registrazione; gli utenti vengono creati dall'amministratore.
  • Attivazione delle notifiche via mail, che consente di associare pubblicamente il proprio account Matrix ad un indirizzo di posta elettronica per facilitare la ricerca del nostro contatto.

Installazione di matrix-synapse in Debian 10 Buster

In Debian esiste il pacchetto matrix-synapse versione 1.24.0, ma è nella suite buster-backports, quindi è necessario aggiungere tale repository in /etc/apt/sources.list:

deb     http://deb.debian.org/debian buster-backports main contrib non-free
deb-src http://deb.debian.org/debian buster-backports main contrib non-free

Al termine dell'installazione il server dovrebbe essere in ascolto sulla porta 8008/TCP, sia su localhost che sull'indirizzo IP pubblico.

Ottenre i certificati SSL da Let's Encrypt

Al termine dell'operazione i file da utilizzare sono:

  • /etc/letsencrypt/live/matrix.example.org/fullchain.pem
  • /etc/letsencrypt/live/matrix.example.org/privkey.pem

/etc/matrix-synapse/homeserver.yaml

Attivare il server web con reverse proxy

Abbiamo preferito utilizzare il server web Apache per la sua veratilità, in rete tuttavia si trovano molte ricette per utilizzare il più compatto Nginx. Dopo aver installato il pacchetto apache2 è necessario attivare i moduli ssl e proxy_http:

apt-get install apache2
a2enmod ssl
a2enmod proxy_http
systemctl restart apache2

La direttiva nocanon è indispensabile, senza di essa abbiamo riscontrato il seguente errore quando si è cercato di accettare la richiesta di messaggio diretto da parte di un utente registrato su matrix.org:

SynapseError: 401 - Invalid signature for server matrix.org with key ed25519:a_RXGa:
Unable to verify signature for matrix.org:
<class 'nacl.exceptions.BadSignatureError'> Signature was forged or corrupt

Creazione di un account

Si deve creare prima un account amministratore:

register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008
New user localpart [root]: niccolo
Password:
Confirm password:
Make admin [no]: yes
Sending registration request...
Success!

Debug

Verificare quale versione del software è in esecuzione sul server:

curl https://matrix.example.org/_matrix/federation/v1/version

Abilitare le notifiche email

Nella app Element si prova a configurare il proprio indirizzo email da ImpostazioniGeneraliEmail e numeri di telefono. Quando si aggiunge una email - se le notifiche email sono disattivate sul server - si ottiene l'errore:

Adding an email to your account is disabled on this server

La configurazione in /etc/matrix-synapse/homeserver.yaml deve contenere tutto il necessario, altrimenti:

ERROR: Password reset emails are enabled on this homeserver due to a partial
'email' block. However, the following required keys are missing:
    public_baseurl

Test dal client web riot.im

Si visita la pagina https://riot.im/app/#/login

Other homeserver https://matrix.example.org
Username
Password

Installazione della app Element

Il client più utilizzato per accedere alla messaggistica Matrix è Element, esiste per piattaforma Android e iOS, ma esiste anche in versione desktop per Windows e Mac OS.

La versione Android, essendo un programma libero ed open source, è scaricabile sia dal Google Play che da repository alternativi come F-Droid. Fra le due versioni c'è una sostanziale differenza sia in termini di dimensione (circa 22 Mb per la versione Google Play, 50 Mb per la versione F-Droid), sia in termini di funzionalità; la versione Google Play infatti utilizza i servizi Google per la gestione delle notifiche, ottimizzando il traffico e la gestione della batteria a discapito della libertà: infatti è necessario avere un account Google attivo per utilizzarla.

Web References

doc/appunti/linux/sa/matrix.1610968115.txt.gz · Last modified: by niccolo