Drupal 8 Multi Site Installation einrichten

Die Multi-Site-Funktion ist Grundbestandteil jeder Drupal-Installation. Das ist gerade für alle gut, die mehrere Webseiten von einem Server aus betreiben wollen. Eine Drupal-Installation ist damit in der Lage mehrere Domains auszuliefern. Dadurch wird es natürlich wesentlich leichter die Seiten auf dem aktuellsten Stand zu halten. Auch bei nur einer Domain ist Drupal in der Lage verschiedene Sub-Domains (z.B. forum.meineseite.de) zu bedienen.

Erstinstallation von Drupal 8

Die Grundlegende Installation von Drupal acht wollen wir hier nicht erklären denn dafür gibt es an anderer Stelle schon sehr gute Tutorials. Im Grunde genommen müssen die folgenden Schritte durchgeführt werden:

  1. Hochladen der Datei auf den Server
  2. Aufrufen der Installation über die Domain
  3. Einrichten der Seite
  4. Fertig

Einrichten der Multi-Site

Anlegen der Unterordner für die einzelnen Domains

Die folgende Tabelle zeigt die Ordnerstruktur welche auf dem Server angelegt werden muss:

Verzeichnis Inhalt

/drupal/sites/all

(wird von allen Domains benutzt)

/modules
/themes

/drupal/sites/default

(Wird benutzt wenn kein /drupal/sites/meineseite.de Verzeichnis vorhanden ist.)

/files
settings.php

/drupal/sites/meineseite.de

(Alle Dateien für www.meineseite.de

/files
/modules
/themes
/tmp
settings.php

/drupal/sites/meineandereseite.de

(Alle Dateien für www.meineandereseite.de

/files
/modules
/themes
/tmp
settings.php

/drupal/sites/forum.meineandereseite.de

Alle Dateien für forum.meineandereseite.de

/files
/modules
/themes
/tmp
settings.php

Achtung! Es sollten kein /sites/all/files Verzeichnis und keine /sites/all/settings.php Datei eingerichtet werden.

Nach einer solchen Aufteilung erhält man eine sauber aufgeräumte Drupal-Installation:

  • Die Drupalverzeichnisse enthalten nur die standard "Kern" Dateien.
  • Alle Module und Themes, die nur für diese Domain benötigt werden, kommen in die /sites/meineseite.de/modules und /sites/meineseite.de/themes Verzeichnisse.
  • Alle anderen Module und Themes die von allen Seiten benötigt werden kommen in die /sites/all/modules und /sites/all/themes Verzeichnisse.
  • /sites/default/settings.php und /files werden benutzt, wenn kein eigenständiges /sites/meineseite.de Verzeichnis existiert.
  • /sites/all/modules und /sites/all/themes sind für alle Domains verfügbar.
  • Ein Backup des jeweiligen /sites Verzeichnisses enthält alle Dateien um die jeweilige Domain wieder her zu stellen.
  • Das hinzufügen einer neuen Domain ist sehr einfach. Einfach das /sites/default Verzeichnis in /sites/meineandereseite.de kopieren und anpassen.

Anlegen der Datenbanken

Wenn Sie die Multi-Site Funktion von Drupal nutzen möchten benötigen Sie für jede Seite eine eigene Datenbankstruktur. Am einfachsten ist es die Datenbank welche bei der Erstinstallation erstellt wurde zu kopieren. Somit hat man alle benötigten Tabellen und Einstellungen.

In der jeweiligen Settings.php Datei muss dann angepasst werden um die Zugangsdaten der jeweiligen Datenbank einzutragen.

Einrichten der Domains

Die Domains als solches bestellen Sie natürlich über Ihr Webhostingunterehmen und richten diese so ein dass sie alle auf das Verzeichnis mit der Drupal Installation verweisen.

Nun müssen wir wieder eine Datei bearbeiten um den Domain die einzelnen vorbereiteten Inhalte zuzuweisen. Im Ordner „sites“ liegt die Datei example.sites.php, diese muss kopiert und umbenannt werden so dass sie dann sites.php heißt.

In diese Datei muss dann am Ende der Code eingefügt werden welcher Drupal sagt wo die Dateien für die einzelnen Domains zu finden sind. Der Aufbau ist wie folgt:

$sites['DOMAIN'] = 'ORDNER';

Ein Beispiel

$sites['meineseite.de'] = 'meineseite.de';
$sites['meineandereseite.de'] = 'meineandereseite.de';
$sites['forum.meineandereseite.de'] = 'forum.meineandereseite.de';