Come configurare Drupal in multisite

Come configurare Drupal in multisite

Tra le numerose funzionalità di Drupal, troviamo la possiblità di effettuare una installazione multisite ovvero una installazione unica per più siti che condividono lo stesso core ma ognuno con il proprio database e le eventuali personalizzazioni.

I vantaggi di Drupal Multisite

Una installazione Drupal Multisite ha diversi vantaggi nel momento in cui ci sia la necessità di gestire molti siti web. Solitamente le personalizzazioni dei siti web corrispondono alla configurazione del CMS e la realizzazione dei template mentre i file del core rimangono invariati, è infatti buona norma non modificarli per evitare problemi durante gli aggiornamenti.

Una serie di installazioni Drupal, oltre ad occupare uno certo spazio per ogni sito, necessita di una procedura più lunga di manutenzione in occasione degli aggiornamenti. Ci si può aiutare con degli script, delle procedure automatizzate, ma in ogni caso è necessario aggiornarli tutti.

Nel caso del multisite, invece, l'installazione è unica. Quando si deve aggiornare un modulo, ad esempio, basta aggiornare i file solo una volta. Chiaramente è necessario eseguire l'update del DB su ogni sito, ma si tratta di una procedura piuttosto rapida.

Una installazione di Drupal unica, quindi, condivisa in più siti, è molto comoda anche quando si vuole realizzare un sito web con più sotto-siti e dati distinti (un database per ogni sito).

Come configurare Drupal Multisite

Drupal multisite (o multi-site) è configurabile in due modalità:

  • Multisite su più domini (o sotto-domini).
  • Multisite su sottocartelle.

In entrambi i casi è necessario un database per ogni sito che si vorrà realizzare. È anche possibile usare un database unico e distinguere le tabelle con un prefisso, ma lo sconsiglio caldamente: una svista potrebbe essere fatale.

La procedura di configurazione è piuttosto semplice, bastano solo alcuni semplici accorgimenti, come ad esempio verificare che i permessi siano impostati correttamente eccetera.

È sufficiente creare una sotto-directory con l'indirizzo del dominio (senza il "www") all'interno della directory sites per ogni sito. Nel caso il sottosito sia in una sottodirectory si deve semplicemente aggiungere il nome della sottodirectory al dominio separandoli con un punto. Così: sites/dominio.com.directory. In questo caso è anche necessario creare un collegamento simbolico nella root del dominio con il nome della directory che collega la root stessa.

Ad esempio, se l'indirizzo finale è http://www.example.com/subdirectory, la directory da creare è sites/example.com.subdirectory e nella root del dominio si deve creare un collegamento:

ln -s . subdirectory

All'interno delle directory create per i vari siti si deve copiare il file settings.default.php per procedere con la configurazione standard di Drupal. Basta quindi accedere all'indirizzo del sito e quindi seguire il wizard di configurazione ed installazione del database.

Nelle directory dei siti è anche possibile installare template Drupal personalizzati creando una sotto directory themes che conterrà i temi Drupal per ogni specifico sito.

Nel caso i domini siano diversi tra loro (o per i sottodomini), l'installazione di Drupal multisito deve essere affiancata ad una corretta configurazione del webserver (ad esempio Apache) che imposta la stessa root per i diversi domini.

Ecco la guida per configurare il supporto di Apache per il multi site di Drupal:  Configurazione Apache Virtualhost.