Gestione multisito
Ciao a tutti,
ieri ho terminato l'installazione base di drupal 7.4 e devo dire che funziona tutto egregiamente.
Ora vorrei riuscire, dal sito base (default), a creare 3 siti personalizzati per 3 persone diverse. Come faccio?
Cercando su google ho visto che l'idea è quella di creare dentro alla cartella sites delle copie di default per poi andare a modificare il file settings.php e impostare tutti i nuovi parametri, come il database.
Altra idea che mi piace molto è quella di far caricare tutti i temi e altre configurazioni dalla cartella 'all'.
Detto questo l'unica cosa che sono riuscito a cambiare è la configurazione del database.
Successivamente però non capisco come faccio a far caricare a drupal le impostazioni della cartella 'sito1' e non 'default'.
L'unico sistema che ho trovato per fare un multisito, ora come ora, è quello di creare un'installazione di drupal pulita che poi ogni volta copio per creare un sito personalizzato.
Mia situazione attuale:
/var/www/drupal-default/...
/var/www/sito1/...
/var/www/sito2/...
/var/www/sito3/...
Quello che vorrei:
/var/www/drupal/sites/default/...
/var/www/drupal/sites/sito1/...
/var/www/drupal/sites/sito2/...
/var/www/drupal/sites/sito3/...
Mi potete aiutare?
Grazie,
Michele

Risposte
Ciao, le installazioni
Ciao, le installazioni multisites sono molto comode specialmente quando ne hai molte da amministrare e da tenere aggiornate.
Per creare una installazione di un sito "secondario" è sufficiente creare nel percorso /sites la relativa cartella, l'importante è nominarla nella maniera corretta :-)
Ti faccio un esempio pratico, ammettiamo che tu voglia creare un sito nell'installazione principale di Drupal, vai nella cartella sites e crei la cartella del tuo sito, nell'esempio il sito si chiamerà www.pippo.it e quindi dovrai creare la cartella pippo.it (il dominio che porterà al tuo sito senza il www).
All'interno della cartella pippo.it andrai a copiare il file default.settings.php rinominandolo in settings.php (e serve solo questo, il file sorgente, default.settings.php, non ti serve qui!!), creerai anche la cartella files (almeno sei sicuro che c'è, alle volte Drupal non riesce a crearla in automatico), ora sia al file settings.php che alla cartella files andrai a dare i permessi "777".
Adesso siamo pronti per iniziare con l'installazione!!!
Tralasciando il discorso della configurazione del tuo webserver (che penso tu sappia già come va fatta), apriamo il nostro browser e facciamolo puntare su www.pippo.it e ti troverai con la pagina iniziale della configurazione di Drupal, da qui, poi, il procedimento è il medesimo che hai seguito per l'installazione del sito "madre".
Tips 'n Tricks:
Ti consiglio di installare i vari moduli e temi dalle relative pagine ma dal SITO MADRE in maniera che così tutto si installi nella corretta path.
Assegna come proprietario della cartella contenente il tuo sito madre te stesso e fa puntare li la root del tuo server FTP, assegna come proprietario della cartella "pippo.it" il proprietario del sito e assegnala alla root del suo server FTP e nega la possibilità di risalire l'albero delle cartelle oltre quella (cioè, l'utente X proprietario di pippo.it deve potersi muovere tranquillamente nelle cartelle e sottocartelle che sono presenti nella sua root, pippo.it, ma non deve poter risalire la stessa, quindi non deve poter arrivare a /sites ecc ecc).
Quando andrai ad aggiornare un modulo o un tema (dove ovviamente è d'obbligo effettuare il backup dell'intera struttura web e dei db), aggiorna direttamente dall'interfaccia Drupal il sito madre, esegui update.php e assicurati che tutto funzioni bene, poi passa ai siti figli ed esegui update.php (nei siti dove hai abilitato quel/quei modulo/i o tema/i).
Se procederai in maniera corretta, avrai una struttura funzionante e molto pratica da amministrare e gestire :-)
Spero di essere stato chiaro, se hai dubbi chiedi pure, ciao ciao.
Grazie, è tutto molto chiaro
Grazie, è tutto molto chiaro a parte proprio la configuarazione del webserver. Sai darmi qualche delucidazione in merito?
Ciao, io uso apache, posso
Ciao, io uso apache, posso farti vedere un esempio di come configurare quello:
################################################################################
# virtual hosts configuration section
# Include virtual hosts, if any
Include conf/vhosts.d/*.conf
# disable TRACE (CVE-2009-2823)
TraceEnable Off
#NameVirtualHost 127.0.0.1
ServerName localhost
NameVirtualHost *:80
<VirtualHost *:80>
<Directory "/var/www/html/Drupal">
allow from All
Options +Indexes
</Directory>
ServerAdmin info@miosito.org
ServerAlias miosito.org
ServerName
#" title="www.miosito.org
#">www.miosito.org
# Index + Directory Root
DirectoryIndex index.html
DocumentRoot /var/www/html/Drupal
# CGI Directory
ScriptAlias /cgi-bin/ /var/www/cgi-bin
<Location /cgi-bin>
Options +ExecCGI
</Location>
# Logfiles
ErrorLog /var/www/html/Drupal/error/error.log
CustomLog /var/www/html/Drupal/logs/access.log combined
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/Drupal
<Directory "/var/www/html/Drupal">
allow from All
Options +Indexes
</Directory>
ServerAdmin info@miosito.org
ServerAlias sito1.org
ServerName
#LogFiles
ErrorLog" title="www.sito1.org
#LogFiles
ErrorLog">www.sito1.org
#LogFiles
ErrorLog /var/www/html/Drupal/sites/sito1.org/error/error.log
CustomLog /var/www/html/Drupal/sites/sito1.org/logs/access.log combined
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/Drupal
<Directory "/var/www/html/Drupal">
allow from All
Options +Indexes
</Directory>
ServerAdmin info@miosito.org
ServerAlias sito2.org
ServerName
#LogFiles
ErrorLog" title="www.sito2.org
#LogFiles
ErrorLog">www.sito2.org
#LogFiles
ErrorLog /var/www/html/Drupal/sites/sito2.org/error/error.log
CustomLog /var/www/html/Drupal/sites/sito2.org/logs/access.log combined
</VirtualHost>
........................................................................
Così ti funziona tutto, ovviamente bisogna ricordarsi di creare le cartelle "error" e "logs" all'interno dei relativi percorsi.
Ciao ciao.
EDIT: ho notato che qui non si vede il codice correttamente, ti ho messo il tutto su pastebin.com
Ciao ciao.