Vuoi sapere come fare l’aggiornamento di Drupal senza creare problemi al sito? Ecco una guida passo passo con cui ti mostreremo come aggiornare il tuo sito con due metodi: manualmente o usando composer da terminale.
Iniziamo col vedere come vengono indicate le versioni di Drupal e cosa fare prima di iniziare.
Table of Contents
Aggiornamento Drupal: come interpretare le versioni
Prima di passare alla procedura vera e propria e capire come aggiornare il nostro sito Drupal, occorre fare una piccola premessa sulle versioni.
Ogni versione di Drupal è contrassegnata da 3 cifre in questo modo: X.Y.Z. Come puoi vedere in questo esempio:
La prima cifra, nel nostro esempio 9, è la versione major.
La seconda, 4, è la versione minor: le minor vengono rilasciate all’incirca ogni sei mesi.
La terza, 7, corrisponde alla patch: ogni mese viene in genere pubblicata una nuova patch.
Quando parliamo di aggiornare Drupal, in realtà, si dovrebbe distinguere tra due tipi di aggiornamenti:
- il passaggio da una major all’altra, per esempio da Drupal 8 a Drupal 9 richiede spesso una vera e propria migrazione;
- quando si resta all’interno della stessa versione major, invece si parla di aggiornamento.
Nota che in inglese esistono due termini: upgrade e update. Il primo si usa in genere per indicare il passaggio da una versione major all’altra. Si parla di update negli altri casi.
In questa guida ci concentreremo sull’aggiornamento da una versione all’altra, restando nella stessa major.
Aggiornamento Drupal: prima di iniziare
Come abbiamo visto anche nelle guide sull’aggiornamento di PrestaShop, Joomla e WordPress, ci sono delle verificare da fare prima di iniziare la procedura di aggiornamento di un CMS.
Prima dell’aggiornamento di Drupal, dovrai:
- assicurarti di avere un backup recente dei dati e del database;
- fare un controllo dei moduli e dei temi per essere sicuro che saranno compatibili con la nuova versione;
- verificare che il server abbia i requisiti necessari.
Fare un backup
Prima di iniziare effettua un backup completo dei dati e del database del sito. Ricordati che durante la procedura di aggiornamento si possono verificare errori.
Avere un backup è, quindi, l’unico sistema che può permetterti di ritornare alla versione precedente e ripristinare il sito in caso di necessità.
SupportHost ti offre backup automatici gratuiti degli ultimi 30 giorni, inoltre puoi fare un backup e ripristinarlo in autonomia da cPanel. In ogni caso è sempre opportuno fare un backup manuale prima di un’operazione importante come un aggiornamento.
Creare un ambiente di test
Se l’aggiornamento va storto il tuo sito potrebbe non funzionare.
Per evitare errori, la soluzione migliore è di testare l’aggiornamento in un ambiente di test e solo dopo applicare le modifiche al sito in produzione.
Ci sono due sistemi per farlo:
- puoi creare un ambiente di sviluppo in locale, per esempio usando MAMP;
- puoi usare la funzione di staging se il tuo provider la mette a disposizione.
Con SupportHost creare uno staging del sito è un gioco da ragazzi ed è una funzione che abbiamo scelto di offrire in tutti i piani.
Quali sono i metodi per aggiornare Drupal?
Esistono principalmente due alternative per aggiornare Drupal:
- l’aggiornamento manuale;
- l’aggiornamento via Composer.
Drupal raccomanda di aggiornare il CMS con Composer. Un altro metodo che possiamo utilizzare è l’aggiornamento manuale che ci permette di aggiornare Drupal anche senza avere accesso al terminale.
SupportHost offre in tutti i piani l’accesso SSH incluso, per cui se ad esempio hai un hosting Drupal puoi scegliere il metodo che preferisci per aggiornare il CMS da linea di comando.
Come aggiornare Drupal manualmente
In questa sezione della nostra guida all’aggiornamento di Drupal vedremo come fare l’aggiornamento manuale.
Premessa
I passaggi che vedremo si riferiscono all’aggiornamento da una versione minor all’altra e sono validi quindi per l’aggiornamento verso una minor o una patch.
Nel nostro esempio specifico aggiorneremo Drupal dalla versione 9.3.13 alla 9.4.7, l’ultima versione rilasciata.
Tieni presente che se hai installato alcuni moduli utilizzando Composer, dovrai usare sempre Composer per aggiornare Drupal o rischi di creare conflitti tra le dipendenze dei moduli.
Come aggiornare Drupal: i passaggi in breve
In breve i passaggi da seguire per l’aggiornamento manuale di Drupal sono questi:
- effettuare un backup del sito e del database;
- attivare la modalità di manutenzione;
- rimuovere i file e sostituirli con i nuovi;
- avviare l’aggiornamento del database usando lo script update.php.
Ora vediamo come seguire questi passi nel dettaglio.
Attivare la modalità di manutenzione sul sito
Per prima cosa durante l’aggiornamento di Drupal dobbiamo mettere il sito in modalità di manutenzione.
Effettuiamo il login come amministratori al back-end di Drupal e apriramo il menu di gestione “Manage”.
Quindi andiamo su Configuration > Development > Maintenance mode, come ti mostro qui:
Spuntiamo la casella Put site into maintanance mode, come vedi qui, e clicchiamo sul pulsante Save configuration:
Ora la modalità di manutenzione è attiva e il sito non sarà visibile ai visitatori. Ricordati di disattivare questa opzione al termine dell’aggiornamento.
Eliminare cartelle e file del core
Il secondo passaggio è quello di eliminare dal server alcune cartelle e file del core per poterle poi rimpiazzare con i file della versione aggiornata di Drupal.
Possiamo accedere ai file in diversi modi, per esempio collegandoci con un client FTP. Abbiamo creato due guide che spiegano come fare a collegarci usando FileZilla e Cyberduck.
Possiamo anche utilizzare il file manager di cPanel per gestire i file.
Dobbiamo eliminare tutti i file e le cartelle ad eccezione delle cartelle: modules
, profiles
, sites
e themes
.
Per prima cosa, quindi, eliminiamo le cartelle core
e vendor
.
Quindi selezioniamo tutti gli altri i file che si trovano nella directory del sito ed eliminiamoli, così:
Prima di eliminare i file, assicurati di aver attivato la visualizzazione dei file nascosti.
Dal file manager di cPanel ti basta cliccare sulle impostazioni e poi verificare che ci sia la spunta accanto a Mostra file nascosti (dotfiles).
Sostituire il file settings.php (opzionale)
Devi verificare se la nuova versione di Drupal che stai andando a installare ha apportato cambiamenti anche al file default.settings.php
. Questo file si trova in sites/default.
Controlla le note che accompagnano la versione di Drupal a cui stai passando.
Se le note riportano che nella nuova versione il file è stato modificato, allora dovrai creare una copia di backup di quello attuale e sostituire il file con quello della nuova versione di Drupal.
Altrimenti puoi passare al prossimo step.
Scaricare Drupal e caricare i nuovi file sul server
A questo punto dobbiamo scaricare la nuova versione di Drupal e caricare i file sul server.
Per prima cosa scarichiamo la versione di Drupal dalla sezione Download del sito, così:
Mentre sto scrivendo questa guida, l’ultima versione disponibile è Drupal 9.4.7. Si tratta di un aggiornamento di sicurezza che risolve alcune vulnerabilità ed è stato rilasciato a settembre 2022.
Dopodiché possiamo:
- caricare l’archivio in una cartella diversa dalla root ed estrarlo direttamente sul server.
- Oppure estrarre l’archivio in locale (sul nostro computer).
L’importante è caricare le cartelle core
, vendor
e i file contenuti nell’archivio nella directory principale del nostro sito. Si tratta della stessa cartella da cui abbiamo eliminato i file nel passaggio precedente.
Apportare modifiche ai file (opzionale)
Se hai modificato alcuni file come il file robots.txt o l’.htaccess, assicurati di riportare le modifiche e le direttive sui nuovi file.
Se, invece, non li hai mai modificati puoi saltare direttamente questo passaggio.
Avviare l’aggiornamento di Drupal
Dopo aver spostato tutti i file possiamo avviare lo script update.php
che ci consente di fare l’aggiornamento del database.
Per farlo ci basta collegarci all’indirizzo:
https://tuodominio.com/update.php
Ti basterà sostituire “tuodominio.com” con il percorso che corrisponde al tuo dominio.
Non vedi la pagina per l’aggiornamento?
Se collegandoti all’indirizzo non riesci ad accedere, è perché non hai i permessi di amministratore. In questo caso dovrai modificare il file settings.php
che si trova in sites/default.
Trova la riga seguente:
$settings['update_free_access'] = FALSE;
e modifica il valore in true, così:
$settings['update_free_access'] = TRUE;
Puoi farlo direttamente modificando il file con il file manager di cPanel, come abbiamo fatto qui:
Dopo che avrai completato la procedura per l’aggiornamento di Drupal, dovrai reimpostare la variabile su “false
“.
Seguire la procedura guidata
A questo punto ci troviamo davanti alla procedura guidata per aggiornare il database di Drupal. La procedura è simile a quella che abbiamo seguito per installare Drupal. È importante portare a termine tutti i passaggi per aggiornare a tutti gli effetti il CMS.
Nel primo passaggio ci vengono riassunti i passi che abbiamo visto prima e ci viene quindi ricordato di:
- effettuare un backup dei dati e del database;
- attivare la modalità di manutenzione.
Se hai già messo il sito in manutenzione, vedrai un avviso in verde come nel nostro caso.
Nel secondo step il sistema rileva la nostra versione di Drupal di partenza e ci indica quali aggiornamenti andrà ad effettuare.
Attendiamo che il processo venga completato e, se non ci sono errori, vedremo una pagina come questa:
Possiamo, quindi, utilizzare i link che vediamo per essere reindirizzati alla pagina di amministrazione o all’home page del nostro sito.
Verificare che non ci siano errori
Per prima cosa verifichiamo che il processo di aggiornamento di Drupal sia andato a buon fine.
Accediamo all’area di amministrazione e andiamo su Reports > Status Report, come ti mostro qui:
Da questa pagina, tramite la sezione General System Information possiamo vedere la versione di Drupal installata. Le sezioni successive ci permettono di capire se sono stati rilevati errori.
Disattivare la modalità di manutenzione di Drupal
Dopo esserci assicurati che il sito funzioni correttamente (non dimenticare di controllare il sito anche dal front-end), possiamo disattivare la modalità di manutenzione. Così facendo i visitatori potranno di nuovo navigare sul nostro sito web.
Per farlo andiamo su Configuration > Development > Maintenance mode come abbiamo fatto prima e togliamo la spunta accanto a Put site into maintanance mode, così:
Clicchiamo su Save configuration per applicare le modifiche.
Aggiornamento Drupal: operazioni finali
Ora che abbiamo completato l’aggiornamento di Drupal, possiamo eliminare i file che non ci servono.
Se avevamo caricato sul server l’archivio con i file del core di Drupal, ci basterà eliminarlo.
Se hai caricato sul server solo le cartelle che ti servivano e non l’archivio, puoi saltare questo passaggio.
Aggiornare Drupal con composer
In questa sezione vediamo come fare l’aggiornamento di Drupal usando composer da terminale.
Ricordati, anche in questo caso, di fare un backup completo prima di procedere.
Prima di aggiornare Drupal tramite composer, dobbiamo verificare quali pacchetti stiamo usando tra: drupal/core-recommended
e drupal/core
.
Per farlo diamo questo comando:
composer show drupal/core-recommended
Se il risultato è come quello che ti mostro qui di seguito, allora stai utilizzando drupal/core-recommended:
Altrimenti riceverai in risposta questo messaggio:
Package drupal/core-recommended not found.
In questo secondo caso dovrai quindi usare dei comandi leggermente diversi, riferiti al pacchetto drupal/core
, come ti mostrerò in seguito.
Come puoi vedere nella schermata di prima, il comando che abbiamo dato ci permette di sapere anche la versione installata: ci basta leggere cosa c’è scritto dopo version.
Verifichiamo se ci sono aggiornamenti
Per vedere se ci sono aggiornamenti disponibili usiamo il comando:
composer outdated "drupal/*"
Se ci sono aggiornamenti vedremo la lista come nel nostro caso:
Avviamo l’aggiornamento di Drupal
A questo punto per avviare l’aggiornamento diamo il comando:
composer update "drupal/core-*" --with-all-dependencies
Oppure questo, se stiamo usando drupal/core
e non drupal/core-recommended:
composer update drupal/core –with-dependencies
Al termine, se il processo di aggiornamento è stato completato senza errori, diamo di nuovo il comando:
composer show drupal/core-recommended
In questo modo potremo vedere qual è la versione installata. Nel nostro caso vedremo questo:
Abbiamo aggiornato i file del core dalla versione 9.3.13 alla 9.4.7. Ora dobbiamo aggiornare anche il database.
Aggiorniamo il database
A questo punto l’aggiornamento di Drupal non è completato perché dobbiamo ancora aggiornare il database. Possiamo procedere come abbiamo visto prima nella procedura di aggiornamento manuale e collegarci su:
tuodominio.com/update.php
In questo caso fai riferimento alla sezione dell’aggiornamento manuale di Drupal di questa guida per tutti i dettagli.
Altrimenti, se stai usando Drush, puoi usare i comandi:
drush updatedb
drush cache:rebuild
Ora non ci resta che disattivare la modalità di manutenzione. Puoi seguire gli step che abbiamo visto nel capitolo dell’aggiornamento manuale, oppure farlo via Drush, così:
drush state:set system.maintenance_mode 0
drush cr
Aggiornare Drupal da una versione major all’altra
Nei capitoli precedenti di questa guida abbiamo visto come procedere per gli aggiornamenti di minor e patch.
Se devi fare una migrazione da una major all’altra, per esempio da Drupal 8 a 9, devi seguire una procedura specifica in base alla versione da cui stai partendo.
In questo caso fai riferimento alla documentazione di Drupal, per esempio:
Conclusioni
In questa guida abbiamo fatto chiarezza sulle procedure di aggiornamento di Drupal. Siamo partiti dalla comprensione delle versioni di Drupal e abbiamo visto che bisogna fare delle considerazioni preliminari prima di aggiornare.
Ci sono aggiornamenti più semplici, come il passaggio da una versione minor all’altra, e procedure più complesse quando dobbiamo fare il passaggio da una major alla successiva. In quest’ultimo caso bisogna ricorrere a una vera e propria migrazione.
Abbiamo quindi visto due metodi con la procedura passo passo:
- come fare un aggiornamento manuale;
- come aggiornare con Composer.
E tu, quale metodo preferisci usare per mantenere il tuo sito con Drupal aggiornato? Scrivici qui nei commenti.
Lascia un commento