Jump to content






Foto
- - - - -

Wordpress automatisch vom Live-Server zu MAMP übertragen

Posted by Thomas , in Wordpress, Linux, Unix, OS X 19 November 2011 · 2.800 views

Lokal nutze ich für die Entwicklung mit dem Apache-PHP-MySQL-Stack MAMP. Nun wird online natürlich mit dem System gearbeitet und dann ist natürlich meine Entwicklungsinstallation nicht mehr aktuell. Warum es Sinn macht auf beiden System den gleichen Stand zu haben, dafür gibt es viele Gründe.
  • Kunden erstellen Artikel, die vom Inhalt her nicht den Testartikeln entsprechen und auch die Zuordnung von Kategorien und Tags wird nicht wie im "Labor" sein. Gerade wenn viele Dinge über Kategorien, Tags und Custom Fields automatisiert sind, dann ist das wichtig.
  • Manche Plugins ersetzen beim Aktualisieren Dateien, die angepasst wurden. So werden z.B. bei der beliebten NextGen Gallery bei jedem Update die Views überschrieben. Von daher teste ich vor einem Update, ob alles noch funktioniert, nachdem ich lokal die Updates durchgeführt habe. Dann kann ich Anpassungen machen und erst danach wird die Live-Seite aktualisiert.
Die Liste könnte ich bestimmt noch weiterführen, aber diese zwei Punkte sollen jetzt erstmal genügen. Von Hand den Stand vom Live-System auf den Localhost zu übertragen ist aber ziemlich mühsam, so dass ich das nicht so oft gemacht habe. Zuerst hatte ich dann immer die Dateien mit einem FTP-Client heruntergeladen, dann einen Datenbankdump mit PhpMyAdmin erstellt. Diesen Dump durfte ich dann bei mir einspielen und anschließend sowohl die Tabelen wp_options als auch wp_posts anpassen, damit sie für den Localhost passen.

Eine Arbeit konnte ich zum Glück immer schon sparen, da ich aus anderen Projekten gelernt habe und in einem Verzeichnis immer die Konfigurationsdateien für die verschiedenen Systeme liegen habe und dann nur noch die wp-config.php für MAMP von dort in das Root-Verzeichnis kopieren musste.

Am längsten hat natürlich der FTP-Transfer gedauert, aber trotzdem war es nervig die übrigen Schritte immer wieder durchzuführen. Aktuell habe ich einen Kollegen, der es liebt, Dinge zu automatisieren. Davon inspiriert habe ich heute mir dann die Mühe gemacht und die oben beschriebenen Schritte zu automatisieren. Das hat natürlich länger gedauert als wenn ich es jetzt einmalig nach der alten Methode gemacht hätte, aber dafür habe ich natürlich den Vorteil für die Zukunft.

Also habe ich Bash-Script mit dem sinnigen Namen live2mamp.sh geschrieben und das beinhaltet folgende Schritte:
  • Via SSH auf dem Server einloggen und anschließend via mysqldump einen Dump der Datenbank in ein nicht-öffentliches Verzeichnis erstellen.
  • Mit SCP den Datenbankdump herunterladen
  • Via SSH erneut auf dem Server einloggen und den Datenbankdump löschen.
  • Mit SCP das komplette Verzeichnis der Wordpress-Installation vom Server herunterladen.
  • Die Konfigurationsdateien aus dem Konfigurationsverzeichnis kopieren und damit die heruntergeladenen Dateien überschreiben.
  • Datenbankdump importieren
  • Datenbankscript ausführen, dass die wp_options- und wp_posts-Tabellen für den Localhost anpasst.
Die Passwörter für die Datenbank sind im Script hinterlegt, da dieses nur lokal bei mir und auf meinem lokalen Repository-Server liegt. Auch habe ich darauf verzichtet, den Datenbankdump zu verschlüsseln, da er in einem nicht-öffentlichen Verzeichnis liegt und direkt nach dem Download auch schon wieder gelöscht wird.

Somit brauche ich bei den ersten vier Schritten das Passwort für den SSH-User eintragen und diese Schritte brauchen auch nicht allzu lange, da die Wordpress-Datenbanken überschaubar groß sind und recht flott erstellt und heruntergeladen sind. Schritt 4 dauert am längsten, aber sowie dieser begonnen hat, brauche ich ja auch nicht mehr vor dem Computer zu sitzen.

Nachdem der Prozess jetzt eingerichtet ist, werde ich bestimmt öfter die Daten abgleichen. Außerdem werde ich das Verfahren demnächst auch für andere Kunden einrichten.

Da ich auch gerne für die Kunden auf dem Live-Server ein Staging-System habe, um neue Dinge auszuprobieren, werde ich mir als nächstes Gedanken darüber machen, wie ich auf dem Server automatisiert den aktuellen Live-Stand auf das Staging-System übertragen kann. So formuliert klingt das ziemlich hochtrabend, obwohl es nichts anderes ist als den aktuellen Stand auf eine per htaccess geschützte Subdomain zu übertragen.




März 2019

M D M D F S S
    123
45678910
11121314151617
1819202122 23 24
25262728293031

Recent Entries

Recent Comments