Strumento di configurazione OmniDB
Nota: l’utility CLI standalone omnidb-config/omnidb-config-app/
omnidb-config-server descritta in questa pagina apparteneva alla precedente
versione basata su Python/Django e non fa parte della release attuale. Il
singolo binario omnidb-server accetta solo poche opzioni da riga di comando:
-A/--app (modalità app desktop), -H/--host (indirizzo
di ascolto), -p/--port (porta di ascolto), -d/--homedir
(scelta della directory home) e --set-password (impostazione della password di un utente,
vedi sotto) — tutte descritte nella sezione Opzioni della riga di comando di
Distribuzione di omnidb-server. Non esiste alcun file di
configurazione. Le attività di manutenzione che il vecchio strumento offriva possono ancora essere
svolte manualmente, come descritto di seguito.
Directory home
OmniDB memorizza tutto — il database omnidb.db (utenti, connessioni e altri
dati dell’app) e una cartella temp per i file esportati — in un’unica
directory home. Per impostazione predefinita è ~/.omnidb/omnidb-app
(modalità desktop) o ~/.omnidb/omnidb-server (modalità server); passa
-d /percorso/qualsiasi per usarne una diversa (la directory deve già esistere). Se il
sistema operativo non offre un archivio dei segreti per la chiave di cifratura delle password
salvate, la stessa directory contiene anche quella chiave, nel file
.connection_secret_key — vedi Sicurezza e server
multiutente. Quando esegui il backup o sposti omnidb.db, porta con te anche quel
file.
Creare un utente
Attualmente non esiste un’opzione da riga di comando per creare un utente
senza aprire OmniDB. Alla prima esecuzione con una directory home vuota,
OmniDB crea automaticamente un superuser predefinito admin — in modalità server
con una password casuale stampata una sola volta nell’output di log del server (la riga che
contiene initial login: admin / …). Accedi con questo utente e crea altri utenti in
Impostazioni > Account > Gestisci utenti, oppure cambia la password in
Impostazioni > Password.
Impostare o reimpostare una password
Se la password iniziale monouso di admin è andata persa (o vuoi impostarne una tua
prima del primo accesso), puoi impostare la password di qualsiasi utente esistente direttamente
nel database dell’app, senza avviare il server:
user@machine:~$ omnidb-server --set-password admin
user@machine:~$ omnidb-server --set-password admin -d /path/to/homedir
Senza -d viene usata la directory home predefinita del server
(~/.omnidb/omnidb-server). In un terminale la nuova password viene chiesta due volte,
senza mostrarla; altrimenti viene letta dalla prima riga dello standard input, comodo negli
script:
user@machine:~$ printf '%s\n' "$PW" | omnidb-server --set-password admin
La password non viene mai passata come argomento da riga di comando, quindi non compare
nell’output di ps né nella cronologia della shell. Deve essere lunga almeno 8 caratteri
e l’utente deve già esistere. L’opzione viene rifiutata insieme a -A: l’app desktop
accede automaticamente e non ha alcuna password da gestire. Si può eseguire anche con il server in
funzione: la nuova password vale subito per i nuovi accessi, mentre gli utenti già collegati restano
collegati finché la loro sessione non scade o il server non viene riavviato.
Vacuum
OmniDB ha un unico database SQLite, omnidb.db, che memorizza tutti gli
utenti, le connessioni e altri dati relativi a OmniDB. Trattandosi di un
semplice file SQLite, puoi eseguirne il vacuum con qualsiasi client SQLite
mentre OmniDB non è in esecuzione, ad esempio:
user@machine:~$ sqlite3 ~/.omnidb/omnidb-app/omnidb.db 'VACUUM;'
Reimpostare il database
Se desideri eliminare tutte le informazioni di OmniDB e ottenere un database
pulito come appena installato, chiudi OmniDB ed elimina (o sposta altrove) il
file omnidb.db nella directory home. Un nuovo file vuoto — con un nuovo
utente predefinito admin (in modalità server con una nuova password monouso stampata nel log) — viene creato automaticamente al
successivo avvio di OmniDB. Usa questa procedura con cautela: non può essere
annullata.
Eliminare i file temporanei
I risultati delle query esportati (CSV/XLSX/ecc.) vengono scritti nella
cartella temp all’interno della directory home. È sicuro eliminarne il
contenuto manualmente in qualsiasi momento mentre OmniDB non è in esecuzione;
OmniDB la ricrea quando necessario.