1.2.2. Aggiornamento di Drupal 8 senza Drush e senza Composer.
Se hai installato Drupal scaricandolo dal sito ufficiale https://www.drupal.org/project/drupal, potresti incontrare difficoltà durante l’aggiornamento, poiché Drush e Composer non potranno aggiornarlo nel modo consueto. In questo caso dovrai aggiornare Drupal sostituendo manualmente i file oppure modificando la struttura del progetto affinché Composer possa gestire gli aggiornamenti. In questo articolo vedremo il primo metodo: come aggiornare Drupal senza Drush e senza Composer.
Prima di procedere con l’aggiornamento, è fondamentale eseguire un backup completo del sito. Copia tutti i file e il database. Anche se errori gravi sono rari, il ripristino del sito può richiedere tempo, quindi è sempre meglio avere una copia di sicurezza.
Se il tuo sito è già online e la sua indisponibilità può influire sulle vendite della tua azienda o di un cliente, è consigliabile creare una copia del sito e testare l’aggiornamento su quella. Dopo aver verificato che tutto funzioni, potrai aggiornare il sito in produzione o sostituirlo con la versione aggiornata.
Durante il processo, annota ogni passaggio, errore o messaggio visualizzato: questo ti aiuterà a ripetere l’operazione in futuro.
Non cercare di aggiornare Drupal via FTP su un server remoto: richiederebbe troppo tempo. Se hai accesso SSH, scarica i file di Drupal con wget
; in questo modo l’operazione sarà molto più rapida.
Ora che hai il backup del sito, puoi procedere con l’aggiornamento.
1. Accedi al sito come amministratore con i permessi per eseguire update.php
e impostare il sito in modalità manutenzione.
2. Attiva la modalità manutenzione:
/admin/config/development/maintenance
Configurazione → Sviluppo → Modalità manutenzione
3. Elimina le cartelle core e vendor dalla directory principale del sito.
Una volta eliminate queste cartelle, il sito smetterà di funzionare temporaneamente.
4. Se hai modificato i file .htaccess
o robots.txt
, salva le modifiche perché dovrai aggiornare anche i file presenti nella root del sito.
Salva anche le modifiche apportate a composer.json
se hai installato librerie o moduli tramite Composer. Dovrai reinstallarli successivamente. Se le modifiche sono numerose, puoi decidere di mantenere i file composer.json
e composer.lock
originali senza sovrascriverli.
5. A volte potrebbero esserci modifiche in default.settings.php
; in tal caso, confronta e aggiungi le modifiche al tuo settings.php
. Puoi verificare le modifiche accedendo alla sezione View all releases nella pagina del progetto Drupal:
https://www.drupal.org/project/drupal
Questo passo è di solito necessario solo per aggiornamenti maggiori; se stai aggiornando una versione minore (ad esempio da 8.5.x a 8.5.y), puoi saltarlo.
6. Scarica la nuova versione di Drupal dalla pagina ufficiale o dalla sezione “View all releases”:
https://www.drupal.org/project/drupal
Dal pacchetto della nuova versione copia le cartelle vendor e core e tutti i file nella root del sito.
Ora carica questi file nel tuo sito.
Se utilizzi SSH su un server remoto, puoi scaricare i file direttamente in una cartella esterna al sito con:
wget https://www.drupal.org/files/projects/drupal-x.y.z.tar.gz tar -zxvf drupal-x.y.z.tar.gz
Poi copia i file all’interno del sito:
cp -R drupal-x.y.z/* drupal-x.y.z/.htaccess /path/to/your/installation
Se devi usare FTP, ti consiglio FileZilla con 10 connessioni simultanee per velocizzare il trasferimento:
7. Ripristina le modifiche nei file robots.txt
, .htaccess
, default.settings.php
, settings.php
e composer.json
.
8. Esegui il file update.php
per applicare gli aggiornamenti al database. Se necessario, aggiungi nel file settings.php
la seguente riga temporanea:
$settings['update_free_access'] = TRUE;
Questo permetterà di accedere a update.php
da qualsiasi utente. Apri la pagina:
/update.php
9. Verifica che la versione di Drupal sia stata aggiornata correttamente. Vai su:
/admin/reports/status
10. Riporta il sito in modalità operativa:
/admin/config/development/maintenance
11. Non dimenticare di riportare $settings['update_free_access']
su FALSE
dopo aver eseguito l’aggiornamento:
$settings['update_free_access'] = FALSE;
Se incontri errori o difficoltà durante l’aggiornamento, lascia un commento.