Aggiornamento¶
Una nuova release viene sempre estratta in una directory separata. Non deve essere copiata sopra
l’installazione esistente né estratta direttamente al suo interno. Il nuovo update.sh aggiorna
quindi esattamente l’istanza indicata come argomento.
Preparazione e backup¶
Prima di ogni aggiornamento deve essere disponibile un backup completo e verificato. Deve includere almeno:
L’intera directory dell’istanza, in particolare
core/config/QisutuConfig.pmvar/secure/security.keyIl database
Personalizzazioni proprie di Apache, proxy, TLS e systemd
Se necessario, allegati esterni o posizioni di archiviazione collegate
security.key è indispensabile per ripristinare i segreti crittografati di posta, OAuth e
autenticazione a due fattori. Conservarlo protetto insieme al backup corrispondente dell’istanza.
Scaricare la release¶
cd /tmp
wget https://ftp.qisutu.de/qisutu-1.0.2.tar.gz
tar xzf qisutu-1.0.2.tar.gz
cd qisutu-1.0.2
Durante l’aggiornamento a una versione successiva è naturalmente necessario utilizzare l’URL e il nome della directory della versione di destinazione.
Avviare l’aggiornamento¶
Istanza di produzione:
sudo ./update.sh /opt/qisutu
Istanza aggiuntiva:
sudo ./update.sh /opt/qisututest
L’updater legge var/install/instance.conf e mostra prima della conferma percorso di
installazione, identificatore dell’istanza, percorso web, database e servizio systemd. Interrompere
se uno di questi valori non appartiene all’istanza desiderata.
Procedura di aggiornamento¶
Lo script esegue, tra l’altro, i seguenti passaggi:
Verifica dei checksum della release, delle versioni, del file di schema, della sintassi Perl e della registrazione dei programmi.
Creazione facoltativa di un dump aggiuntivo del database. Controllare prima lo spazio libero in
/var/backups.Attivazione della modalità manutenzione, arresto del daemon dell’istanza e blocco di nuovi recuperi della posta.
Aggiornamento di tutti i file del programma gestiti dalla release; vengono aggiunti i nuovi file e rimossi i file gestiti non più pubblicati.
Conservazione di file locali dell’istanza, configurazioni, registri, dati di esecuzione e chiave di sicurezza.
Confronto dello schema del database ed esecuzione di tutte le migrazioni SQL e Perl non ancora registrate.
Nuova verifica dello stato di destinazione e avvio del daemon.
Controllo successivo¶
Dopo il completamento riuscito, controllare:
systemctl status qisutu-daemon.service
journalctl -u qisutu-daemon.service --since today
Accedere quindi, controllare le versioni Qisutu e database visualizzate e testare almeno accesso, visualizzazione dei ticket, recupero e invio e-mail. In presenza di più istanze, il controllo viene eseguito separatamente per ogni istanza aggiornata.
Aggiornamento non riuscito¶
Non eseguire ripetutamente lo script senza analizzare la causa. Salvare output e registri, controllare spazio libero, accesso al database, permessi dei file e stato del servizio. Se lo stato non è chiaro, ripristinare insieme il backup completo precedentemente verificato della directory del programma e del database.