Backup-AddOn: Welche Ordner werden gesichert?

Quell-ID: GitHub Discussion #20

Use Case

Beim Umzug einer REDAXO-Installation von einem Test- auf einen Live-Server soll verstanden werden, welche Daten das Backup-AddOn sichert und welche manuell übertragen werden müssen.

Verwendete AddOns

  • REDAXO Core
  • Backup-AddOn

Problemstellung

Das Backup-AddOn sichert nur die Ordner media, assets und resources, aber nicht den redaxo-Ordner. Bei einem Serverumzug fehlt dadurch der komplette REDAXO-Kern.

Erklärung

Das Backup-AddOn ist primär für Daten-Backups konzipiert:

Was wird gesichert? Beschreibung
Datenbank Alle Tabellen mit Strukturen und Inhalten
media Hochgeladene Dateien
assets Kompilierte Frontend-Assets
resources Zusätzliche Ressourcen

Nicht gesichert wird:

  • Der redaxo-Ordner (Core, AddOns, Konfiguration)

Warum ist das so?

  1. Der redaxo-Ordner enthält den Code, nicht die Daten
  2. Der Code sollte über Versionskontrolle (Git) verwaltet werden
  3. Das Backup-AddOn fokussiert sich auf regelmäßige, automatisierbare Datensicherung

Lösung: Korrekter Serverumzug

Laut offizieller Dokumentation:

1. Vollständiger Download

# Alle Ordner und Dateien per SFTP herunterladen
# Transfer-Einstellungen auf binary/binär setzen

# Wichtige Ordner:
# - redaxo/
# - media/
# - assets/
# - .htaccess

2. Datenbank exportieren

# Im Backend: AddOns > Backup > Export
# Oder per Konsole:
php redaxo/bin/console backup:create

3. Auf neuem Server einrichten

  1. Dateien hochladen
  2. Datenbank erstellen
  3. redaxo/data/core/config.yml anpassen:
    • Datenbank-Zugangsdaten
    • Server-URL
  4. Datenbank importieren
  5. Cache leeren

Besserer Ansatz: Git-basierter Workflow

Projekt-Struktur mit Git

mein-projekt/
├── .git/
├── .gitignore
├── redaxo/
│   ├── src/
│   │   └── addons/
│   │       ├── project/    # Eigener Code
│   │       └── theme/      # Theme-AddOn
│   └── data/
│       └── core/
│           └── config.yml.example
├── media/                   # In .gitignore
├── assets/
└── .htaccess

.gitignore

# Medien und Cache
/media/*
!/media/.gitkeep
/redaxo/cache/
/redaxo/data/

# Konfiguration (enthält Passwörter)
/redaxo/data/core/config.yml

# AddOns aus dem Installer
/redaxo/src/addons/*
!/redaxo/src/addons/project/
!/redaxo/src/addons/theme/

Deployment-Prozess

# Auf dem Live-Server
git pull origin main
php redaxo/bin/console cache:clear
php redaxo/bin/console install:addons  # Falls automatisiert

Zusammenfassung

Methode Geeignet für
Backup-AddOn Regelmäßige Datensicherung
SFTP/FTP Einmaliger Serverumzug
Git + Datenbank-Export Professioneller Workflow