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: 2021/01/21 08:38 by niccolo