Drupal Multisite - Site verschieben / kopieren

In letzter Zeit habe ich mich etwas intensiver mit Drupal beschäftigt. Das Feature Multisite für Drupal gefällt mir sehr gut. Es ermöglicht mehrere Drupal-Sites mit nur einer Installation des Drupal-Kerns zu betreiben. Dies halte ich für sehr sinnvoll, da sich speziell bei kleineren Projekten der Aufwand für das Aktualisieren der Installationen summiert und im Verhältnis zum Aufwand für die Pflege des Contents mitunter zu hoch ist. Dies gilt nicht nur für Drupal, sondern auch für andere Systeme wie Wordpress oder Joomla.

Das Verschieben oder Kopieren einer Site von einer Drupal-Multisite-Installation zu einer anderen oder innerhalb einer Drupal-Multisite-Installation birgt gewisse Fallstricke die man beachten muss. Beim Verschieben/Kopieren innerhalb einer Drupal-Multisite-Installation wird die Verwendung von Symlinks empfohlen. Da Symlinks unter Windows nicht oder nur bedingt zur Verfügung stehen und es auch keine Lösung für ein Verschieben zwischen verschiedenen Drupal-Multisite-Installationen ist (z. B. lokal nach Internet), habe ich mich mit anderen Möglichkeiten beschäftigt. Hier gibt es verschiedene Ansätze. Unter anderem gibt es auch ein Modul hierfür. Für diesen Fall wollte ich aber kein Modul einsetzen, da es mir wichtig ist den Multisite-Ansatz zu verstehen. Insbesondere um sich im Fall von Problemen (z. B. Neuinstallation) helfen zu können.

Folgende Vorgehensweise hat (bei Drupal 6) für mich funktioniert:

  • Kopieren des Ordners der zu verschiebenden/kopierenden Site und Umbenennen zur neuen Site.
  • Exportieren der Datenbank (ohne CREATE DATABASE) der zu verschiebenenden/kopierenden Site in eine SQL-Datei. In der SQL-Datei alle Vorkommen der alten Site durch die neue Site ersetzen.
  • Leere Datenbank für die neue Site erstellen und den bearbeiteten SQL-Export importieren.
  • Cache-Tabellen in der Datenbank der neuen Site löschen.
  • Anpassen der settings.php im Ordner der neuen Site auf neue Datenbank.
  • Anpassen der vhosts.conf für die neue Site

Die Tabelle watchdog kann man bei der Ersetzung ggf. außen vor lassen.

Diese Vorgehensweise ist keine Lösung wenn man eine Site unter mehreren Domains erreichbar machen will.

Neuen Kommentar schreiben

Filtered HTML

  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.

Plain text

  • Keine HTML-Tags erlaubt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.