Homepage selbermachen 7.852 Themen, 35.619 Beiträge

Schwere Kost: Den kompletten Server sichern und zurück

pco / 3 Antworten / Baumansicht Nickles

Hallo,

hier mal ein Gedankenspiel. Ich habe einen Managed-Server. Sprich: Nix Root, nur FTP-Zugriff.
Darauf läuft Joomla. Okay! So Far so SNAFU.

SNAFU deshalb, weil Joomla so ungefähr alle 3 Monate mit einer neuen Version heraus kommt.

Also habe ich mir einen Testserver auf meinem Heimrechner zugelegt. Fein.

Wir haben also ein recht umfangreiches HTTP-Directory welches ich mir per FTP sauge, dann haben wir eine MySQL-Datenbank, welche die magische 20MByte-Marke als SQL-Dump schon lange überschritten hat.

Nun ahnst Du, worauf ich hinaus will.

Aktuell läuft das Testen der neuen Joomlaversion so.
1. Ich installiere ein taufruisches Joomla auf meinem Testserver und packe alle Komponenten, Mambots ... rein, die auch schon auf dem richtigen Server laufen.
2. Ich schnappe mir mein SQL-Dump und spiele das in die Testdatenbank.
3. Ich passe die Komponententabelle in der Datenbank auf die neuen Versionen an (neue Version, alte Daten, da krachts schon manchmal)
4. Ich passe die PHP-Files auf meine Bedürfnisse an.
5. Testen, Fehler beheben, weiter testen

Irgendwann habe ich also ein recht feines aktualisiertes Joomla mit meinen Daten, Designs etc.

Jetzt spiel ich das ganze auf den Server. Vorher muss ich meine ganzen kleinen Veränderungen an der DB auf eine brandneue Datenbank übertragen und mit den "alten" Daten zusammenführen.

Dann wie erwähnt die Files hochladen. Wenn das nicht so klappt wie es soll habe ich damit zwar noch die alten Datenbank und ein Backup der alten Website, aber es kostet auch enorm viel Zeit, die alte Version wieder einzuspielen.

Viel schöner wäre es doch, die Testdaten auf einen neuen Online-Server zu spielen nennnen wir ihn mal

www-test.irgendwas.de

und das Backup der alten Version auf einen weiteren Server zu tun:

www-backup.irgendwas.de

Mehrere Datenbanken zu verwenden ist ja nun kein Problem, das config-Script ist auch schnell auf eine andere Datenbank modifiziert.

Wenn nun jemand auf www.irgendwas.de geht, soll er so lange auf www-backup.irgendwas.de umgeleitet werden, bis Joomla auf www-test.irgendwas.de einwandfrei funktioniert. Danach wird einfach umgeswitched. Die User merken garnix.

Das ist auch kein Problem... Stichwort: header ("Location...

Aaaber: Suchmaschinen mögen das nicht!

Was ich also brauche ist ein möglichst komfortables Programm, welches mir von Webserver1 ein 1:1 Abbild zu Webserver2 macht und eine Möglichkeit (um alte nun neue DB zu verschmelzen) möglichst komfortabel Regeln für das automatische generieren von SQL-Skripten zu erzeugen.
Bspw: Aus Tabelle soundso nur folgende Spalten... aber ändere bitt in den Spalten noch diesunddas, bevor Dus einfügst...


Lange Rede kurzer Sinn:

Wie schaffe ich es, ein Datenbankbasierendes CMS auf den neuesten Stand zu bringen, ohne 4 Stunden nur mit der Übertragung von Daten beschäftigt zu sein, um am Ende festzustellen, dass irgendwo irgend was nicht funktioniert und dann wieder über Stunden ein Backup einzuspielen.

PCO



bei Antwort benachrichtigen
Borlander pco „Schwere Kost: Den kompletten Server sichern und zurück“
Optionen

Nabend PCO...

Viel schöner wäre es doch, die Testdaten auf einen neuen Online-Server zu spielen nennnen wir ihn mal
www-test.irgendwas.de
und das Backup der alten Version auf einen weiteren Server zu tun:
www-backup.irgendwas.de
Mehrere Datenbanken zu verwenden ist ja nun kein Problem, das config-Script ist auch schnell auf eine andere Datenbank modifiziert.
Das sollte sich eigentlich mit einer entsprechenden Server-Config realisieren lassen.
Zwei Verzeichnisse auf dem dem Server anlegen. In einem landet dann die komplette aktuelle Installation, im anderen die neue Testinstallation. In der konfiguration wird dann das Aktuell-Verzeichnis für den Zugriff über domain.tld und www.domain.tld eingestellt, und das Testverzeichnis für den Zugriff über www-test.domain.tld. Und ggf. noch eine entsprechende Konfiguration für www-backup.~. Dann könnte man entweder die Verzeichnisse umbenennen, oder die Config anpassen wenn es soweit ist um auf die andere Version um zu schalten. Zweiteres ist vermutlich flexibler, dann benennt man die Verzeichnisse einfach nach der aktuellen Version oder Datum oder so. Dazu noch zwei verschiedene DBs verwenden und die Umzugsmöglichkeiten sollten in Zukunft deutlich komfortabler sein. Zumindest hättest Du damit erstmal einen komfortabel umschaltbaren Testbertieb ermöglicht.

Zu der SQL-Geschichte: Gibt es da keine Update-Scripte zur aktualisierung der DB? (Andere werden doch schließlich auch mal Updaten?)
Dann müsstest Du nur einmal alle Tabellen der aktuellen DB in die neue kopieren und anschließend das entsprechende Script ausführen....


Gruß
Borlander

bei Antwort benachrichtigen
pco Borlander „Nabend PCO... Das sollte sich eigentlich mit einer entsprechenden Server-Config...“
Optionen

Jain,

Joomla hat so ein Skript. Doch
1. Habe ich einige Standardkomponenten entfernt, da ich sie nicht ntuze -> die sind da wieder drin
2. Hab ich einige neu hinzu gefügt, die mit den alten kollidieren würden -> die sind dann wieder draußen

PCO

bei Antwort benachrichtigen
Zaphod pco „Jain, Joomla hat so ein Skript. Doch 1. Habe ich einige Standardkomponenten...“
Optionen

Ich würde sowas einfach über Symlinks machen.
Du hast 2 Subdomains, www1 und www2. Auf www1 läuft die produktive Installation, ein Symlink www zeigt drauf. Auf www2 wird getestet. Klappt alles, hängst du www auf www2 um und kannst auf www1 die näxte Version testen ...

HTH, Z.

bei Antwort benachrichtigen