Startseite
  • » Home
  • » Handbuch & FAQ
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Kopie von Drupal automatisiert erstellen

Eingetragen von wakeup (55)
am 17.08.2010 - 11:49 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo,

wenn ich Veränderungen an meiner Webseite durchführe, dann erstelle ich immer zunächst eine Kopie der produktiven Seite - also eine Testinstanz, die dann auch beim Hoster läuft. Dann mache ich Änderungen und wenn ich fertig bin, wird die Testinstanz zu meiner produktiven Seite (über Änderung des DocumentRoot).

Das Erstellen der Kopie ist etwas lästig und zeitaufwändig, deswegen möchte ich das gerne automatisieren. Ich schreibe hier mal die Schritte auf, die ich derzeit manuell mache. Weiß jemand, wie ich den ein oder anderen Schritt automatisieren kann? Als Betriebssystem habe ich Win7 - mir steht aber auch Linux (als VM) zur Verfügung.

1) Ich starte ein Backup beim Hoster
2) Kopie der beiden Drupal-Verzeichnisse (Test und Prod) via FileZilla vom Hoster auf den lokalen Rechner
3) Sicherung der Datenbanken (Test und Prod) via phpMyAdmin auf den lokalen Rechner
4) Ich lösche von der Datenbank, die nun Testinstanz werden soll, alle Tabellen (via phpMyAdmin)
5) Dann kopiere ich die Datebank (Prod) in die Datenbank Test (via phpMyAdmin)
6) Nun lösche ich via FileZilla die Drupal Installation, die nun die Testinstanz werden soll. Dabei bleibt die Datei settings.php erhalten, weil die Löschrechte fehlen.
7) Mit FileZilla kopiere ich die produktive Instanz (aus Schritt 2) in das nun (fast) leere Verzeichnis
8) Muss ich eigentlich update.php auf der Testinstanz aufführen? Das habe ich bislang nicht gemacht.
9) Ich passe den DocumentRoot meiner Testdomain auf das Verzeichnis der Testinstallation.

Bin für Tipps dankbar!

Viele Grüße
wakeup

‹ Sichere SQL Abfrage - SQL Injektion Cron-Lauf und Update-Check dauern viel zu lange ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Den Aufwand mache ich mir

Eingetragen von Sense (917)
am 17.08.2010 - 12:17 Uhr

Den Aufwand mache ich mir nicht.

Ich habe bei mir lokal einen Subversion Server laufen in dem alle Drupaldateien enthalten sind.
Das Einzige was ich mir immer lade ist die aktuelle DB, die Entwicklungsumgebung + DB läuft immer lokal, genauso wie die Tests.
Nach erfolgreichem Test übertrage (commite) ich dann alles in Subversion und die Dateien werden danach entsprechend hochgeladen, natürlich auch nur die, die ich angepasst habe.
So verfahre ich auch bei einem Drupal Update.

sense-design.de | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Auch meine Empfehlung: VCS

Eingetragen von geewiz (45)
am 31.08.2010 - 11:34 Uhr

Es geht dir ja darum, auch nach Veränderungen noch auf die vorige(n) Version(en) zuzugreifen. Genau dafür wurde Version Control Software erfunden. Mit VCS wie git kannst du dir deine Arbeit deutlich vereinfachen. Du kannst damit auf beliebige Versionen der Vergangenheit zurückgreifen und sogar verschiedene Projektzustände (Entwicklung, Test, Produktion) parallel halten.

Mit der push-Funktion von git kannst du dein lokales Projekt bequem auf den Webserver ausrollen. Diesen Weg nutzen wir auch für die Website-Pflege auf unseren Drupal-Clustern.

Mit etwas Mühe kannst du sogar das DB-Backup mit dem VCS verknüpfen, sodass beim Rollout automatisch ein Backup gezogen wird.

Ich bin überzeugt, dass sich die Einarbeitung lohnt.

Besten Gruß,
Jochen

Jochen Lillich, freistil IT
Die Drupal-Talkshow · DrupalCONCEPT High Performance Drupal Hosting

  • Anmelden oder Registrieren um Kommentare zu schreiben

Versionierung auch für Änderungen an der DB möglich?

Eingetragen von wakeup (55)
am 11.10.2010 - 13:11 Uhr

Dank für die Tipps mit der Versionierung! Das schaue ich mir auf jeden Fall mal an!

Die Versionierung bezieht sich dann nur auf Dateien, die ich verändere, oder? Also z.B. wenn ich css oder tpl Dateien ändere oder Module hinzufüge.

Wie schaut es aber mit inhaltlichen Änderungen aus? Die mache ich ja nicht in Dateien, sondern in Drupal (d.h. im Browser) und Drupal speichert die Sachen in der mysql DB.

Kann ich hier auch irgendwie einen Mechanismus einbauen, dass meine inhaltlichen Änderungen "comitted" werden, ich also nicht alles ein zweites Mal eingeben muss?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Meinst Du so eine Art Staging

Eingetragen von Sense (917)
am 11.10.2010 - 13:15 Uhr

Meinst Du so eine Art Staging System, also Inhalte lokal ändern und diese dann entsprechend an die Online-DB übertragen, natürlich hier auch nur die geänderten?

sense-design.de | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Inhaltliche Änderungen

Eingetragen von geewiz (45)
am 11.10.2010 - 13:28 Uhr

Es kommt darauf an, welche Änderungen du genau meinst. In der Datenbank mischen sich ja Inhalte (in der Hauptsache Nodes) mit Metadaten (z.B. Inhaltstypen und Views). Damit letztere versioniert werden können, wurde das Features-Modul entwickelt. Es exportiert die gewünschten Informationen und erstellt daraus ein Drupal-Modul, das du dann ganz normal installieren, versionieren usw. kannst. Damit habe ich z.B. ein Fotoalbum-Modul/Feature aus den dafür notwendigen Inhaltstypen, Views, Imagecache-Presets, Modul-Abhängigkeiten usw. zusammengestellt und kann es jetzt ganz einfach wiederverwenden.

Echten Content kannst du zumindest als SQL-Dump der entsprechenden Nodes versionieren.

Besten Gruß,
Jochen

Jochen Lillich, freistil IT
Die Drupal-Talkshow · DrupalCONCEPT High Performance Drupal Hosting

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, sorry, ich glaube, ich

Eingetragen von wakeup (55)
am 28.10.2010 - 16:09 Uhr

Hallo,

sorry, ich glaube, ich verstehe den vorgeschlagenen Lösungsansatz noch nicht richtig.
Ich glaube folgendes verstanden zu haben:

1) Einen lokalen Web-Umgebung (z.B. XAMP) aufbauen und dort alle Änderungen durchführen.
2) Zusätzlich zum XAMP noch einen lokalen Versionierungs-Server verwenden.
3) Dieser Versionierungsserver ist dann in der Lage, die Änderungen auf Befehl (commit) auf den Server beim Hoster zu schicken.

Soweit richtig?

Wenn ich Inhalte ändere, mache ich das auch lokal. Wie kommen diese dann zum Hoster. Dort nochmal eingeben via copy & paste?

Danke für eure Geduld...
Grüße, wakeup

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vllt. meldest du dich mal

Eingetragen von Alexander Langer (3282)
am 28.10.2010 - 16:30 Uhr

Vllt. meldest du dich mal Acquia kostenlos für das heutige Webinar an. Da geht es nämlich ganz genau um Staging Systeme. Ich bin leider verhindert. Müsste 19 Uhr deutscher Zeit losgehen.....

Der Link

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hoffe, jemand kann mir zu meinen vorigen Fragen antworten.

Eingetragen von wakeup (55)
am 29.10.2010 - 19:38 Uhr

Ich hatte gestern Abend auch einen anderen Termin und konnte leider nicht teilnehmen. Ich hoffe, jemand kann mir zu meinen vorigen Fragen antworten. Ich bin übrigens nur eine Person, die die Seite pflegt. Aber ich möchte bei größeren Änderungen eben nicht direkt auf der produktiven Seite schrauben, sondern erst mal testen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du bist auf der richtigen Spur.

Eingetragen von geewiz (45)
am 12.11.2010 - 10:16 Uhr

Ja, deine drei Punkte fassen es gut zusammen. Du hast zwei Drupal-Installationen: eine lokale zum Arbeiten und eine produktive auf dem Webserver. Die Dateien der Installation verwaltest du mit einem VCS wie git oder Bazaar. Änderungen kannst du manuell durchführen oder es dir mit Drush deutlich einfacher machen.

Zunächst nutzt du am besten die üblichen Wege zum Upload deiner Dateien. Ein fortgeschrittenes Beispiel, wie git durchgängig zum Deployment genutzt werden kann, gibt der Artikel "Website maintenance with git, the pro way".

Inhaltliche Änderungen spielen sich nicht im Dateisystem, sondern in der Datenbank ab. Dazu habe ich weiter oben schon etwas geschrieben. Eventuell helfen dir dabei die Drush-Funktion "sql-sync" oder das Modul backup_migrate.

Beste Grüße,
Jochen

Jochen Lillich, freistil IT
Die Drupal-Talkshow · DrupalCONCEPT High Performance Drupal Hosting

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich hätte dazu auch eine

Eingetragen von Ionit (995)
am 12.11.2010 - 10:39 Uhr

Ich hätte dazu auch eine Frage.

Mit mysqldumper kann man ja - zeitgesteuert - die Datenbank sichern - wie sieht es aber mit dem files-Ordner aus?

Wenn sich bei mir User anmelden, laden sie für gewöhnlich einige Fotos hoch (fürs User-Profile) - sollte mal der Server crashen oder abgeschossen werden, habe ich zwar immer eine aktuelle SQL-Datenbank (welche 2mal täglich per mysqldumper auf einen anderen Server hochgeladen wird) aber die Bilder/Fotos aus dem files-Ordner fehlen dann sodass mir die Datenbanksicherung alleine garnicht all zu viel bringt.

Gibt es ein Modul/Script/Software mit der/dem man auch den files-Ordner zeitgesteuert sichern und auf einen anderen Server hochladen lassen kann?

Schöne Grüße
Matthias

Drupal rockt!!!

  • Anmelden oder Registrieren um Kommentare zu schreiben

http://drupal.org/project/bac

Eingetragen von sachbearbeiter (199)
am 12.11.2010 - 11:32 Uhr

http://drupal.org/project/backup_migrate ist mittlerweile wirklich sehr komfortabel (und tatsächlich auch zuverlässig) für alle, die nicht in git etc. einsteigen wollen ...

||||||||||||||||||||||||||

www.diesachbearbeiter.de

||||||||||||||||||||||||||

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Modul für Absatznummern / Randnummern
  • Probleme bei Import mit Feeds
  • [gelöst] RSS verursacht XML-Interpretation fehler
  • [CEBIT] Die CeBIT-Quadratur des Drupal-Kreises?
  • [gelöst]Whitespace vor HTML-Head auf jeder Seite
  • Live Ticker
  • 1052 Column 'status' in where clause is ambiguous
  • Nur ein Bild pro Node ausgeben
  • Heartbeat und Facebook Style Status
  • Taxonomy Menu und D7.12DE
  • Danland: Standard-Startseite formatieren
  • Probleme mit dem Modul "Menu Block"
Weiter

Neue Kommentare

  • Nein, auch nicht. Nicht
    vor 9 Minuten 5 Sekunden
  • Mein Admin hat gerade gesagt
    vor 17 Minuten 39 Sekunden
  • body-Tag
    vor 22 Minuten 46 Sekunden
  • Fehler gefunden
    vor 30 Minuten 10 Sekunden
  • Doodle geht nicht
    vor 32 Minuten 45 Sekunden
  • Fehler gefunden
    vor 33 Minuten 34 Sekunden
  • Nichts ersichtlich
    vor 38 Minuten 54 Sekunden
  • Habe ich noch nicht, werde
    vor 39 Minuten 29 Sekunden
  • Danke!
    vor 49 Minuten 50 Sekunden
  • Korrekt
    vor 54 Minuten 32 Sekunden

Statistik

Beiträge im Forum: 173885
Registrierte User: 15477

Neue User:

  • habicht09
  • Gruenkohl
  • siggiich

» Alle User anzeigen

User nach Punkten sortiert:
stBorchert5515
quiptime4713
Tobias Bähr3874
wla3800
md3776
bv3700
Thoor3678
Alexander Langer3282
dereine2635
Exterior2571
» User nach Punkten
Zur Zeit sind 16 User und 50 Gäste online.

Benutzer online

  • byronic
  • nickstedt
  • Conny25
  • mabo1972
  • Bernsch
  • Alex v. B.
  • manni001
  • cpritz
  • fugi-60
  • Bogus
  • 4kant
  • pik
  • Rustyspoon
  • md
  • Kirsten1965
  • richy

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Showroom
  • » Forum
  • » Drupalchannel
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's
  • Bücherecke

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed Drupal Podcast
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association