Sicherung einer Drupal-Seite unter Linux: Ein umfassender Leitfaden
Die Verwendung von Drupal als Content-Management-System bietet viele Vorteile, insbesondere aufgrund der zahlreichen verfügbaren Tools und Plugins. Allerdings gehört die automatische Erstellung von Backups nicht zu den Stärken von Drupal. Daher ist es notwendig, eine manuelle Sicherung unter Linux durchzuführen, um Datenverluste zu vermeiden.
Der Sicherungsordner
Zunächst muss ein Verzeichnis für die Sicherungsdateien erstellt werden. Dies geschieht mit dem Befehl „mkdir“ im Terminal.
Melden Sie sich zunächst als Superuser (Root) an. Verwenden Sie den Befehl „su -„.
su -
Alternativ können Sie „sudo -s“ verwenden, falls Sie das Root-Passwort nicht kennen.
sudo -s
Erstellen Sie nun den Sicherungsordner im Stammverzeichnis („/“).
mkdir -p drupal-backups
Exportieren von SQL-Dateien
Als nächstes werden die SQL-Datenbankdateien exportiert. Dies sollte ebenfalls über das Root-Konto erfolgen. Innerhalb des Sicherungsordners werden Unterverzeichnisse für SQL-Dateien, Installationsdateien und die Apache2-Konfiguration angelegt.
mkdir -p /drupal-backups/sql mkdir -p /drupal-backups/installation-files mkdir -p /drupal-backups/apache2-conf
Der Befehl „mysqldump“ exportiert die Drupal-Datenbankdateien in den SQL-Unterordner.
Hinweis: Ersetzen Sie „Benutzername“ und „Datenbankname“ durch die entsprechenden Werte Ihrer SQL-Installation. Standardmäßig ist der Datenbankname oft „drupal“.
cd drupal-backups/sql mysqldump -u benutzername -p datenbankname > db.drupal_backup-1.sql
Sichern der Installationsdateien
Nach der Datenbank werden die Drupal-Installationsdateien gesichert. Zuerst wird eine Kopie des gesamten Verzeichnisses von „/var/www/html/“ erstellt.
Hinweis: Passen Sie den „cp“-Befehl an, falls sich Ihre Drupal-Installation in einem Unterordner wie „/var/www/html/drupal“ befindet.
cp -rp /var/www/html/* /drupal-backups/installation-files/
Neben den eigentlichen Installationsdateien ist auch die Apache2-Konfigurationsdatei wichtig. Diese Datei bestimmt, wie der Apache-Webserver die Drupal-Seite lädt. Sichern Sie diese mit dem folgenden Befehl:
cp /etc/apache2/sites-available/drupal.conf /drupal-backups/apache2-conf/
Komprimierung der Sicherungsdateien
Nachdem alle Dateien gesichert sind, ist es sinnvoll, ein komprimiertes Tar-Archiv zu erstellen, um die Dateien leichter zu transportieren.
tar -zcvpf drupal-website-backup.tar.gz /drupal-backups
Die Komprimierung ist praktisch, aber nicht sicher. Bei der Speicherung in einer Cloud ohne Verschlüsselung, kann jeder potenziell auf die Daten zugreifen. Daher ist es ratsam, das Archiv zu verschlüsseln. Stellen Sie sicher, dass GnuPG installiert ist („gpg“). Ist das nicht der Fall, installieren Sie es über den Paketmanager Ihres Linux-Systems. Führen Sie anschließend den folgenden Befehl aus:
gpg -c drupal-website-backup.tar.gz
Nach der Eingabe eines sicheren Passworts ist die Verschlüsselung abgeschlossen. Die Datei „drupal-website-backup.tar.gz.gpg“ kann nun sicher an einen externen Speicherort übertragen werden.
Wiederherstellung des Backups
Laden Sie die verschlüsselte Sicherungsdatei auf den Server, auf dem die Wiederherstellung erfolgen soll, und melden Sie sich als Root an („su -“ oder „sudo -s“).
Erstellen Sie ein Verzeichnis für die Wiederherstellung:
mkdir -p /drupal-restore/
Verschieben Sie die GPG-Datei:
mv /pfad/zur/drupal-website-backup/drupal-website-backup.tar.gz.gpg /drupal-restore/
Entschlüsseln Sie die Datei:
gpg drupal-website-backup.tar.gz.gpg
Extrahieren Sie das Archiv:
tar -xvpf drupal-website-backup.tar.gz
Wechseln Sie in das extrahierte Sicherungsverzeichnis:
cd drupal-restore/drupal-backups
Beginnen Sie mit dem Import der SQL-Dateien:
cd sql
mysqldump -u benutzername -p drupal < db.drupal_backup-1.sql
Nach dem Import der Datenbank werden die restlichen Dateien wiederhergestellt:
cp /drupal-restore/drupal-backups/apache2-conf/drupal.conf /etc/apache2/sites-available/
sudo ln -s /etc/apache2/sites-available/drupal.conf /etc/apache2/sites-enabled/drupal.conf cp -rp /drupal-restore/drupal-backups/installation-files/* /var/www/html/
Nachdem alle Dateien korrekt platziert wurden, starten Sie den Linux-Server neu. Dies stellt sicher, dass alle benötigten Dienste korrekt laufen. Nach dem Neustart sollte Ihre Drupal-Seite wieder wie zuvor funktionieren.