Wann sollte ich ein Multi-Site-Setup verwenden?


13

Ich habe 4 Drupal-Sites, die nichts miteinander zu tun haben, außer dass sie alle auf Drupal laufen und von mir verwaltet werden.

Die Module, die jeder Standort benötigt, variieren, sie haben jedoch wahrscheinlich eine kleine Teilmenge von Modulen gemeinsam.

Ist diese Situation ein guter Kandidat für die Verwendung einer Konfiguration mit mehreren Standorten?

Was ist, wenn ich eine fünfte Site hinzufügen möchte? Wie würde ich das neue hochladen, oder wie würde das funktionieren?

Antworten:


11

Setups mit mehreren Standorten sind etwas schwierig, da sie auf derselben Codebasis basieren. In diesem Szenario können Sie eine Einrichtung mit mehreren Standorten verwenden. Beachten Sie jedoch, dass sich das Upgrade eines Moduls sites/all/modulesauf alle Standorte auswirkt (sofern es nicht überschrieben wird sites/$SITENAME/modules).

Dies führt zu potenziellen Problemen, bei denen eine Ihrer Sites auf N-Versionen eines Moduls angewiesen ist, Sie jedoch N + 1 auf einer anderen Site verwenden möchten. Das betreffende Modul verfügt möglicherweise nicht über einen Upgrade-Pfad oder hat seine Funktionalität zwischen den Versionen drastisch geändert (was angesichts der Drupal-Kultur in Bezug auf Hauptversionen nicht so ungewöhnlich ist, wie Sie vielleicht denken).

Wenn während eines Modul-Upgrades wichtige Datenbankänderungen erforderlich sind, müssen Sie außerdem mehrere Sites gleichzeitig herunterfahren, um sicherzustellen, dass Sie ausgeführt werden update.php.

Für die meisten Anwendungsfälle ist die Verwendung mehrerer Standorte also nicht der richtige Weg. Es sei denn, Sie haben wirklich Platzmangel, oder Sie haben eine seltsame Hosting-Einschränkung, die Sie daran hindert, die Domänen jeder Site einem separaten Ordner zuzuordnen. Daher sollten Sie wahrscheinlich getrennte Codebasen pflegen und Tools wie Drush und Versionskontrolle verwenden, um den Code zu beschleunigen Einsatz.

Der prototypische Anwendungsfall für mehrere Standorte, der nicht nur als Problemumgehung für restriktive Hosts verwendet wird, ist die Bereitstellung zahlreicher Standorte, die sich stark ähneln. Möglicherweise betreiben Sie einen Hosting-Service oder erstellen eine Reihe von Micro-Sites für ein Unternehmen oder was-haben-Sie. In diesen Fällen können Sie Ihr eigenes Multi-Site-Setup erstellen. Sie sollten jedoch auch die Verwendung von Aegir in Betracht ziehen, mit dem viele Probleme beim Ausführen eines solchen Setups automatisiert und abstrahiert werden.

Das Hinzufügen von neuen Seiten zu einem Multi-Site - Setup ist ziemlich einfach: Erstellen Sie einen neuen Ordner unter sites, zu bearbeiten sites/sites.php(Drupal 7 nur), kopieren , sites/default/default.settings.phpum settings.phpin diesem neuen Ordner, und besuchen Sie die Website in einem Browser. Drupal sollte mit der Installation beginnen und den neuen Ordner verwenden. Ihre neue Site hat sites/all/modulesebenso wie Ihre bestehenden Sites Zugriff auf alle Module unter .


Das ist ziemlich toll. Dies hängt tatsächlich mit meiner anderen Frage zu Symlinks und dem Modulordner zusammen. Ich habe es satt, bei jedem Start einer neuen Test-Site in meiner Entwicklungsumgebung dieselbe Routine wiederholen zu müssen, und ich habe es auch satt, Module (insbesondere benutzerdefinierte Module) in mehrere Projekte zu kopieren (was die Aktualisierung erschwert). Zumindest während der Entwicklung könnte ich also den Multi-Site-Ansatz verwenden.
Sameold

@sameold, was ich für die Drupal-Entwicklung verwende, ist ein Git-Repository, das meine Pflichtmodule als Submodule enthält. Dann ist es nur noch eine Frage des Laufens git clone git@my.repository.com:/base.git newsite, um eine saubere Umwelt zu schaffen.

4
Eine Alternative wäre eine Drush-Make-Datei für das Grundsetup. Ein weiterer kleiner Hinweis: Das Bearbeiten von sites / sites.php ist optional und nur erforderlich, wenn die Standardsuche wie in D6 nicht funktioniert (z. B. mehrere Sites mit mehreren Domains für eine einzelne Site).
Berdir

2

Ich würde eine Multi-Site verwenden, auf der Sie ähnliche Inhalte anbieten, jedoch für unterschiedliche Zielgruppen.

Beispielsweise verwenden wir es für unser Intranet, das mehrere Marken unterstützt. Auf diese Weise kann jede Marke einzeln verwaltet werden und Inhalte / Benutzer können gemeinsam genutzt werden.

Die einzigartige Benutzeroberfläche (Menüs / Blöcke / Themen) trägt wesentlich dazu bei, dass verschiedene Abteilungen problemlos auf das zugreifen können, was für sie am wichtigsten ist.

Viele Funktionen sind verfügbar unter Verwendung von Domain - Zugang , wie es dem Benutzer erlaubt , ihre Standard - Site zu setzen, verschiedene Standorte von Sub - Domain, Suche zwischen den Standorten, Zugangskontrolle usw. (also Sie marketing.intranet.local oder engineering.intranet.local etc haben könnte) .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.