Deployment Konzept / Probleme mit Umzug von Drupal
am 21.03.2008 - 21:28 Uhr in
Hallo!
Ich habe mir Gedanken gemacht, wie ich eine neue Site mit Drupal erstelle und mir ein mehrstufiges Deployment Konzept überlegt.
Ich wollte mit drei "Instanzen" arbeiten - Entwicklung, Test und Produktiv.
Daher habe ich begonnen die neue Seite auf meinem Rechner (Ubuntu 7.10, Apache2, PHP5, MySQL5) einzurichten und bin nun an dem Punkt angelangt, die Seite auf dem Testsystem einzuspielen. Dieses Testsystem ist ein Webserver im Internet, auf dem auf die produktive Seite laufen soll (unter einer anderen Adresse).
Dumm ist ein klein wenig, dass ich nicht 1-zu-1 die gleiche Software wie hier auf meinem Rechner habe, denn auf dem Webserver ist Debian 3.1 (Sarge) installiert und daher habe ich Apache2, PHP4.3 und MySQL4.1 installiert. Laut Mindestanforderungen sollte das aber für Drupal 5.7, das ich benutze, reichen.
Ich habe nun die DEV-Datenbank gesichert und auf der Test-Instanz eingespielt und auch die lokalen Dateien auf das Testsystem hochgeladen.
Dies war zunächst erfolglos, was ich aber auch erwartet hatte, denn ich hatte bis daher die Datenbankverbindung noch nicht geändert.
Nach Anpassen der Datenbank-Daten und auch Umstellung von mysqli auf mysql (beides in sites/default/settings.php) und Beseitigung weiterer Fehler (ich musste das memory_limit in der php.ini hochsetzen), konnte ich dann wieder die Startseite sehen.
Wenn ich jetzt jedoch versuche mich anzumelden (egal ob über Login-Block, /user oder ?q=user) funktioniert das nicht. Als ich andere Links angeklickt habe, musste ich feststellen, dass kein interner Link funktioniert, ich bekomme immer vom Webserver eine Fehlermeldung, dass die URL nicht existiert. mod_rewrite habe ich auch überprüft; es ist installiert und geladen.
Ich bin nun ziemlich ratlos, was ich noch machen kann bzw. ich weiß nicht, ob noch irgendwo etwas geändert werden muss! :-(
Ich habe daher zwei Fragen:
1.) Wie bekomme ich meine Test-Installation ans Laufen?
2.) Hat noch jemand Ideen/Ratschläge bezüglich des Deployment-Konzepts? Ist das mit den drei Systemen (DEV/TEST/PROD) machbar? Kann man hier noch etwas optimieren bzw. das Deployment beschleunigen? Gibt es hier so etwas wie Best Practices? Hat hiermit jemand Erfahrung?
Vielen Dank für eure Hilfe schon mal im Vorraus!
Viele Grüße,
Christian
- Anmelden oder Registrieren um Kommentare zu schreiben

Zu Frage 1
am 21.03.2008 - 23:17 Uhr
Was mir spontan an möglichen Fehlerquellen einfallen würde: der "base-url"-Eintrag in settings.php und ein falscher Eintrag in der .htaccess. Hast du da schon kontrolliert?
Deployment Konzept / Probleme mit Umzug vonDen Base-URL Eintrag
am 22.03.2008 - 09:54 Uhr
Hallo!
Den Base-URL Eintrag in der settings.php habe ich auch schon mal abgeändert - ohne Erfolg.
Eine .htaccess Datei habe ich bisher noch noch gesehen! Wo wird die im Normalfall angelegt? Im Root-Verzeichnis des Webspaces?
Warum Fragen? Ich habe gerade noch einmal gesucht. Ich habe nur im Verzeichnis ./sites/default/files/ eine .htaccess Datei gefunden.
Inhalt:
SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006Options None
Options +FollowSymLinks
Sollte es noch woanders eine .htaccess geben? Wenn ja, wo und was sollte sich darin befinden?
Viele Grüße,
Christian
.htaccess
am 22.03.2008 - 11:04 Uhr
Es gibt im Drupal-Hauptverzeichnis noch eine, da läßt sich u.a. die RewriteBase einstellen, wenn Drupal in irgendeinem Unterverzeichnis liegt oder so.
Vielleicht kannst du ja einfach mal mitteilen, wie die Links real aussehen und wo es tatsächlich denn hingehen sollte. Evtl. läßt sich da ja auf was schließen.
Deployment Konzept / Aktualisierung der Internetseite
am 24.03.2008 - 18:55 Uhr
Hallo!
Also zunächst erst einmal ein Feedback:
Mein Problem hat sich gelöst. Der Hauptgrund war, dass das MOD_REWRITE nicht eingeschaltet war. Ich hatte dieses angenommen, aber für diesen Apache vhost war es nicht der Fall. Dadurch war dann die Verlinkung nicht korrekt. Nach der Umkonfiguration des vhosts funktioniert es.
Ich möchte aber noch einmal auf das Deploymentkonzept zurückkommen, da ich noch nicht genau weiß, wie man ein paar Problemstellungen am geschicktesten löst.
Ich habe jetzt also 3 Installationen 1x DEV (Entwicklung; auf lokalem PC), 1x TEST (im Internet) und 1x PROD (die produktive Instanz).
Für das erste Deployment war das jetzt auch kein Problem (abgesehen von der Geschichte oben ;-)
Wie gehe ich jedoch zukünftig vor?
Ich kann jetzt ja mir zu einem beliebigen Zeitpunkt den aktuellen Stand der PROD ziehen (Dateien/Datenbank) und diese für die DEV als Basis nutzten. Wenn ich jedoch meine Änderungen auf der DEV mache, so laufen die DEV und die PROD ja auseinander und zwar in zwei Hinsichten. Zum Einen werden ich bestimmte "Konfigurationsänderungen" in der Datenbank vornehmen und vielleicht neue Module einführen sowie Einstellungen vornehmen. Diese Änderungen möchte ich letztendlich ja später auf dem PROD-System haben.
In der Zwischenzeit "lebt" die PROD jedoch auch! Das heißt, dort werden auch bestimmte Inhalte erstellt, vielleicht Einstellungen/Werte verändert. Diese Änderungen möchte ich jedoch nachher NICHT durch Einspielen der Datenbank/Dateien von der TEST oder DEV verlieren.
Gibt es eine Möglichkeit, wie ich die "Neuheiten" von der DEV/TEST in die PROD bringe ohne die Änderungen seit dem PROD-Snapshot zu verlieren?
Wie wird diese Problemstellung bei anderen (größeren) Seiten gelöst?
Viele Grüße,
Christian
Deployment Konzept / Aktualisierung der Internetseite
am 26.03.2008 - 16:28 Uhr
Hallo!
Hat niemand eine Idee, wie man vorgehen könnte?
Viele Grüße,
Christian