doc:appunti:linux:sa:matrix
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
doc:appunti:linux:sa:matrix [2021/01/21 06:57] – [Perdita della password] niccolo | doc:appunti:linux:sa:matrix [2024/03/27 14:04] – [Creazione di un account] niccolo | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Matrix Messenger ====== | ====== Matrix Messenger ====== | ||
- | Come installare un server per la messaggistica | + | {{ .: |
+ | **[[https:// | ||
- | Il ruolo di un server Matrix è quello di **memorizzare le chat personali** di un utente e le **informazioni dell' | + | Il server di riferimento sviluppato da Matrix per la propria piattaforma è **Matrix Synapse**. Si tratta di una implementazione adeguata ad eseguire un **home server**. Queste sono le caratteristiche della nostra installazione: |
- | + | ||
- | Il server di riferimento sviluppato da Matrix per la propria piattaforma è **Matrix Synapse**. Si tratta di una implementazione adeguata ad eseguire un **home server**. | + | |
- | + | ||
- | Queste sono le caratteristiche della nostra installazione: | + | |
* Installazione di un server sotto un nome di dominio, esempio **matrix.example.org**. | * Installazione di un server sotto un nome di dominio, esempio **matrix.example.org**. | ||
Line 158: | Line 155: | ||
openssl dhparam -out / | openssl dhparam -out / | ||
</ | </ | ||
+ | |||
+ | ===== Gestione utenti ===== | ||
==== Creazione di un account ==== | ==== Creazione di un account ==== | ||
Line 181: | Line 180: | ||
Success! | Success! | ||
</ | </ | ||
+ | |||
+ | ==== Reset password ==== | ||
+ | |||
+ | Generare un nuovo hash con il tool **hash_password** (incluso nel pacchetto Debian **matrix-synapse**): | ||
+ | |||
+ | < | ||
+ | hash_password -p MySecret | ||
+ | $2b$12$6Q.zARcyW0nnRzmmo8d1H.NblSGbj309lBevr/ | ||
+ | </ | ||
+ | |||
+ | Collegarsi al database di backend, individuare l' | ||
+ | |||
+ | <code sql> | ||
+ | SELECT name FROM users; | ||
+ | SET password_hash=' | ||
+ | WHERE name=' | ||
+ | </ | ||
+ | |||
==== Configurazione del DNS ==== | ==== Configurazione del DNS ==== | ||
- | Per far funzionare la federazione tra server Matrix | + | Dopo aver scelto il nome del nostro homeserver |
< | < | ||
+ | matrix | ||
_matrix._tcp | _matrix._tcp | ||
</ | </ | ||
Line 294: | Line 312: | ||
{{.: | {{.: | ||
La via più semplice è **lo scambio di un codice QR in presenza fisica**. Per farlo è sufficiente che uno dei due interlocutori faccia tap sull' | La via più semplice è **lo scambio di un codice QR in presenza fisica**. Per farlo è sufficiente che uno dei due interlocutori faccia tap sull' | ||
+ | |||
+ | ===== Farsi trovare ===== | ||
+ | |||
+ | Un **sistema di directory** (elenco) consente di cercare e trovare l'ID Matrix di una persona a partire dall' | ||
+ | |||
+ | In maniera analoga è possibile pubblicare sull' | ||
+ | |||
+ | **ATTENZIONE**: | ||
+ | |||
+ | ===== Client web ===== | ||
+ | |||
+ | Oltre alla **app Element** per Android e iOS, esiste anche un **client basato su web**, si tratta di **[[https:// | ||
+ | |||
+ | **ATTENZIONE**: | ||
+ | |||
+ | ===== Migrazione da SQLite a Postgres ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | Verificate che siano installati i pacchetti Debian: | ||
+ | |||
+ | * **postgresql** - Object-relational SQL database | ||
+ | * **python3-psycopg2** - Python 3 module for PostgreSQL | ||
+ | * **libpq5** - PostgreSQL C client library | ||
+ | |||
+ | Cambiare utente in **postgres** ed eseguire nella shell **psql** i seguenti comandi SQL: | ||
+ | |||
+ | <code sql> | ||
+ | CREATE USER synapse_user PASSWORD ' | ||
+ | CREATE DATABASE synapse | ||
+ | ENCODING ' | ||
+ | LC_COLLATE=' | ||
+ | LC_CTYPE=' | ||
+ | template=template0 | ||
+ | OWNER synapse_user; | ||
+ | </ | ||
+ | |||
+ | Nel file di configurazione **/ | ||
+ | |||
+ | < | ||
+ | server_name: | ||
+ | </ | ||
+ | |||
+ | Preparare una nuova versione del file di configurazione **/ | ||
+ | |||
+ | < | ||
+ | # Database configuration | ||
+ | database: | ||
+ | name: " | ||
+ | args: | ||
+ | user: synapse_user | ||
+ | password: MyDbSecret | ||
+ | database: synapse | ||
+ | host: 127.0.0.1 | ||
+ | cp_min: 5 | ||
+ | cp_max: 10 | ||
+ | </ | ||
+ | |||
+ | Spostarsi nella directory **/ | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/sh -xe | ||
+ | cd / | ||
+ | systemctl stop matrix-synapse.service | ||
+ | synapse_port_db \ | ||
+ | --sqlite-database / | ||
+ | --postgres-config / | ||
+ | mv / | ||
+ | mv / | ||
+ | systemctl start matrix-synapse.service | ||
+ | </ | ||
+ | |||
+ | La nostra ricetta semplificata **tiene fermo il servizio Matrix per tutto il tempo della migrazione**. Con database di una certa dimensione questa operazione potrebbe richiedere diversi minuti; vedere le **[[https:// | ||
===== Web References ===== | ===== Web References ===== |
doc/appunti/linux/sa/matrix.txt · Last modified: 2024/04/15 14:46 by niccolo