Utente:Svalo/Aggiornamento Servizi

Da EigenWiki.
< Utente:Svalo
Versione del 6 ott 2018 alle 19:30 di Svalo (discussione | contributi) (→‎Pad: Istruzioni upgrade-downgrade)
Vai alla navigazione Vai alla ricerca

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 questi
  • wp core check-status da lo stato del core di wp
  • wp core aggiorna wordcodess
  • wp 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 con
    • systemctl 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