So sichern Sie ein Ghost-Blog unter Linux

Die Blogging-Plattform Ghost zeichnet sich durch ihre einfache Installation aus, die besonders für neue Nutzer attraktiv ist, die ihre Software selbst hosten möchten. Ein automatisches Backup-Skript fehlt jedoch, was dazu führt, dass viele Ghost-Installationen ohne regelmäßige Datensicherung betrieben werden. Eine einfache Methode zur Sicherung eines Ghost-Blogs ist der integrierte Backup-Manager. Obwohl diese Methode nicht die umfassendste ist und weniger Flexibilität bietet, ist sie für eine schnelle Sicherung durchaus geeignet.

Um ein Ghost-Blog über die Benutzeroberfläche zu sichern, öffnen Sie einen neuen Browser-Tab und navigieren Sie zu folgender Adresse:

https://myghostblog.com/ghost/settings/labs/

Auf der Seite „Labs“ in der Ghost-Weboberfläche finden Sie die Schaltfläche „Exportieren“, die Sie auswählen. Durch Klicken auf „Exportieren“ erstellen Sie eine vollständige Sicherung Ihres Blogs. Um diese Sicherung zu einem späteren Zeitpunkt wiederherzustellen, rufen Sie dieselbe URL auf, klicken auf „Importieren“, suchen die Sicherungsdatei und laden sie hoch. Nach dem Import sollten alle Einstellungen und Daten wieder dem Stand der ersten Sicherung entsprechen.

Sicherung über die Kommandozeile

Ghost bietet zwar ein brauchbares Backup-Tool in der Software selbst, jedoch erreicht dieses nicht die gleiche Sicherheit, Automatisierung und Flexibilität, die eine Sicherung über die Linux-Kommandozeile bieten kann. Um einen Ghost-Blog auf einem Linux-Server zu sichern, erstellen Sie zunächst einen neuen Ordner, der alle relevanten Backup-Dateien und Daten enthält.

Verwenden Sie im Serverterminal den Befehl `mkdir`, um einen neuen Ordner anzulegen. Führen Sie diesen Befehl nicht als Root aus!

mkdir -p ~/ghost-blog-backup
mkdir -p ~/ghost-blog-backup/sql

Dieser Befehl erstellt ein neues Verzeichnis im Home-Ordner des aktuell angemeldeten Nutzers. Dies ist ein geeigneter Ort für Sicherungsdateien, da sie so nicht an zufälligen Stellen im Dateisystem verloren gehen können.

Als Nächstes exportieren Sie die Ghost-SQL-Datenbank mit `sqldump`.

Hinweis: Ersetzen Sie „Benutzername“ und „Datenbankname“ durch die entsprechenden Werte aus Ihrer Ghost-Installation.

mysqldump -u username -p databasename > db.ghost_blog.sql

Wechseln Sie mit dem Befehl `cd` in das Ghost-Verzeichnis.

cd /var/www/ghost

Deaktivieren Sie nun die Ghost-Software mit dem Befehl `ghost stop`.

ghost stop

Nachdem die Serversoftware gestoppt wurde, können Sie eine vollständige Kopie aller Dateien nach `~/ghost-blog-backup` erstellen.

cp -rp /var/www/ghost/* ~/ghost-blog-backup

Die Option `-rp` beim `cp`-Befehl sorgt dafür, dass alle von der Ghost-Installation gesetzten Berechtigungen beibehalten werden. Wechseln Sie danach mit `cd` zurück zum Home-Verzeichnis des Nutzers.

cd ~/

Sicherung komprimieren

Nun, da sich alle relevanten Ghost-Blog-Dateien mit den korrekten Berechtigungen in `~/ghost-blog-backup` befinden, komprimieren wir diese Dateien in ein einziges Tar-Archiv. Ein Tar-Archiv erleichtert den Transport der Backups, z. B. zu Cloud-Speicherdiensten oder zur Weitergabe an Kollegen.

Verwenden Sie den `tar`-Befehl im Terminal, um ein neues komprimiertes Archiv Ihrer Ghost-Sicherung zu erstellen.

Hinweis: Achten Sie auf die genaue Syntax des Befehls, um die Dateiberechtigungen korrekt beizubehalten.

tar -zcvpf ghost-blog-backup.tar.gz /home/username/ghost-blog-backup

Sicherung verschlüsseln

Der nächste Schritt im Backup-Prozess ist entscheidend: Ohne Verschlüsselung wären Ihre Ghost-Datenbank, kritische Systemdateien und weitere Informationen für jeden zugänglich, der auf das Archiv zugreifen kann. Glücklicherweise lässt sich ein Tar-Archiv unter Linux sehr einfach verschlüsseln.

Der schnellste Weg zur Verschlüsselung über die Kommandozeile ist die Verwendung von GnuPG. Stellen Sie sicher, dass „gpg“ installiert ist. Führen Sie dann folgenden Befehl aus:

sudo gpg -c ghost-blog-backup.tar.gz

Die Option `-c` startet den Verschlüsselungsprozess. Das Ergebnis ist eine verschlüsselte Datei `ghost-blog-backup.tar.gz.gpg`.

Da das Backup nun mit GPG verschlüsselt ist, kann das unverschlüsselte Tar-Archiv sicher gelöscht werden. Verwenden Sie hierzu den Befehl `rm`.

rm ghost-blog-backup.tar.gz

Backup wiederherstellen

Die Wiederherstellung einer Ghost-Sicherung auf einem neuen System beginnt mit der Entschlüsselung des Backups. Verschieben Sie `ghost-blog-backup.tar.gz.gpg` nach `/home/username/` auf dem Zielserver und entschlüsseln Sie es mit folgendem Befehl:

gpg ghost-blog-backup.tar.gz.gpg

Extrahieren Sie als Nächstes das entschlüsselte Archiv.

tar -xvpf ghost-blog-backup.tar.gz

Wechseln Sie mit `cd` in den SQL-Ordner und stellen Sie die Datenbank mit dem `mysqldump`-Befehl wieder her.

cd ~/ghost-blog-backup/sql

sudo -s

mysqldump -u username -p databasename <  db.ghost_blog.sql
rm -rf /home/username/ghost-blog-backup/sql

Nach der Wiederherstellung der Datenbank kopieren Sie die Systemdateien mit `cp` an ihren ursprünglichen Ort.

cp -rp /home/username/ghost-blog-backup/* /var/www/

Installieren Sie nun Ghost-cli mit NPM neu.

Hinweis: Möglicherweise müssen Sie NodeJS, Yarn, usw. ebenfalls neu installieren. Weitere Details dazu finden Sie in unserem Tutorial.

sudo npm i -g ghost-cli

Starten Sie schließlich die Ghost-Server-Software mit dem Befehl:

ghost start

Dies sollte den Ghost-Blogging-Dienst auf dem Server sofort aktivieren.