RiparaTa.it | Laboratorio Tecnico Informatico

Contattaci Subito

Smartphone: 3888673983
Laptop & PC: 3924685045

Orari delle sedi:

Smartphone:
9:15-13:15 | 16:00-18:30
Laptop & PC:
9:15-13:00 | 17:00-19:45

Email

[email protected]
Da Lunedì a Venerdì

Installare un server Matrix: guida pratica per creare la propria rete di comunicazione

Categoria: Tecnologia

Tecnologia

Installare un server Matrix: guida pratica per creare la propria rete di comunicazione


Installare un server Matrix: guida pratica per creare la propria rete di comunicazione

Con la crescente attenzione verso privacy, controllo dei dati e indipendenza dalle grandi piattaforme, sempre più sviluppatori, aziende e comunità stanno valutando la possibilità di installare un server Matrix autonomo. Grazie alla natura open source del protocollo, chiunque può creare il proprio nodo della rete e partecipare alla federazione globale.

Il progetto di riferimento per creare un server Matrix è Synapse, sviluppato dalla comunità Matrix. Il codice e la documentazione ufficiale sono disponibili sul sito del progetto:
https://matrix.org

Synapse è il software che implementa il protocollo Matrix e gestisce utenti, stanze di chat, federazione con altri server e la distribuzione degli eventi.


I requisiti di base

Per installare un server Matrix sono necessari alcuni elementi fondamentali:

  • un server Linux (generalmente Ubuntu o Debian)

  • un dominio Internet

  • accesso come amministratore (root)

  • una porta pubblica HTTPS

  • almeno 2 GB di RAM per installazioni leggere

Il dominio è importante perché in Matrix l’identità degli utenti è legata al nome del server. Un utente registrato sul proprio server avrà un identificativo come:

@utente:tuodominio.it

Installazione del server Synapse

Su sistemi Ubuntu o Debian l’installazione può essere eseguita tramite il repository ufficiale Matrix.

Prima si aggiunge la chiave del repository:

sudo apt install -y lsb-release wget apt-transport-https
sudo wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg

Poi si aggiunge il repository:

echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/matrix-org.list

Infine si installa Synapse:

sudo apt update
sudo apt install matrix-synapse-py3

Durante l’installazione il sistema chiederà il nome del server (server name) che normalmente corrisponde al dominio principale.


Configurazione del server

La configurazione principale si trova nel file:

/etc/matrix-synapse/homeserver.yaml

Qui è possibile definire:

  • porte di ascolto

  • parametri di federazione

  • database

  • registrazione utenti

  • sicurezza

Per piccoli server il database SQLite integrato può essere sufficiente. Per installazioni più grandi si utilizza generalmente PostgreSQL.


Configurazione HTTPS e reverse proxy

Matrix richiede connessioni sicure HTTPS per la federazione.
Di solito si utilizza un reverse proxy come Nginx o Apache davanti a Synapse.

Esempio con Nginx:

server {
    listen 443 ssl;
    server_name tuodominio.it;

    location / {
        proxy_pass http://localhost:8008;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
}

Il certificato TLS può essere ottenuto facilmente con Let’s Encrypt.


Server discovery (.well-known)

Per permettere agli altri server Matrix di trovare il nodo corretto è consigliato configurare il file:

https://tuodominio.it/.well-known/matrix/server

contenente:

{
  "m.server": "matrix.tuodominio.it:443"
}

Questo consente alla rete Matrix di individuare automaticamente il server che gestisce il dominio.


Creare il primo utente

Una volta avviato Synapse si può creare il primo account amministratore:

register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008

Il comando chiederà:

  • username

  • password

  • se l’utente deve essere amministratore


Collegare un client: Element

Dopo aver creato il server, gli utenti possono connettersi tramite client compatibili con Matrix. Il più diffuso è Element, disponibile per:

  • web

  • desktop

  • Android

  • iOS

Il progetto ufficiale è disponibile qui:

https://element.io

Durante il login è sufficiente indicare il server Matrix personale invece di utilizzare uno pubblico.


Federazione con la rete Matrix

Una volta online, il server può comunicare con gli altri nodi della rete Matrix se la federazione è abilitata nella configurazione.

Questo permette agli utenti di:

  • entrare in stanze ospitate su altri server

  • chattare con utenti di domini diversi

  • partecipare alla rete globale Matrix

Se invece si vuole una rete privata, la federazione può essere limitata o disabilitata completamente.


Manutenzione e scalabilità

Per piccoli gruppi o comunità, un singolo server può essere sufficiente. Tuttavia, Matrix è progettato per scalare:

  • database PostgreSQL

  • caching Redis

  • worker process distribuiti

  • bilanciamento del carico

Molte aziende utilizzano Matrix proprio perché permette di costruire infrastrutture di comunicazione completamente autonome.


Una piattaforma di comunicazione indipendente

Installare un server Matrix significa trasformarsi da semplice utente di una piattaforma a operatore della propria infrastruttura di comunicazione.

Questo approccio, simile a quello dell’email o del web, permette a comunità, aziende e sviluppatori di costruire sistemi di messaggistica indipendenti, interoperabili e federati.

In un ecosistema digitale dominato da servizi centralizzati, Matrix rappresenta una delle architetture più interessanti per riportare il controllo delle comunicazioni direttamente nelle mani degli utenti e delle organizzazioni.