Tel. 06151 / 39 10 793

Drupal Multisite-Installation Live stellen

Wer schon einmal größere Webprojekte mit Drupal entwickelt hat, wird sicher das Problem kennen, wenn Pfade zu Bildern im Body nicht mehr stimmen. Das ist dann der Fall, wenn man z.B. den FCK Editor in einer Multisiteumgebung im Ordner sites/all liegen hat, und den PHP-Conector so angepasst hat, dass er für jede Domain der Installation einen eigenen Ordner anlegt. Das macht ja auch auf jeden Fall Sinn. Wird die Seite jedoch zuvor unter der Entwicklungs-URL wie z.B. dev.meineseite.net entwickelt und später unter meine-seite.de live geschaltet, stimmen die Bild-Pfade im Body der Nodes nicht mehr.

Nun kann man entweder jeden Pfad anpassen und den Node speichern, oder man geht den weitaus schnelleren Weg und spart somit viel Zeit. Mit MySQL ist es möglich, Felder mit String-Replace upzudaten. So kann man einfach alle Textareafelder (meist der Body in der Tabelle node_revision) mit einem einzigen Befehl auf den neusten Stand bringen. Das gleiche sollte dann auch mit allen weiteren Textarea-Feldern getan werden, die Bilder durch den FCK Editor erhalten haben.

Um beispielsweise alle Pfade des Bodyfeldes auf den Pfad in der Onlineversion umzustellen, geht man nach folgendem MySQL Muster vor:

UPDATE node_revisions set body = replace(body, „OLD_PATH“, „NEW_PATH“) where body LIKE “%OLD_PATH%“

Die einfachste Lösung in der Webentwicklung bei größeren Projekten ist es jedoch, erst dann Content in die Seite einzupflegen, wenn die Datenbank fertig entwickelt ist und evtl. nur noch am Design gearbeitet wird. Somit ist dann meist kein Update der Datenbank nötig oder man kann sich auf die Anpassung weniger Felder beschränken, die den Inhalt der Nodes nicht betreffen. Das gute an Drupal ist dabei, dass alle Bodyfelder, und das sind ja die häufigsten Felder mit einer Textarea in einem Node, in der Tabelle node_revision gespeichert werden. Der Vorteil, wenn jeder Inhalt ein Node ist.

Betreibt man sein Seite nicht in einer Multisiteumgebung, erübrigt sich das Problem. Dann werden alle Dateien unter sites/default//files etc. abgelegt und hängen nicht von der verwendeten Domain ab.

Ein alternative Lösung ist es auch, den lokalen Apache so zu konfigurieren, dass er auf die spätere Live Domain "hört" und dann in die Hostsdatei (unter Windows /windows/system32/drivers/etc/hosts) folgendes einzutragen:

[LOKALE IP DES TEST-SERVERS]       [LIVEDOMAIN]

Dann kann man im Browser die Livedomain angeben und landet dennoch auf dem Entwicklungsserver. Drupal (und vor allem der FCK-Editor in der Multisiteumgebung) legt so nun die Dateien im gleichen Ordner ab, wie er es später in der Liveumgebung tun würde. Somit gibt es beim Umzug auch kein Problem.

Bei weiteren Fragen und Beratungswünschen bieten wir Ihnen auch Beratung und Programmierung in Drupalprojekten an.

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
CAPTCHA
Diese Frage hat den Zweck zu testen, ob Sie ein menschlicher Benutzer sind und um automatisierten Spam vorzubeugen.
So finden Sie uns