Installazione e Configurazione Drupal Multisito
Salve a tutti.
Sto cercando di configurare Drupal Multisito in locale; la guida che sto seguendo è quella che riporto di seguito (se non va bene per la versione 7 di drupal fatemelo sapere per favore).
guida: http://www.hostingedomini.com/supporto/drupal/installazionemultisito.asp
Ho estratto Drupal nella directory; ho creato tutte le cartelle dei sottodomini (sito1.it, sito2.it,....) in sites; ho creato i virtual host per tutti i siti inserendoli nella cartella conf.d;
--------------------------------------------------------------------
Per il sito master:
vi /etc/httpd/conf.d/drupal.conf
DocumentRoot /home/drupal/
ServerName drupal.com
ErrorLog /home/drupal.com/error.log
DirectoryIndex index.php index.html index.htm
Options Indexes FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
PER IL SITO 1
vi /etc/httpd/conf.d/sito1.it.conf
DocumentRoot /home/drupal/
ServerName sito1.it
ErrorLog /home/sito1.it/error.log
DirectoryIndex index.php index.html index.htm
E COSÌ VIA PER GLI ALTRI
--------------------------------------------------------------------
Adesso mi chiede di modificare il file setting.php (in drupal 7 è default.setting.php), però non è proprio come nella guida, nel senso:
- mi chiede di inserire define('OG_SITES_HUB_PREFIX', 'main_'); nella prima riga e la metto all'inizio sopra il tag php (? forse prima riga dopo il tag)
- mi chiede di modificare: $db_url = “mysql://username:password@localhost/database”
ma io questa riga non sono riuscito a trovarla nel file default.setting.php
come devo procedere?
Risposte
P.S.: per completezza... La
P.S.: per completezza...
La struttura che vorrei realizzare è questa, esempio: www.drupal.com (sito iniziale), www.ciao.drupal.com , www.ciccio.drupal.com (siti secondari)
Inoltre: unico database, unica registrazione utenti, unico blog, unico forum (quindi alcuni link dei menu saranno uguali)
Mamma mia che casino che hai
/var/www/html/drupal
sites/sito1.ciccio.it
sites/sito2.ciccio.it
......................
sites/siton.ciccio.it
vi /etc/httpd/conf/httpd.conf
################################################################################
# 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 tua@email.it
ServerAlias ciccio.it
ServerName www.ciccio.it
# 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 tua@email.it
ServerAlias sito1.ciccio.it
ServerName www.sito1.ciccio.it
#LogFiles
ErrorLog /var/www/html/drupal/sites/sito1.ciccio.it/error/error.log
CustomLog /var/www/html/drupal/sites/sito1.ciccio.it/logs/access.log combined
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/html/drupal
<Directory "/var/www/html/drupal">
allow from All
Options +Indexes
</Directory>
ServerAdmin tua@email.it
ServerAlias sito2.ciccio.it
ServerName www.sito2.ciccio.it
#LogFiles
ErrorLog /var/www/html/drupal/sites/sito2.ciccio.it/error/error.log
CustomLog /var/www/html/drupal/sites/sito2.ciccio.it/logs/access.log combined
</VirtualHost>
service httpd restart
mysql -u root -p
CREATE DATABASE ciccio_it;
GRANT ALL ON ciccio_it.* TO 'utente_db'@'localhost' IDENTIFIED BY 'password_utente_db';
FLUSH PRIVILEGES;
vi /etc/hosts
127.0.0.1 www.ciccio.it
127.0.0.1 ciccio.it
127.0.0.1 www.sito1.ciccio.it
127.0.0.1 sito1.ciccio.it
mizzica grazie mille
mizzica grazie mille davvero
la cartella drupal si trova in var/www/html ;-)
allora, dubbi iniziali:
1) "Il sito "principale" lo installi in "sites/default" mentre per gli altri creerai le cartelle in sites"
Che vuoi dire con "lo installi" ? Che devo creare semplicemente la cartella ciccio.it in sites/default? Oppure devo fare anche altro?
Per i siti secondari ho creato le cartelle come da te indicato.
2) dubbio sul file setting.php ; tu intendi che devo copiare il file default.setting.php e poi togliere il prefisso default, dico bene? Perchè file con il solo nome setting.php non ne ho trovati
Si i permessi ho capito come darli, anche in modo ricorsivo ;-)
1) RTFM!!!! La cartella
1) RTFM!!!! La cartella "default" è già la cartella del sito principale, non devi creare nessuna cartella aggiuntiva (quindi ciccio.it è default e NON devi rinominarla)
2) Il file settings.php NON LO TROVI perché devi *copiare* il file default.settings.php (anche qui, RTFM!) quindi da terminale:
cd /var/www/html/drupal/sites/default
cp default.settings.php settings.php
chmod 777 settings.php
eccomiiii.....ho fatto tutto
eccomiiii.....ho fatto tutto e non mi ha dato errori ;-) (mi sono informato anche su RTFM hahahahaha)
adesso sto installando...però ci sono problemi su 2 requisiti:
1) Estensioni PHP Disattivato
Drupal richiede l'attivazione delle seguenti estensioni di PHP (vedere la pagina dei requisiti di sistema per maggiori informazioni):
gd
pdo
2) Supporto database Disattivato
Il tuo web server non sembra supportare PDO (PHP Data Objects). Chiedi al tuo servizio di hosting se è in grado di fornire supporto per l'estensione PDO nativa. Vedi la pagina dei requisiti di sistema per maggiori informazioni.
Li devo abilitare tramite guida (http://drupal.org/requirements) o li lascio così e vado avanti?
urpmi php-pdo php-pdo_mysql
urpmi php-pdo php-pdo_mysql php-gd php-gd-bundled
Poi, siccome ti serviranno per abilitare uploadprogressbar
urpmi php-pear-HTTP_Request php-pear-Console_ProgressBar php-pear php-pear-MDB2_Driver_sqlite php-pear-File_Passwd php-pear-XML_RPC2 php-pear-PEAR_RemoteInstaller php-pear-Crypt_CHAP php-pear-Cache_Lite php-pear-MDB2 php-pear-MDB2_Driver_pgsql php-pear-Net_DIME php-pear-SOAP php-pear-Net_POP3 php-pear-PEAR_Command_Packaging php-pear-MDB2_Driver_mysqli php-pear-HTTP_Client php-pear-Net_URL
Ricordati che dovrai riavviare MySQL e apache, quindi quando avrai finito
service httpd restart
service mysqld restart
Ciao ciao.
tutto perfettamente
tutto perfettamente funzionante!!!!!!!!!!!!!
Prima di tutto vorrei ringraziarti per la tua continua disponibilità! GRAZIE MILLE!
Adesso, prima di iniziare a lavorare, ti faccio le ultime domande (per ora xDDD):
"installa poi i moduli che ti servono, lavora e termina il sito. Quando tutto è completato, inizia con l'installazione del primo sottodominio, ricordati di configurarlo nel modulo "Domain", segui sempre le indicazioni e non dovresti aver problemi, nel caso, scrivi. Buon lavoro, ciao ciao."
Ecco, quello che ho capito io è: termino il sito principale appena fatto e in seguito installo il primo sottodominio; lo finisco e passo all'installazione del secondo, e così via;
1) l'installazione dei vari sottodomini in cosa consiste? non ho capito se devo rifare l'installazione di drupal anche nei sottodomini
2) altro aspetto che non mi è chiaro (ovviamente per mie mancanze) è il fatto di configurarlo nel modulo "Domain"; non so cosa sia purtroppo.
3) se vado su aspetto, su struttura o qualsiasi altra cosa mi esce sempre questa schermata: http://i53.tinypic.com/20k8was.jpg
non si può lavorare nello stesso modo di quando è su web?
4) ultima domanda: mi piacerebbe fare un tema grafico come quello di questo sito: http://www.rockettheme.com/ ; è difficile da fare? La cosa che mi piace è soprattutto quella specie di menu dove inizia lo sfondo bianco (joomla club, wordpress club, drupal club, magento club, .....), si può avere su drupal? nei moduli non riesco a trovarlo
ciao
EDIT: non mi va piu :-(, dopo che faccio il login come amministratore mi dice:
Oggetto non trovato!
L'URL richiesto non esiste su questo server. Il link della pagina da cui sei arrivato potrebbe essere errato o non essere più valido. Per favore, informa dell'errore l'autore della pagina.
Se pensi che questo sia un errore del server, per favore contatta il webmaster.
Error 404
www.a360gradi.eu
Apache/2.2.21 (Mandriva Linux/PREFORK-0.2)
Forse dipende da un aggiornamento di sistema che ho fatto nel quale era presente un aggiornamento di apache, altrimenti non ho idea
1) RTFM 2) RTFM (o almeno
1) RTFM
2) RTFM (o almeno inizia a guardare il modulo così magari capisci...)
3) sevice httpd restart oppure riavvia la macchina
4) Si è difficile per te dato che non sai ancora da che parte iniziare, si il menù così lo puoi fare anche con Drupal
EDIT: riavvia il sistema e dovrebbe tornare tutto a posto...
Ciao ciao.
niente non va nemmeno
niente non va nemmeno riavviando il pc
sevice httpd restart lo avevo provato anche, ma niente
nel file error.log che si trova nella cartella drupal riporta:
[Sat Oct 08 22:16:36 2011] [error] [client 127.0.0.1] Attempt to serve directory: /var/www/html/drupal/, referer: http://a360gradi.eu/index.php
[Sat Oct 08 22:18:02 2011] [error] [client 127.0.0.1] Attempt to serve directory: /var/www/html/drupal/, referer: http://a360gradi.eu/index.php
[Sat Oct 08 22:18:05 2011] [error] [client 127.0.0.1] Attempt to serve directory: /var/www/html/drupal/, referer: http://a360gradi.eu/index.php
[Sat Oct 08 22:18:38 2011] [error] [client 127.0.0.1] Attempt to serve directory: /var/www/html/drupal/, referer: http://a360gradi.eu/index.php
[Sat Oct 08 22:18:45 2011] [error] [client 127.0.0.1] Directory index forbidden by Options directive: /var/www/error/, referer: http://a360gradi.eu/
[Sat Oct 08 22:19:04 2011] [error] [client 127.0.0.1] Attempt to serve directory: /var/www/html/drupal/, referer: http://a360gradi.eu/index.php
[Sat Oct 08 22:22:23 2011] [error] [client 127.0.0.1] Attempt to serve directory: /var/www/html/drupal/, referer: http://www.a360gradi.eu/index.php
# Index + Directory
# Index + Directory Root
DirectoryIndex index.html index.php
DocumentRoot /var/www/html/drupal
Prova ad aggiungere index.php in httpd.conf anche se mi sembra strano...
Da me funziona e ovviamente funziona su tutti i server che ho nella farm.
Ovviamente dopo riavvia apache.
Ciao ciao.
ho aggiunto index.php e
ho aggiunto index.php e adesso va perfettamente :-D
adesso smanetto un pò e vediamo se riesco a fare quel tema con quel menu :-)))
comunque ci sentiremo spesso sia qui che su mandriva ;-)
grazie mille!
Perfetto, anche se mi sembra
Perfetto, anche se mi sembra strano che non ti funzioni senza...
Buon lavoro, allora :-D
Ciao ciao.
Ciao, stavo leggendo questa
Ciao,
stavo leggendo questa richiesta perché vorrei anch'io realizzare un'installazione/configurazione di drupal multisito; premetto che su un server debian (stable) in cui era già installato l'ambiente "AMP" ho appena terminato un'installazione di prova con un unico sito che è andata a buon fine producendo la pagina di benvenuto.
Ora nella risposta "Inviato da Niubbo75 il 8 ottobre, 2011 - 02:30." leggo:
"quindi da terminale di root:
vi /etc/httpd/conf/httpd.conf
entri in modalità inserimento (tasto "ins" o tasto "I") e, alla fine del file, troverai una cosa come questa:
################################################################################
# virtual hosts configuration section
# Include virtual hosts, if any
Include conf/vhosts.d/*.conf
# disable TRACE (CVE-2009-2823)
TraceEnable Off"
ho provato a eseguire questo comando ma ottendo un file vuoto con la dicitura in basso [new DIRECTORY]; ho verificato ma la cartella "httpd" in "etc" non esiste.
Creo lo stesso il file o c'è qualcosa che non va?
Grazie
Ciao, in Debian cambiano i
Ciao, in Debian cambiano i nomi (purtroppo), quindi, se non ricordo male, dovrebbe essere /etc/apache2/apache.conf o qualcosa del genere (comando "locate apache" aiuta).
Poi la configurazione è la medesima, ricordati di indicare il percorso corretto dove tu hai inserito l'installazione Drupal.
Ciao ciao.
Grazie Niubbo75, per la
Grazie Niubbo75,
per la risposta, pongo un'altra domanda:
se volessi avere 2 (o più) siti sullo stesso livello come dovrei procedere, come cambia la configurazione che hai postato in precedenza? è sufficiente inserire le voci dei virtual host relativi ed omettere quella del sito padre?
Grazie e ciao
Ciao, non capisco cosa
Ciao, non capisco cosa intendi con "se volessi avere 2 (o più) siti sullo stesso livello".
Parli sempre di siti Drupal inseriti nella stessa installazione, oppure siti esterni all'installazione Drupal e che possono anche essere semplici siti HTML o altri CMS (o anche altre installazioni Drupal, ovviamente)?
Dovrebbero essere sempre siti
Dovrebbero essere sempre siti presenti nella stessa installazione di drupal, mi spiego:
non ho la necessità di avere il sito padre, ma due siti sullo stesso livello. Il sito padre è comunque necessario averlo (ad esempio per la gestione generale) o si può fare a meno?
Ossia posso avere un'installazione di drupal che mi permetta di accedere direttamente a www.sito1.com e www.sito2.com o devo per forza avere www.drupal.com, www.drupal.com/sito1, www.drupal.com/sito2?
Ciao, allora, pesonalmente
Ciao, allora, pesonalmente (ma non è un obbligo, sono io che preferisco operare in questo modo) preferisco avere una installazione "Master" (in sites/default) che utilizzo per mantenere aggiornato il codice di tutte le installazioni "Slave", ma non è obbligatorio, come ripeto.
Poi il fatto di avere o meno questa installazione non pregiudica il funzionamento del multisites, ovvero, se anche il sito in "default" non esiste ma hai configurato, ad esempio, i siti pippo.it e minnie.com mettendo le cartelle all'interno della cartella sites (quindi avrai sites/pippo.it e sites/minnie.com) facendo puntare i relativi nomi a dominio nella root di Drupal effettuerai le installazioni nelle relative directories, lasciando inviolata default. Calcola che comunque, sia che tu vada a creare il "sito padre" sia che non lo andrai a creare, l'accesso ai siti "figlio" avverrà sempre dal link diretto (quindi, riprendendo il mio esempio, www.pippo.it e www.minnie.com) e non tramite sottocartella (quindi non avrai ad esempio www.pippo.it/pippo.it).
Nulla vieta, poi, di impostare pippo.it come installazione "Master", ovviamente (e vice versa), dipende tutto da quello che devi fare tu, per le installazioni multisites, comunque, la configurazione di apache è sempre la medesima, cambi il nome a dominio e l'eventuale alias ma la document root e la directory sono sempre quelle, poi è Drupal che amministra la cosa.
Spero ti sia chiaro, ciao ciao.
Ciao Niubbo75 Sei stato molto
Ciao Niubbo75
Sei stato molto chiaro; a dir il vero mentre scrivevo il messaggio mi rendevo conto dell'opportunità di mantenere il master proprio per attività di gestione generale (come scritto nel mio post precedente), ed il tuo messaggio ha fugato i residui dubbi.
Grazie per il supporto
Rieccomi con un nuovo
Rieccomi con un nuovo dubbio:
stavo mettendo mano al file apache.conf per apportare le necessarie modifiche, ma:
- il server "AMP" gestisce anche un piccolo sito realizzato in php per la gestione di una rubrica; tale sito è memorizzato nella cartella /var/www/rubricaced e vi accedo mediante http://ipserver/rubricaced o http://nomerserver/rubricaced;
- il sito master si dovrebbe chiamare "mioufficio" e ed i siti slave "ufficio1" e "ufficio2";
- tutti i siti sono visibili solo all'interno della rete locale;
come devo modificare i parametri "ServerAlias" e "ServerName" in apache.conf affinché riesca ad accedere a tutti i siti di drupal permettendo di accedere anche al sito già esistente (per il quale non ho dovuto effettuare alcuna modifica a apache.conf?
Grazie
Ciao, le cose così si
Ciao, le cose così si complicano, non di molto, ma si complicano.
Calcola che il multisites funziona con i nomi a dominio, se punti ad esempio myserverip/mysubdomain non funziona, vedresti sempre e comunque il sito "Master".
Come fare per ovviare a questo problema? Semplice, impostiamo in apache i siti in questo modo:
rubricaced.local -> impostando come directory e documentroot: /var/www/rubricaced
mioufficio.local
ufficio1.local
ufficio2.local -> impostando in apache per tutti e 3 la cartella che contiene Drupal.
Ora, se sei all'interno di un dominio AD con un server che fa anche da DNS, imposti li nel suo file hosts un qualcosa del tipo:
ipdelserver rubricaced.local
ipdelserver mioufficio.local
ipdelserver ufficio1.local
ipdelserver ufficio2.local
in modo che, dal browser dei PC presenti nella rete e che dovranno accedere ai servizi, digitando quegli indirizzi vadano direttamente sul server che li ospita.
Da qui in poi non hai più problemi.
Ciao ciao.