This is an old revision of the document!
Table of Contents
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 …
- 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 Impostazioni ⇒ Generali ⇒ Email 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.