Come costruire e gestire un multisito con Drupal 7

Ritratto di Vanni

Un webmaster deve spendere parte del suo tempo per ogni sito web che amministra. Chi ha la gestione e manutenzione di un sito creato con Drupal deve tenerlo costantemente aggiornato,  in quanto molto spesso escono aggiornamenti per i moduli e i temi, senza contare le nuove release del core. Tenere curato questo aspetto è essenziale per la sicurezza e il buon funzionamento del sito.  Il “problema” si pone quando un solo webmaster amministra decine di siti e se per esempio esce una nuova versione del modulo “Views” dovrà aggiornare tale modulo in tutti i siti che lo usano, spendendo così una gran quantità di tempo.  Per ovviare a tale problematica, Drupal 7 ci dà la possibilità di costruire un multisito (multisite), dove con una solainstallazione” possiamo amministrare diversi siti indipendenti l’uno dall’altro.

Con questo sistema possiamo creare siti con diversi domini, oppure dei sottodomini o ancora delle sottocartelle.  Per poter fare questo, però, si deve avere accesso ai files di configurazione del server di hosting; in questo pagina, descriverò come poter creare un multisito su un computer locale, usando come server la piattaforma Xampp e sistema operativo Windows 8, ma la procedura è grossomodo la stessa per qualsiasi server.

PERCHE’ INSTALLARE UNA PIATTAFORMA MULTI-SITE

Come accennavo precedentemente, il pregio del multisito sta nell’abbattere i tempi di manutenzione dei vari siti, in quanto:

  • È presente un’unica installazione di Drupal 7, quindi se si deve aggiornare il core basta aggiornare la directory principale e automaticamente tutti i domini derivanti saranno aggiornati
  • Possiamo utilizzare lo stesso modulo e lo stesso tema in diversi siti, quindi basta un aggiornamento per tutti domini
  • Possiamo personalizzare ogni sito derivato con dei moduli e dei temi dedicati solo a lui

COME CREARE UN MULTISITO IN UN SERVER XAMPP E CON SISTEMA OPERATIVO WINDOWS 8

Per qualsiasi chiarimento ed approfondimento rimando alla guida ufficiale.

  • Creare un nuovo database per ogni sito che vogliamo costruire (in linea teorica si potrebbe anche condividere lo stesso database, ci sono delle tecniche apposite, ma è fortemente sconsigliato)
  • Decomprimere la cartella di Drupal 7 nella cartella htdocs di Xampp
  • Entrare nella cartella di Drupal e successivamente nella cartella “sites
  • In questa cartella si deve creare una nuova sub-directory per ogni dominio che vogliamo creare e a cui daremo il nome del sito (nel mio esempio ho costruito un sito chiamato “sperimentiamo.com” quindi il percorso era htdocs/drupal/sites/sperimentiamo.com)

Si può chiamare il sito come si vuole e si può aggiungere l’estensione .com/.it/.net ecc…

Non si deve usare il www all’inizio.

Chi vuole creare un sottodominio deve rinominare la cartella: nome_sottodominio.nome_sito.com

Chi vuole creare una sottocartella deve rinominare la directory:  nome_sito.com.nome_sottocartella (questa scelta è un po’ più complicata rispetto alle altre, rimando alla guida ufficiale sottocartella)

  • Copiare il file default.settings.php (lo si trova in drupal/sites/default) in ogni sub-directory che abbiamo creato e rinominarlo settings.php, modificare al suo interno le credenziali per accedere al database che avevamo creato per quel sito
  •  Aprire con un editor di testo il file “httpd-vhosts.conf” (che troviamo in C:xampp/apache/conf/extra) e aggiungere questa dicitura per ogni nuovo sito da creare:
<VirtualHost *:80>

    DocumentRoot "C:/xampp/htdocs/cartella_drupal/"

    ServerName nome_del_sito

</VirtualHost>

Io ho creato 2 siti all’interno della cartella sito-esperimenti, ecco le mie stringhe:

<VirtualHost *:80>

    DocumentRoot "C:/xampp/htdocs/sito-esperimenti/"

    ServerName esperimenti1

</VirtualHost>

<VirtualHost *:80>

    DocumentRoot "C:/xampp/htdocs/sito-esperimenti/"

    ServerName sperimentiamo.com

</VirtualHost>

Volendo si possono anche decommentare e modificare le stringhe di esempio che sono già scritte nel file:

##<VirtualHost *:80>

    ##ServerAdmin webmaster@dummy-host.example.com

    ##DocumentRoot "C:/xampp/htdocs/dummy-host.example.com"

    ##ServerName dummy-host.example.com

    ##ServerAlias www.dummy-host.example.com

    ##ErrorLog "logs/dummy-host.example.com-error.log"

    ##CustomLog "logs/dummy-host.example.com-access.log" common

##<VirtualHost>


##<VirtualHost *:80>

    ##ServerAdmin webmaster@dummy-host2.example.com

    ##DocumentRoot "C:/xampp/htdocs/dummy-host2.example.com"

    ##ServerName dummy-host2.example.com

    ##ErrorLog "logs/dummy-host2.example.com-error.log"

    ##CustomLog "logs/dummy-host2.example.com-access.log" common

##<VirtualHost>
  • Aprire con un editor di testo il file “hosts” (che troviamo in C:windows/system32/drivers/etc) e aggiungere queste stringhe:
127.0.0.1    nome_del_sito.com

Nel mio esempio ho inserito le stringhe:

127.0.0.1    esperimenti1

127.0.0.1    sperimentiamo.com
  • Ora lanciare nel browser per ogni nuovo sito l’Url:

http:// nome_del_sito.com/install.php

si avvierà cosi l’installazione dei nuovi siti nei database (seguire la classica procedura)

pagina di installazione del primo sito su una piattaforma multisito

  • Finita l’installazione di ogni sito avremmo dei siti perfettamente distinti e funzionanti
  • Sito 1 homepage del primo sito installato
  • Sito 2 homepage del secondo sito installato
  • Come si può vedere, se si necessita di un aggiornamento
  • notifica di drupal per l'aggiornamento della nuova release del core
  • Con una sola operazione di aggiornamento entrambi i siti risulteranno apposto
  • Sito 1 notifica di aggiornamento effettuato al primo sito
  • Sito 2 notifica di aggiornamento effettuato al secondo sito
  • I moduli comuni a tutti i siti si devono inserire nella cartella drupal/sites/all/modules
  • Mentre se vogliamo personalizzare un solo sito (in questo esempio ad uno dei 2 siti ho attivato il tema  “mayo”)
  • personalizzazione di uno dei due siti con un tema dedicato
  • Nella sub-directory di quel sito creare una cartella modules e una themes in cui inserire moduli e temi specifici
  • directory con relative cartelle per il funzionamento dei nuovi siti

Commenti

Multisito in Remoto

Salve, ma se volessi creare un multisito in remoto con sottocartella e non sottodominio?(Aruba non permette di creare sottodomini se non a pagamento)

 

Grazie.

Aggiungi un commento

Filtered HTML

  • Indirizzi web o e-mail vengono trasformati in link automaticamente
  • Elementi HTML permessi: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Linee e paragrafi vanno a capo automaticamente.

Comment

  • Elementi HTML permessi: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Linee e paragrafi vanno a capo automaticamente.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente

Plain text

  • Nessun tag HTML consentito.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente
  • Linee e paragrafi vanno a capo automaticamente.
Per tutelare la vostra privacy suggerisco l'uso di un nickname o lasciare anonimo...
CAPTCHA
Questa domanda e' per testare se sei un visitatore persona e non un software che genera spam
10 + 6 =
Risolvi la semplice domanda di matematica e inserisci il risultato. Es. se e' 1 + 3 inserisci 4.