Aggiornare Ghost

Durante gli scorsi mesi ho provato ad utilizzare il software di blogging Ghost, all’epoca alla versione 3. Nonostante le diverse limitazioni, il sistema non mi dispiaceva affatto.

Infatti avevo iniziato a tenere un nuovo blog che lo utilizzava, e mi divertivo non poco a scriverci sopra. Poi però venne rilasciata l’infausta versione 4.0, che introduceva alcuni cambiamenti discutibili che, infatti, non sono stati bene accolti dalla comunità. Decisi allora di migrare quel blog sul solito WordPress.

Col passare dei mesi, però, il team di sviluppatori di Ghost ha ascoltato le osservazioni degli utenti e ha pian piano rimediato agli errori. Pertanto ho deciso di dargli una nuova chance e di pubblicare ex novo un altro blog.

La sperimentazione è andata relativamente bene, al punto che ho pensato addirittura di migrare tutto Verolinux.org da WordPress a Ghost. Ed effettivamente l’ho fatto, mantenendo però sempre la modalità manutenzione senza mai renderlo pubblico. Tuttavia il caro vecchio WordPress si adatta molto meglio alla natura di questo sito, e quindi sono presto tornato sui miei passi.

Ciò nonostante, sto tenendo ancora “in vita” il blog sperimentale, che nel frattempo è diventato un luogo di pubblicazione stabile, e pertanto continuo a farne la manutenzione, con tanto di backup e aggiornamenti.

Proprio per quanto concerne gli update, che ultimamente sono diventati piuttosto frequenti (ad oggi siamo alla versione 4.22.1) e contengono anche miglioramenti e bugfix importanti, ogni volta mi dimentico quale sia il modo corretto di procedere, e mi tocca sempre andare a consultare la documentazione ufficiale. Questo post è quindi un semplice promemoria per le istruzioni necessarie a fare l’aggiornamento.

Procedura di aggiornamento

Backup

Per prima cosa si fa un backup, sia del database che del filesystem. È bene fare anche un export dei contenuti e delle membership direttamente dalla dashboard del sito.

Personalmente faccio un dump del db con mysqldump e una copia dei file in una directory dedicata:

sudo mysqldump nome_ghost_db > /backup_dir/database.sql
cp -r content /backup_dir/content

Il secondo comando va eseguito ovviamente dall’interno della directory di installazione di Ghost e con un utente che abbia i permessi sufficienti. In alternativa al comando cp, si può usare anche rsync.

Verifica della compatibilità del tema in uso

È possibile che il tema che state usando non sia del tutto compatibile con la nuova versione di Ghost alla quale vi apprestate ad aggiornare. Per vedere se c’è bisogno di apportare qualche aggiustamento, potete utilizzare il tool GScan, che vi fornirà un report utile a fare le correzioni necessarie.

Aggiornamento!

Una volta sicuri che il vostro tema sia aggiornato e compatibile con la versione target di Ghost, si può procedere all’aggiornamento vero e proprio, che consiste nell’aggiornare prima il tool ghost-cli e successivamente il CMS:

sudo npm install -g ghost-cli@latest
ghost update

Attenzione: il comando ghost update va dato dall’interno della directory di installazione di Ghost.

Qualora si verificassero dei problemi, il comando ghost update --rollback vi riporterà alla precedente versione stabile. Nei casi peggiori, potrebbe essere necessario un rollback manuale, motivo per il quale avete provveduto a fare il backup preventivo del sito.