Quando dovrei usare un'installazione multi-sito?


13

Ho 4 siti Drupal che non hanno nulla a che fare l'uno con l'altro, tranne per il fatto che funzionano tutti su Drupal e sono tutti gestiti da me.

I moduli di cui ogni sito necessita varieranno, ma probabilmente condividono alcuni piccoli sottogruppi di moduli.

Questa situazione è un buon candidato per l'utilizzo della configurazione multi-sito?

Cosa succede se desidero aggiungere un quinto sito? Come caricherò quello nuovo o come funzionerebbe?

Risposte:


11

Le configurazioni multi-sito sono un po 'complicate a causa della loro dipendenza dalla stessa base di codice. È possibile utilizzare un'installazione multi-sito in questo scenario, ma tenere presente che quando si aggiorna un modulo sites/all/modules, questo avrà effetto su tutti i siti (a meno che non venga eseguito l'override sites/$SITENAME/modules).

Ciò porta a potenziali problemi in cui uno dei tuoi siti si basa sulla versione N di un modulo, ma desideri utilizzare N + 1 su un altro sito. Il modulo in questione potrebbe non avere un percorso di aggiornamento o potrebbe aver cambiato drasticamente la sua funzionalità tra le versioni (non così insolito come si potrebbe pensare, vista la cultura di Drupal verso le versioni principali).

Inoltre, se durante l'aggiornamento del modulo sono necessarie modifiche critiche al database, è necessario rimuovere più siti contemporaneamente per garantire l'esecuzione update.php.

Quindi, per la maggior parte dei casi d'uso, il multi-sito non è la strada da percorrere. A meno che tu non sia davvero a corto di spazio o che tu abbia qualche strana restrizione di hosting che ti impedisce di mappare il dominio di ogni sito in una cartella separata, probabilmente stai meglio mantenendo basi di codice separate e usando strumenti come Drush e controllo della versione per accelerare il codice distribuzione.

Il prototipo del caso d'uso per più siti, al di fuori del suo utilizzo come soluzione alternativa per host restrittivi, è quando si distribuiscono tonnellate di siti estremamente simili. È possibile che tu stia eseguendo un servizio di hosting o costruendo un sacco di micro-siti per un'azienda o che cosa hai. In questi casi, puoi eseguire il rollup della tua configurazione multi-sito, ma dovresti anche considerare l'utilizzo di Aegir , che automatizza e risolve molti problemi legati all'esecuzione di tale configurazione.

L'aggiunta di nuovi siti per una configurazione multi-sito è piuttosto semplice: creare una nuova cartella sotto sites, modificare sites/sites.php(Drupal 7 solo), copiare sites/default/default.settings.phpa settings.phpin quella nuova cartella, e visitare il sito in un browser. Drupal dovrebbe iniziare il processo di installazione e utilizzare la nuova cartella. Il tuo nuovo sito avrà accesso a tutti i moduli sites/all/modulesproprio come i tuoi siti di uscita.


È abbastanza bello. Questo in realtà è in qualche modo correlato all'altra mia domanda sui link simbolici e sulla cartella dei moduli. Sono stanco di dover ripetere la stessa routine ogni volta che avvio un nuovo sito di test nel mio ambiente di sviluppo, e sono anche piuttosto stufo di copiare i moduli (in particolare i moduli personalizzati) su più progetti (complica l'aggiornamento). Quindi immagino di poter usare l'approccio multi-sito, almeno durante lo sviluppo.
sameold

@sameold quello che uso per lo sviluppo di Drupal è un repository git che contiene i miei moduli da usare come sottomoduli. Quindi è solo una questione di corsa git clone git@my.repository.com:/base.git newsiteper ottenere un ambiente pulito.

4
Un'alternativa sarebbe un drush make file per l'installazione di base. Un'altra nota minore, la modifica di siti / siti.php è facoltativa e necessaria solo quando la ricerca predefinita come in D6 non funziona (ad es. Multi-sito con più domini per un singolo sito).
Berdir,

2

Vorrei utilizzare un sito multiplo in cui hai un'offerta di contenuti correlati ma per un pubblico diverso.

Ad esempio, lo utilizziamo per la nostra Intranet che supporta più marchi. Ciò consente a ciascun marchio di essere amministrato individualmente con un'opzione per condividere contenuti / utenti (enorme risparmio di tempo nel ridurre la duplicazione).

Anche avere un'interfaccia unica (menu / blocchi / a tema) aiuta molto a garantire che diversi dipartimenti possano accedere facilmente a ciò che è più importante per loro.

Molte funzionalità sono disponibili utilizzando Domain Access come consentire a un utente di impostare il proprio sito predefinito, siti diversi per sottodominio (quindi si potrebbe avere marketing.intranet.local o engineering.intranet.local ecc.), Cercare tra i siti, controllo accessi ecc. .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.