Utente:Svalo/Aggiornamento Servizi: differenze tra le versioni
(→Nextcloud: prima versione) |
|||
Riga 103: | Riga 103: | ||
* Se tutto è andato bene a quest punto puoi dare il comando | * Se tutto è andato bene a quest punto puoi dare il comando | ||
** <code>./occ/maintenance:mode --off</code> | ** <code>./occ/maintenance:mode --off</code> | ||
* Non è ancora finita: entra nell'interfaccia web e controlla se ci sono aggiornamenti per le app installate | * Non è ancora finita: entra nell'interfaccia web e controlla se ci sono aggiornamenti per le app installate oppure se vanno riabilitate alcune app disabilitate durante l'upgrade | ||
Se qualcosa è andato storto restora il db, ritorna al commit di partenza e spera | Se qualcosa è andato storto restora il db, ritorna al commit di partenza e spera |
Versione attuale delle 21:02, 16 ott 2018
Un po' di appunti su come aggiornare i servizi che abbiamo.
Come regola generale, quando possibile, fai un backup dei dati e del DB prima di cominciare, meglio se con il servizio fermo così non c'è il rischio che avvengano modifiche.
Più in dettaglio le procedure per i diversi servizi:
Sito
- Collegati al server
- Diventa l'utente che fa girare il sito
- Nella home ci dovrebbe essere uno script per fare il backup, lancialo
- Siccome è WP c'è installato un comodo comando che si chiama `wp` per interagire col sito da shell
wp plugin list
lista i plugin e lo stato di questiwp core check-status
da lo stato del core di wpwp core
aggiorna wordcodesswp plugin update --all
aggiorna tutti i plugin installati- se tutto è andato bene i backup codecedenti a quello fatto prima possono essere tolti
Se qualcosa è andato storto puoi recuperare i files ed il DB dal backup che hai fatto con lo script
Wiki
Prima di qualsiasi cosa controlla nelle note di versione non ci siano controindicazioni all'aggiornamento tipo versioni non supportate di PHP o plugin non più supportati o che necessitano di aggiornamenti
- COllegati al server
- diventa l'utente che fa girare il wiki
- Fai un dump del DB col seguente comando
mysqldump -u <utente> -p <dbname> | xz -z > dump_wiki$(date "+%F").sql.xz
- Scarica l'ultima versione della wiki dal sito
- estrai la versione aggiornata nella sua cartella con versione
- copia il file delle impostazioni e delle immagini nella cartella della nuova versione
cp mediawiki/LocalSettings.php mediawiki-<nuova-versione>
rsync -aPh mediawiki/images mediawiki-<nuova-versione>
- controlla quali plugin e skins c'erano nella vecchia installazione e ri-scaricali per la nuova versione. Stanno nella cartella extensions e skins
- Non copiare la cartella extensions o skins perchè ci sono anche i moduli ed i temi core
- Entra nella sottocartella maintenance della cartella del nuovo mediawiki
- Esegui eventuali aggiornamenti dello schema del DB col comando
php update.php
nel frattempo prega
- Se tutto è andato bene puoi aggiornare il collegamento simbolico a cui fa riferimento
mediawiki
- rm mediawiki;ln -s mediawiki-<nuova-versione> mediawiki
- Controlla col browser da desktop e mobile che tutto vada bene
- crea un archivio tar della cartella mediawiki precedente col seguente comando
tar cfvJ mediawiki_$(date "+%F")-<versione>.tar.xz mediawiki-versione
- butta il tar.xz ed il dump del DB nella cartella backups
Se qualcosa è andato male riporta il link simbolico alla versione precedente e ripristina il DB che hai salvato prima
Pad
Il pad è abbastanza facile da aggiornare visto che usa git per le releases
- Collegati al server
- ferma il servizio del pad col comando
systemctl stop etherpad-lite
- Diventa l'utente che fa girare il pad
- Fai un dump del DB col comando
- mysqldump -u <utente> -p <database> | xz > eigenpad-backup-$(date "+%F").sql.xz
- entra nella cartella eigenPad
- prendi nota della versione attuale del pad con
git rev-parse HEAD
- aggiorna il pad col comando
git pull origin maser
basta questo perchè sul branch master tengono solo le versioni stabili
- Adesso non far ripartire il servizio normalmente ma esegui invece il comando
bin/run.sh
questo perchè questo comando aggiorna eventuali dipendenze, fa pulito della cache ed altri cose utili
- Se il pad è partito correttamente (può volerci qualche decina di secondi) allora puoi dare
Ctrl+c
per interromepere lo script e farlo ripartire consystemctl start etherpad-lite
Se qualcosa è andato storto torna al commit da cui sei partito:
- ferma il processo del pad con
systemctl stop etherpad-lite
- dentro la cartella del pad esegui
git checkout <commit id>
- restora il dump del DB che hai fatto prima
- fai partire il pad normalmente con
systemctl start etherpad-lite
Nextcloud
Nextcloud è installata usando git, questo rende supersemplice l'aggiornamento a patto di ricordarsi di fare un po' di passaggi.
Come prima cosa controlla che la nuova versione non abbia requisiti software che il server non soddisfa (php, mysql, ...). Una volta controllato questo è il turno del magico backup.
- Collegati al server
- Diventa l'utente che fa girare nextcloud col comando
sudo -iu nextcloud
- Metti nextcloud in modalità di manutenzione così nessunu modificherà il sistema mentre lo usi
cd nextcloud/; ./occ maintenance:mode --on
- Fai un dump del db (i parametri li trovi in nextcloud/config/config.php) col comando
mysqldump -u <utente> -p <dbname> | xz > nextcloud-backup-$(date "+%F").sql.xz
- entra nella cartella
/home/nextcloud/nextcloud
- chiedi a git a che commit stai
git show
questo servirà in caso qualcosa vada storto
- Fai un backup delle configurazioni
tar cfvJ config-$(date "+%F").tar.xz config
- A questo punto sei prontu per l'aggiornamento
cd nextcloud; git fetch;git checkout <laversionechevuoi>
cd 3rdparty; git fetch;git checkout <lastessaversionediprima>
cd nextcloud; ./occ upgrade
- Se tutto è andato bene a quest punto puoi dare il comando
./occ/maintenance:mode --off
- Non è ancora finita: entra nell'interfaccia web e controlla se ci sono aggiornamenti per le app installate oppure se vanno riabilitate alcune app disabilitate durante l'upgrade
Se qualcosa è andato storto restora il db, ritorna al commit di partenza e spera