Aggiornamento manuale del core di Drupal
Prima di iniziare
Se non l’hai già fatto, è consigliato leggere questa introduzione, che riassume tutte le opzioni disponibili per aggiornare Drupal 8.
PS! Questa procedura di aggiornamento è descritta anche nella Guida utente ufficiale.
Se hai installato moduli aggiuntivi con dipendenze di terze parti tramite Composer, devi usare un metodo di aggiornamento diverso, poiché queste istruzioni sovrascriveranno la directory vendor/.
Aggiornamento manuale del core di Drupal 8
Procedura per aggiornare il core di Drupal 8 manualmente tramite linea di comando (shell):
1. Esegui un backup completo dei file e del database. Il backup completo ti permette di ripristinare facilmente la versione precedente in caso di errore durante l’aggiornamento.
Facoltativamente, se hai modificato manualmente file come .htaccess, composer.json o robots.txt, copiali in una posizione facilmente accessibile: dovrai riapplicare queste modifiche dopo l’installazione del nuovo core. Ad esempio, Acquia Dev Desktop inserisce il file .htaccess nella directory principale — senza di esso solo la homepage funzionerà.
Torna sempre al backup se incontri un errore fatale durante l’aggiornamento.
2. Accedi a Drupal come utente con il permesso “Amministrare aggiornamenti software”.
3. Imposta il sito in modalità manutenzione:
- Vai a Amministrazione > Configurazione > Sviluppo > Modalità di manutenzione.
- Seleziona la casella “Put site into maintenance mode”.
- Clicca “Salva configurazione (Save configuration)”.
4. Scegli uno dei due metodi seguenti per eliminare i file nella directory principale e nelle cartelle core e vendor, lasciando intatte modules, profiles, sites e themes:
Metodo 1: utilizzo della shell
1. Vai nella directory di installazione di Drupal:
cd /path/to/your/drupal/directory
2. Elimina le cartelle “core” e “vendor”:
rm -rf core vendor
3. Elimina tutti i file nella directory principale:
rm -f *.* .[a-z]*
Metodo 2: utilizzo di un client FTP
1. Accedi alla directory principale di Drupal.
2. Seleziona tutti i file nella directory principale (inclusi i file nascosti che iniziano con “.”), nonché le cartelle “core” e “vendor”, e cancellali.
Non eliminare le cartelle “modules”, “profiles”, “sites” e “themes”.
5. A volte un aggiornamento può includere modifiche al file default.settings.php. Questo sarà indicato nelle note di rilascio. Puoi trovare le note per la tua versione su https://www.drupal.org/project/drupal. Scorri verso il basso fino alla sezione “Downloads” e clicca sul link relativo alla tua versione per leggere le note. Se non la vedi, clicca su “View all releases”. Se ci sono modifiche al file default.settings.php, segui questi passaggi:
- Copia dal tuo backup le personalizzazioni del file settings.php nel nuovo file, in particolare le informazioni del database e le altre configurazioni specifiche.
- Fai una copia del nuovo file default.settings.php e rinominalo in settings.php (sovrascrivendo il precedente).
- Esegui un backup del nuovo settings.php con un nome diverso per sicurezza.
- Trova il file settings.php nella directory /sites/* (di solito sites/default).
6. Ora scarica i nuovi file Drupal nelle cartelle core e vendor e nella directory principale:
Metodo 1: utilizzo della shell
1. In un terminale Unix/Linux, scarica e decomprimi l’archivio:
wget https://ftp.drupal.org/files/projects/drupal-x.y.z.tar.gz tar zxf drupal-x.y.z.tar.gz
2. Il comando crea una nuova directory drupal-x.y.z/ con tutti i file. Entra nella nuova directory e copia le cartelle “core” e “vendor”, oltre ai file principali, nella directory della tua installazione Drupal:
cd drupal-x.y.z cp -R core vendor /path/to/your/drupal/directory cp *.* .[a-z]* /path/to/your/drupal/directory
Metodo 2: utilizzo del browser e di un client FTP
- Scarica l’ultima versione di Drupal 8.x.x da https://www.drupal.org/download.
- Estrai l’archivio in una cartella fuori dal webroot.
- Usa un client FTP per caricare le cartelle “core” e “vendor” e i file principali nella tua installazione di Drupal.
7. Riapplica manualmente eventuali modifiche ai file .htaccess, composer.json o robots.txt.
8. Nel browser, esegui update.php visitando http://www.example.com/update.php (sostituisci www.example.com con il tuo dominio). Questo aggiornerà le tabelle del database.
Se non hai accesso ad update.php con l’utente corrente, puoi temporaneamente modificare le impostazioni per consentire l’accesso:
- Apri settings.php in un editor di testo.
- Trova la riga:
$settings['update_free_access'] = FALSE;
- Modifica in:
$settings['update_free_access'] = TRUE;
- Salva e visita di nuovo /update.php.
- Dopo l’aggiornamento, per sicurezza, ripristina il valore su FALSE.
9. Accedi come amministratore in Drupal e vai su Amministrazione > Rapporti > Rapporto sullo stato per assicurarti che tutto funzioni correttamente.
10. Disattiva la modalità di manutenzione: vai su Amministrazione > Configurazione > Sviluppo > Modalità di manutenzione, deseleziona la casella “Put site into maintenance mode” e salva.
11. Elimina la versione temporanea di Drupal scaricata e decompressa:
rm drupal-x.y.z.tar.gz rm -rf drupal-x.y.z/
12. Fatto! Hai aggiornato con successo il core di Drupal 8 manualmente utilizzando la shell o il browser. :)