Questo articolo lo scrivo come promemoria per procedere ad una migrazione di un sito sviluppato con Drupal 6. In particolare la migrazione prevede la migrazione contestuale al cambio del dominio (esempio tipico quando il sito viene sviluppato in locale con un tool di sviluppo locale, in questo caso Acquia-Dev, e poi caricato su un hosting remoto con il dominio definitivo del sito).
SCENARIO:
- Sito sviluppato con Drupal 6 in locale con ambiente di sviluppo Acquia-Dev nome del sito temporaneo.localhost comprensivo di:
- moduli aggiuntivi necessari installati nella cartella locale: sites/temporaneo.localhost/modules
- traduzione in italiano dell’interfaccia
- temi di amministrazione e temi di front-end installati nella cartella locale: sites/temporaneo.localhost/themes
- librerie di supporto (esempio editor html TinyMCE) installate nella cartella locale: sites/temporaneo.localhost/libraries
- Database del sito locale in formato MySQL denominato temporaneo.
- Server di destinazione con istanza di Drupal 6 correttamente installata e funzionante relativa al dominio definitivo.it.
- Database del sito di destinazione in formato MySQL denominato definitivo correttamente creato dall’installazione di Drupal 6.
PREREQUISITI:
- Nel sito locale deve essere installato il modulo “Backup and Migrate” scaricabile a questo link (http://drupal.org/project/backup_migrate). Questo modulo è utile per il backup corretto del database.
PROCEDURA:
- Entro nel pannello di amministrazione di Drupal sul sito locale ed eseguo il backup tramite il modulo “Backup and Migrate” usando le impostazioni di default come da immagine
- la procedura crea un file di backup in formato tar.gz nella cartella sites/temporaneo.localhost/files/backup_migrate/manual/QUALCOSA.mysql.gz
- fare click sul link “Download” per scaricare il file di backup generato come da immagine
- decomprimere il file .gz del backup appena scaricato ed editare il file .mysql con un editor di testo. In questo file dobbiamo cambiare tutti i riferimenti presenti nel database relativi all’URL del sito di sviluppo e aggiornarli con l’URL del sito di destinazione quindi procediamo come segue:
- cerchiamo la stringa, nel nostro caso temporaneo.localhost e la sostituiamo con definitivo.it (ovviamente questo è un esempio che deve essere contestualizzato con la vostra installazione locale e remota).
- salviamo il file modificato.
- comprimiamo in formato zip il file appena zippato.
- caricare nel sito di destinazione le cartelle “modules”, “themes” e “libraries”; queste cartelle possono essere caricate nella cartella sites/default o nella cartella sites/definitivo.it corentemente alla tipologia di installazione di Drupal 6 se mono-sito o multi-sito.
- entrare nel pannello di amministrazione del sito di destinazione e procedere come segue:
- attivare tutti i moduli che erano presenti nel sito locale e che ora sono disponibili ma disattivati sul sito di destinazione
- attivare il template di amministrazione in modo corretto andando su “Configurazione del sito -> Tema di Amministrazione” o in inglese su “Sites Configuration -> Administration Theme”. Nel nostro caso abbiamo usato “Rubik” come template per le pagine di amministrazione e di editing dei contenuti.
- attivare il template di default per le pagine corrispondente al tema grafico che abbiamo usato nel sito di sviluppo andando su “Costruzione del sito -> Temi -> Elenco” o in inglese su “Site Building -> Themes -> List”.
- ripristinare il database precedentemente esportato e modificato come segue:
- andare su “Gestione dei contenuti -> Backup and Migrate -> Ripristina” o in inglese su “Content Management -> Backup and Migrate -> Restore”.
- fare click sul pulsante “Scegli file…” e selezionare il file zip che abbiamo creato dal file .mysql dopo aver modificato i riferimenti sugli URL
- fare click su “Restore now”. Alla fine di questo passaggio potremmo avere dei warning a video che ignoriamo.
- Ricarichiamo la pagina e se tutto è andato bene dovremmo avere tutti i contenuti del nostro sito di sviluppo inseriti nel nostro sito di produzione.
Nota a margine se nel sito di sviluppo abbiamo dei file nella cartella sites/default/files (che sono per definizione condivisi con tutti i siti Drupal 6 del nostro hosting) dobbiamo caricaricarli nella cartella sites/default/files del server di destinazione.
