Ich habe meinen Blog von Wordpress zu Ghost umgezogen. Dieser Wechsel hat mehrere Gründe. Als Hauptgrund galt für mich, dass ich etwas suchte, was leichtgewichtiger ist und ich eine etwas größere Freiheit habe.

Status Quo

Derzeit habe ich bei Strato ein Standard Wordpress hosting gebucht und grundsätzlich ist das Angebot sehr gut. Für 3€ im Monat (+ Einrichtungsgebühr) bekommt man eine fertige Instanz bereitgestellt, inklusive Domain (+ SSL Zertifikat), E-Mail Postfach (20 GB) und relativ viel Speicherplatz für Wordpress selbst (25 GB SSD + 2 GB MySQL Datenbank).
Es werden Zusatzfunktionen wie Backups, automatische Updates und ein SSH-Zugang (mit beschränkten Befehlen) bereitgestellt.

Warum der Wechsel?

Der Wechsel hat diverse Gründe. Die Einschränkungen wurden recht schnell bemerkbar, als ich ein Wildcard-SSL-Zertifikat haben wollte. Mit einem Wilcard-SSL-Zertifikat ist es möglich subdomains wie abc.mbuege.com mit dem bereits verwendeten Zertifikat abzusichern. Das angebotene Zertifikat ist allerdings nur für die Hauptdomain verfügbar.

Da Wordpress für Kategorien URLs wie meineWebseite.de/Category/ABC anlegt, wollte ich "schöne" URLs wie abc.meineWebseite.de anlegen. Da hier allerdings kein SSL-Zertifikat dahinter ist, wird trotzt der Umleitung (HTTP 301) immer eine Warnung im Browser angezeigt, da das ein Zertifikat fehlt.

6€ im Monat für ein Zertifikat zu bezahlen, wenn es diese Zertifikate mit LetsEncrypt kostenlos gibt, halte ich für übertrieben. Zudem können keine beliebigen Domain bzw. DNS-Einträge erstellt werden. Wenn ich beispielsweise eine Webseite unter der IP 1.2.3.4 gehostet habe, ist es mir nicht möglich 1234.mbuege.com anzulegen und diese Domain auf den richtigen Server zeigen zu lassen.

Ich denke immernoch, dass das Standardpaket für viele Basisanwender, (kleinere) Vereine oder nicht-IT-affine Personen gut geeignet ist. Für alle, die "etwas mehr" machen wollen, bietet das Standardpaket leider zu wenig oder kostet zu viel.

Struktur nach dem Umzug

Für das Hosten habe ich mir einen VPS (virtual private Server) mit einer Domain gebucht.

Der Vor- und Nachteil des eigenen (gemieteten) Servers besteht in der hohen Flexibilität. Ich kann jede beliebige Webseite oder Programm ausführen. Komfortfunktionen wie automatische Updates und Backups muss ich jedoch selbst einrichten und verwalten.

Die Webseite umziehen

Der Umzug erfolgte in zwei Schritten:

  • Installieren von Ghost
  • Migration von Wordpress zu Ghost

Ghost installieren

Ghost besitzt eine sehr gute Dokumentation zu den verschiedenen Installationsarten.

Grundlegend wird folgendes benötigt:

  • Eine registrierte Domain
  • Ein Server mit mind. 1 GB Speicher
  • Speicherplatz

Anschließend führt euch die Dokumentation durch die Installation und Einrichtung von

  • MySQL
  • Nginx
  • Node.js
  • Ghost selbst
  • Lets encrypt

Aufgrund der Vollständigkeit und Aktualität verweise ich auf die o.g. Dokumentation. Die Installation lief problemlos durch. Die Einrichtung inkl. Nginx führt das Ghost-Installationsprogramm problemlos durch. Es ist allerdings darauf zu achten, dass die Domain mit https:// vorne angegeben wird.

Als ich mbuege.com angegeben habe, sorgte dies für einen Fehler in der Einrichtung. Die URL https://mbuege.com hat das Problem gelöst, sodass alles korrekt eingerichtet wurde. Dieser Fehler hatte auch zur Folge, dass die Webseite initial nicht aufgerufen werden konnte.

Wordpress migrieren

Im zweiten Schritt müssen die Daten (Bilder + Artikel) übertragen werden. Hierfür gibt es das Wordpress Ghost Plugin, um eine Exportdatei zu erstellen.

In der Oberfläche von Ghost kann diese Datei hochgeladen und importiert werden. Die Webseite gibt eine Erfolgs- oder Fehlermeldung aus, ob der Import möglich war oder nicht.

Bei meinem Import hatte ich den Fehler, dass die Datei nicht hochgeladen werden konnte. Dies ist auf eine Einstellung im Webserver zurückzuführen.

Unter derm Pfad /etc/nginx/sites-enabled/DOMAIN-ssl.conf liegt die Konfigurationsdatei für Nginx.
In meinem Fall stand am Ende des Dokuments folgende Einstellung:

client_max_body_size 50m;

Diese Zeile begrenzt den Dateiupload auf 50 Megabytes. Da meine Backupdatei in etwa 60 MB groß ist, konnte ich sie nicht importieren. Der Upload wurde vom Server abgewiesen.

Daher habe ich die Größe temporär auf 500m (500 MB) geändert und mit systemctl restart nginx den Webserver neu gestartet. Nach dem Import habe ich den Wert zurückgesetzt und den Webserver nochmals neu gestartet.

Erster Eindruck nach dem Import

Die Artikel und Seiten wurden importiert und auch die Bilder hochgeladen. Der Editor von Ghost ist ähnlich zu Gutenberg. Der Inhalt der Wordpress-Seiten wurde 1:1 als HTML kopiert.

Grundlegend finde ich Ghost etwas aufgeräumter und vor allem ist das Erstellen oder Ändern des Layouts ist wesentlich einfacher.

Ghost bietet allerdings keine umfangreiche Pluginstruktur wie Wordpress, es gibt allerdings verschiedene Dienste die integriert werden können. Eine Funktion wie Kommentare hätte ich mir gerne in Ghost integriert gewünscht, da werde ich in der Zukunft gucken, welcher Dienst oder welches Projekt sich am Besten dafür eignet.

Fazit

Die Migration war recht schnell und einfach erledigt. Wie immer hat man einige Baustellen nach eine Migration zu erledigen. Grundlegend bin ich mit der Bedienung und dem Tempo der Webseite sehr zufrieden.

Sobald die Kommentarfunktion wieder verfügbar ist, freue ich mich über eure Nachrichten :)


Bildnachweis: Pixabay.com