Testsystem aus Produktivsystem synchronisieren¶
Diese Anleitung beschreibt, wie das Testsystem (vorschau.sachpool.de)
auf den aktuellen Stand des Produktivsystems (sachpool.de) gebracht wird.
Destruktive Operation
Der komplette Inhalt des Testsystems (Dateien und Datenbank) wird überschrieben. Vor dem Abgleich immer ein Backup des Testsystems anlegen.
Richtung umkehren
Für den seltenen Fall eines Rückwegs (Test → Live) gelten dieselben Schritte mit vertauschten Quellen/Zielen. Änderungen aus dem Test fließen in der Regel aber über Import/Export von Änderungen ins Livesystem, nicht per Komplettkopie.
Systeminformationen¶
| Rolle | URL | Verzeichnis | Datenbank |
|---|---|---|---|
| Produktiv | sachpool.de |
/www/htdocs/w00abc84/sachpool.de/ |
WebEdition Live-DB |
| Test | vorschau.sachpool.de |
/www/htdocs/w00abc84/vorschau.sachpool.de/ |
WebEdition Test-DB |
Zugangsdaten
Konkrete DB-Namen, DB-User und Passwörter liegen in Vaultwarden. Historisch existiert zusätzlich eine alte fastpublish-Datenbank, die für diesen Abgleich nicht mehr relevant ist.
Zugang zum Server per SSH. mysql und mysqldump stehen zur Verfügung.
Ablauf im Überblick¶
- Backup des Testsystems (DB + Dateien)
- Datenbank-Abgleich (Test-DB leeren, Live-Dump einspielen)
- Dateien kopieren (Live-Verzeichnis → Test-Verzeichnis)
- Konfiguration im Testsystem anpassen
- Testsystem optisch kennzeichnen
- Rebuild in WebEdition
1. Backup¶
Datenbanken sichern¶
cd /www/htdocs/w00abc84/database-migration/backup
# Livesystem
mysqldump -u <live-db-user> -p --max_allowed_packet=1073741824 \
<live-db-name> > live-komplett.sql
# Testsystem (vor dem Überschreiben!)
mysqldump -u <test-db-user> -p --max_allowed_packet=1073741824 \
<test-db-name> > test-komplett-vorher.sql
Dateien sichern¶
2. Datenbank synchronisieren¶
Alle Tabellen im Testsystem löschen¶
mysqldump -u <test-db-user> -p --add-drop-table --no-data <test-db-name> \
| grep ^DROP \
| mysql -u <test-db-user> -p <test-db-name>
Live-Dump einspielen¶
3. Dateien kopieren¶
cd /www/htdocs/w00abc84/
# Bestehendes Testverzeichnis sichern oder entfernen
mv vorschau.sachpool.de vorschau.sachpool.de.alt
# Live-Stand kopieren (Rechte + Zeitstempel erhalten)
cp -pR sachpool.de/ vorschau.sachpool.de/
4. Testsystem-Konfiguration anpassen¶
Datenbankverbindung umstellen¶
Datei: vorschau.sachpool.de/webEdition/custom/conf/we_conf.inc.php
// Name der Datenbank
define('DB_DATABASE', '<test-db-name>');
// Datenbank-Benutzer (Base64-kodiert)
define('DB_USER', base64_decode('<test-db-user-base64>'));
// Datenbank-Passwort (Base64-kodiert)
define('DB_PASSWORD', base64_decode('<test-db-password-base64>'));
Base64 kodieren
Im Linux-Terminal: echo -n "wert" | base64.
Alternativ ein lokales Tool. Eigene Werte nie auf fremde Online-Tools kopieren.
www.-Weiterleitung deaktivieren¶
In der .htaccess im Wurzelverzeichnis die beiden Weiterleitungszeilen
(i.d.R. Zeile 5 und 6) mit # auskommentieren, damit vorschau.sachpool.de
nicht auf www.sachpool.de umgeleitet wird.
System-Kennzeichnung als Datei¶
Im Wurzelverzeichnis die Marker-Datei anpassen:
- Produktiv: Datei
LIVESYSTEM - Test: Datei
TESTSYSTEM
Nach der Kopie liegt dort LIVESYSTEM — in TESTSYSTEM umbenennen.
5. Optische Markierung¶
Damit das Testsystem im Browser klar erkennbar ist.
Roter Rahmen im Frontend¶
In master.tmpl unter <body id="page-top"> einfügen:
<div id="dev-border"
style="position: fixed; border: 2px solid red;
height: 100%; width: 100%;
z-index: 1000000; pointer-events: none;">
</div>
Roter Rahmen im WebEdition-Login¶
Datei: webEdition/we/css/loginScreen.css
Eine Zeile unter dem bestehenden #loginScreen-Block hinzufügen:
6. Rebuild in WebEdition¶
Im WebEdition-Backend:
Einstellungen → Rebuild
Damit werden alle dynamischen URLs (Objekte, Seiten) für das Testsystem
neu geschrieben. Ohne Rebuild zeigen Links noch auf sachpool.de.
Checkliste¶
- [ ] Backup Test-DB erstellt
- [ ] Backup Test-Dateien erstellt
- [ ] Live-DB gedumpt
- [ ] Test-DB geleert
- [ ] Live-Dump in Test-DB eingespielt
- [ ] Live-Dateien nach
vorschau.sachpool.de/kopiert - [ ]
we_conf.inc.phpauf Test-DB umgestellt - [ ]
.htaccess:www.-Redirect deaktiviert - [ ] Marker-Datei
LIVESYSTEM→TESTSYSTEMumbenannt - [ ] Roter Rahmen in
master.tmplgesetzt - [ ] Roter Rahmen im
loginScreen.cssgesetzt - [ ] Rebuild in WebEdition ausgeführt
- [ ] Login im Testsystem verifiziert