Pagine

11 luglio 2011

Aggiornare Drupal

L'aggiornamento di Drupal è una procedura che si divide sempre in due passaggi distinti e da attuarsi a seconda del tipo di incremento di versione.
Come certamente saprete le versioni di Drupal sono sempre nella forma X.Y (ad es. 7.2) dove X rappresenta il numero di versione maggiore, mentre Y è il numero di versione minore.
La procedura da adottare è quindi differente se sto incrementando la versione X o la versione Y.
Questo tipo di aggiornamento ha una nomenclatura tutta sua:
  • Aggiornamento di versione maggiore, se passo dalla versione X.Y ad una versione X+n.Y
  • Aggiornamento di versione minore, se passo dalla versione X.Y ad una versione X.Y+n
Questi concetti paiono molto complicati se scritti, ma nella relatà sono una grossa banalità. Due esempi chiariranno ulteriormente il tutto:
Es. 1: Pochi giorni fa è uscita la versione 7.4 di Drupal, sul mio server ho la 7.2, quello che dovrò fare è un incremento di versione minore.
Es. 2: E' appena uscita la versione 7.0 di Drupal, sul mio server ho la 6.8, quello che dovrò fare è un incremento di versione maggiore.

Bene! Ora che i fondamenti sono chiari vediamo come si procede.

I concetti che verranno espressi sono in genereale validi per qualsiasi versione di Drupal anche se faranno esplicito riferimento alla versione 7.x.

Concetti comuni.
Il backup è il primo passo che deve essere sempre eseguito prima di un qualsiasi tipo di aggiornamento.
Dobbiamo copiare sia i file del sito Drupal che il database utilizzato.
Se abbiamo un accesso FTP procediamo a copiare in locale tutti i file del sito, altrimenti se possiamo accedere via terminale conviene eseguire un tar.gz del sito nella nostra home.
Il comando in questo caso si riduca a qualcosa del tipo
tar czvf ~/sito.tar.gz /<path_sito>/sitoPer quanto riguarda il database invece se abbiamo accesso via phpMyAdmin allora possiamo procedere ad una esportazione di tutto il db, altrimenti, se abbiamo accesso via terminale possiamo eseguire il comando mysqldump. Informazioni più dettagliate si possono trovare qui.

Aggiornamento di versione maggiore
E' il tipo di aggiornamento più delicato e per portarlo a termine con poco dolore occorre sincerarsi di alcune cose prima di procedere. Il punto 1 della procedura è fodmantale e permette di decidere se procedere con l'update o aspettare.
  1. Dobbiamo verificare che i moduli utilizzati siano già stati aggiornati al nuovo core e per farlo possiamo usare questi link (specifici per il passaggio a drupal 7):
    http://drupal.org/node/895314 (lista moduli aggiornati)
    http://drupal.org/node/948216 (procedura aggiornamento moduli)
    http://drupal.org/update/modules (procedura aggiornamento moduli personali)
    http://drupal.org/update/theme (procedura aggiornamento temi personali)
  2. Eseguiamo una serie di aggiornamenti minori fino a portarci all'ultima release disponibile prima dell'aggiormento alla versione maggiore. Se passo dalla 6 alla 7 allora aggiorniamo il sito all'ultima versione 6 disponibile. Per farlo è spesso utile leggere il file UPGRADE.txt presente in ogni tar.gz scaricato dal sito.
  3. Loggarsi come utente con ID 1, cioè lo user creato in fase di prima attivazione e che normalmente corrisponde all'amministratore, del quale deve pure avere i permessi.
  4. Mettere il sito in manutenzione: vai in Amministrazione > Configurazione > Sviluppo > Modalità di manutenzione, abilitiamo il flag "Metti il sito in modalità manutenzione" e salviamo. Ricordiamoci che in questa modalità possono accedere all'area amministrativa solo gli utenti che hanno il permesso "Usa il sito quando è in manutenzione" e che per accedere alla login di un sito in manutenzione si deve usare questo url:
    http://<sito>/user#overlay-context=user/1
  5. Settare il tema standard, nella versione 6 è "Garland". Andare quindi in Amministra > Costruzione del sito > Temi e settare Garland come tema di default.
  6. Andare in Amministra > Costruzione del sito > Moduli e disabilitare tutti i moduli che non sono sotto "Core - richiesto" o "Core - opzionale". Attenzione a soddisfare le dipendenze ripetendo la disattivazione finché tutti i moduli non del core saranno disattivati.
    Se certi moduli non saranno più riutilizzati nel 7 è questo il momento per rimuoverli definitivamente.
  7. Cancellare il file sites/default/default.settings.php
  8. Cancellare tutti i file e le directory del vecchio core di Drupal ad eccezione della directory "sites" ed ogni eventuale altro file personalizzato che è stato aggiunto altrove.
    Se nei file .htaccess o robots.txt erano state fatte delle personalizzazioni, dovremo riapplicarle manualmente ai nuovi file.
  9. Se è stato rimosso qualche modulo allora cancellarlo anche dalla directory sites/all/modules e dalla sites/*/modules.
    Lasciare gli altri moduli dove stanno anche se incompatibili con Drupal 7.
  10. Scaricare la nuova versione di Drupal 7 e scompattarla in una directory temporanea sul server. Se abbiamo accesso tramite il terminale possiamo eseguire i comandi
    • wget http://drupal.org/files/projects/drupal-x.y.tar.gz dove x e y sono i numeri della versione che intendiamo installare per scaricare il file col nuovo core
    • tar xzvf drupal.x.y.tar.gz per scompattare il nuovo core in una directory drupal.x.y
    • cp -R drupal-x.y/* drupal-x.y/.htaccess /path/vecchio/sito per copiare il core di drupal nella directory del vecchio sito.
    Se non ho a disposizione il terminale dovremo copiare tutti i file tramite FTP dalla nostra macchina verso la web root del vecchio sito.
  11. Riapplicare le eventuali modifiche personali presenti nei file .htaccess o robots.txt
  12. Abilitare in scrittura il file sites/default/settings.php  in modo che il processo di aggiornamento lo possa convertire alla nuova versione 7
  13. Eseguire il file di aggiornamento visitando l'url http://<sito>/update.php. Questo eseguirà l'upgrade delle tabelle del database.
  14. Al termine fare una copia di backup del database.
  15.  Sostuituire e aggiornare tutti i moduli non del core seguendo la procedura indicata a questo indirizzo http://drupal.org/node/948216
  16. Andare in Amministrazione > Resoconti > Resoconto sullo stato e verificare che non vengano segnalati malfunzionamenti
  17. Uscire dalla modalità di manutenzione: Amministrazione > Configurazione > Sviluppo > Modalità manutenzione, togliere il flag da "Metti il sito in modalità manutenzione" e salvare.
Aggiornamento di versione minore
  1. Loggarsi con uno user che abbia il permesso "Amministra aggiornamenti software"
  2. Mettere il sito in manutenzione: vai in Amministrazione > Configurazione > Sviluppo > Modalità di manutenzione, abilitiamo il flag "Metti il sito in modalità manutenzione" e salviamo. Ricordiamoci che in questa modalità possono accedere all'area amministrativa solo gli utenti che hanno il permesso "Usa il sito quando è in manutenzione" e che per accedere alla login di un sito in manutenzione si deve usare questo url:
    http://<sito>/user#overlay-context=user/1
  3. Cancelliamo tutti i file e le directory del vecchio core di Drupal ad eccezione della directory "sites" ed ogni eventuale altro file personalizzato che è stato aggiunto altrove.
    Se nei file .htaccess o robots.txt erano state fatte delle personalizzazioni, dovremo riapplicarle manualmente ai nuovi file.
    Se nelle note di rilascio della nuova versione è indicato che il file settings.php ha subito delle modifiche, sarà allora necessario prelevare i parametri di configurazione (in particolare i parametri del database) dal vecchio file settings.php e riportarli nel nuovo.
  4. Scarichiamo la nuova versione di Drupal e scompattiamola in una directory temporanea sul server. Se abbiamo accesso tramite il terminale possiamo eseguire i comandi
    • wget http://drupal.org/files/projects/drupal-x.y.tar.gz dove x e y sono i numeri della versione che intendiamo installare per scaricare il file col nuovo core
    • tar xzvf drupal.x.y.tar.gz per scompattare il nuovo core in una directory drupal.x.y
    • cp -R drupal-x.y/* drupal-x.y/.htaccess /path/vecchio/sito per copiare il core di drupal nella directory del vecchio sito.
    Se non ho a disposizione il terminale dovremo copiare tutti i file tramite FTP dalla nostra macchina verso la web root del vecchio sito.
  5. Riapplichiamo le eventuali modifiche personali presenti nei file .htaccess o robots.txt
  6. Eseguiamo il file di aggiornamento visitando l'url http://<sito>/update.php. Questo eseguirà l'upgrade delle tabelle del database.
  7. Andiamo in Amministrazione > Resoconti > Resoconto sullo stato e verifichiamo che non vengano segnalati malfunzionamenti
  8. Usciamo dalla modalità di manutenzione: Amministrazione > Configurazione > Sviluppo > Modalità manutenzione, togliamo il flag da "Metti il sito in modalità manutenzione" e salviamo.

Nessun commento:

Posta un commento