doc:appunti:linux:sa:matrix
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:appunti:linux:sa:matrix [2021/01/21 08:38] – [Verifica identità] niccolo | doc:appunti:linux:sa:matrix [2024/04/15 16:46] (current) – [Test dal client web riot.im] niccolo | ||
|---|---|---|---|
| Line 71: | Line 71: | ||
| Ciò significa che **ogni utente** di questo nodo Matrix dovrà essere **creato dall' | Ciò significa che **ogni utente** di questo nodo Matrix dovrà essere **creato dall' | ||
| - | |||
| ==== Ottenere i certificati SSL/TLS da Let's Encrypt ==== | ==== Ottenere i certificati SSL/TLS da Let's Encrypt ==== | ||
| Line 138: | Line 137: | ||
| Con la configurazione vista sopra, chiamando l'URL **%%http:// | Con la configurazione vista sopra, chiamando l'URL **%%http:// | ||
| + | |||
| ==== Alternativa: | ==== Alternativa: | ||
| Line 154: | Line 154: | ||
| < | < | ||
| openssl dhparam -out / | openssl dhparam -out / | ||
| - | </ | ||
| - | |||
| - | ==== Creazione di un account ==== | ||
| - | |||
| - | Avendo disabilitato l' | ||
| - | |||
| - | < | ||
| - | registration_shared_secret: | ||
| - | </ | ||
| - | |||
| - | Eseguendo il comando successivo sulla stessa macchina, non è necessario digitare tale password; questa verrà letta direttamente dal file yaml: | ||
| - | |||
| - | < | ||
| - | register_new_matrix_user -c / | ||
| - | </ | ||
| - | |||
| - | < | ||
| - | New user localpart [root]: niccolo | ||
| - | Password: | ||
| - | Confirm password: | ||
| - | Make admin [no]: yes | ||
| - | Sending registration request... | ||
| - | Success! | ||
| </ | </ | ||
| Line 189: | Line 166: | ||
| Gli utenti del nostro nodo saranno conosciuti alla federazione con il nome **%%@username: | Gli utenti del nostro nodo saranno conosciuti alla federazione con il nome **%%@username: | ||
| + | |||
| ==== Debug ==== | ==== Debug ==== | ||
| Line 257: | Line 235: | ||
| - Nella app è possibile adesso tappare il pulsante **prosegui**. | - Nella app è possibile adesso tappare il pulsante **prosegui**. | ||
| - Per ulteriore conferma è necessario **immettere la propria password** dell' | - Per ulteriore conferma è necessario **immettere la propria password** dell' | ||
| + | |||
| + | ===== Gestione utenti ===== | ||
| + | |||
| + | ==== Creazione di un account ==== | ||
| + | |||
| + | Avendo disabilitato l' | ||
| + | |||
| + | < | ||
| + | registration_shared_secret: | ||
| + | </ | ||
| + | |||
| + | Eseguendo il comando successivo sulla stessa macchina, non è necessario digitare tale password; questa verrà letta direttamente dal file yaml: | ||
| + | |||
| + | < | ||
| + | register_new_matrix_user -c / | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | New user localpart [root]: niccolo | ||
| + | Password: | ||
| + | Confirm password: | ||
| + | Make admin [no]: yes | ||
| + | Sending registration request... | ||
| + | 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=' | ||
| + | </ | ||
| ===== Test dal client web riot.im ===== | ===== Test dal client web riot.im ===== | ||
| Line 263: | Line 283: | ||
| ^ Other homeserver | ^ Other homeserver | ||
| - | ^ Username | + | ^ Username |
| ^ Password | ^ Password | ||
| + | |||
| + | Una sessione avviata in questa pagina web può essere anche verificata (passare da //Not trusted// a // | ||
| + | |||
| + | In generale, se si effettua la disconnessione dal client web di Element, la sessione viene distrutta. I nostri interlocutori dovrebbero vederla scomparire immediatamente dall' | ||
| ===== Installazione della app Element ===== | ===== Installazione della app Element ===== | ||
| Line 295: | Line 319: | ||
| ===== Farsi trovare ===== | ===== Farsi trovare ===== | ||
| - | Un **sistema di directory** (elenco) consente di cercare e trovare l'ID Matrix di una persona a partire dall' | + | 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' | In maniera analoga è possibile pubblicare sull' | ||
| Line 301: | Line 325: | ||
| **ATTENZIONE**: | **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.1611214693.txt.gz · Last modified: by niccolo
