Startseite>Die moderne WordPress-Alternative Ghost auf dem Raspberry Pi
Aus Raspberry Pi Geek 04/2018

Die moderne WordPress-Alternative Ghost auf dem Raspberry Pi

© WaD, 123RF

Blog-Spuk

Christoph Langner

Wer ein Blog starten möchte, greift in der Regel zu WordPress. Mit Ghost macht jetzt ein Neuling dem bisherigen Platzhirsch ernsthaft Konkurrenz.

Nicht Google und Amazon beherrschen das Internet, sondern das Content-Management-System WordPress – zumindest nach einer Analyse von W3Techs [1]: Danach treibt das Open-Source-CMS inzwischen knapp 30 Prozent aller Webseiten an. Auf die von W3Techs beobachteten CMS-Systeme hochgerechnet, käme WordPress damit auf einen Marktanteil von rund 60 Prozent. Es dürfte also kaum ein Tag vergehen, an dem Sie beim Surfen nicht über eine WordPress-Seite stolpern.

Auch wenn sich die meisten Webentwickler auf einen der üblichen Kandidaten aus dem CMS-Trio WordPress, Joomla oder Drupal einschießen: Ein Blick an das untere Ende der Liste lohnt sich. Das noch recht junge Ghost [2] hat sich bislang zwar nur einen kleinen Anteil am Markt gesichert, doch seine modernen Ansätze und seine aktive Community machen das CMS interessant für aufgeschlossene Blogger.

Geisterhaft

Die Idee zu Ghost stammt von Hannah Wolfe und John O’Nolan, der als ehemaliger Deputy Head of Design des WordPress-Teams in Sachen CMS reichlich Erfahrung sammelte. O’Nolan sieht in WordPress nicht mehr das simple Werkzeug für Blogger, das es einmal war, sondern eine Plattform für alle erdenklichen Webprojekte [3]. Mit einer Handvoll Plugins kann man damit vom Bug-Tracker über einen Webshop bis hin zu einer Online-Community so gut wie jedes Vorhaben im Web aufsetzen.

Seine große Flexibilität stellt gleichzeitig die größte Schwäche von WordPress dar: Dem CMS ging der Fokus auf die ursprüngliche Zielgruppe verloren, die Blogger. An genau die richtet sich nun Ghost (Abbildung 1). Das Projekt fand durch eine erfolgreiche Kickstarter-Kampagne den entscheidenden Anschub. Innerhalb eines Monats kamen an die 200 000 Britische Pfund zusammen, weit mehr als das mit 25 000 Pfund gesteckte Finanzierungsziel [4].

Abbildung 1: Ghost ist ein für Blogger optimiertes CMS-System auf Basis von Javascript und Node.js.

Abbildung 1: Ghost ist ein für Blogger optimiertes CMS-System auf Basis von Javascript und Node.js.

Aus dem eingesammelten Kapital entstand die Ghost Foundation, die als Non-Profit-Organisation den Code unter der MIT-Lizenz weiterentwickelt und verwaltet. Die Stiftung beschäftigt aktuell acht Mitarbeiter, zudem trägt die stetig wachsende Community mit Zeit und Code zum Projekt bei. Wie bei WordPress gibt es das Ghost-CMS einerseits zum Selbsthosten und andererseits in Form von Ghost(Pro) [5] gegen eine monatliche Gebühr ab 19 US-Dollar als gehostete Version.

Aufgesetzt

Ghost empfiehlt als Basis ein Ubuntu-System in Version 16.04 mit 1 GByte Arbeitsspeicher, MySQL als Datenbank-Backend sowie Nginx als Webserver. Letzteren benötigt Ghost nicht etwa zum Ausliefern der Seiten, sondern lediglich als Reverse Proxy; als Javascript-Anwendung auf Basis von Node.js [6] bringt Ghost einen eigenen Webserver mit. Auf Raspberry Pi mit Raspbian Lite muss Ghost in unserem Test beweisen, dass es auch mit einem Single-Board-Computer zurechtkommt.

Als Voraussetzung nehmen wir an, dass der RasPi über eine Domain aus dem Internet zu erreichen ist. Bei einem per DSL oder Kabel ans Internet angebundenen System müssen Sie also per DynDNS für die Erreichbarkeit der URL sorgen sowie die Ports 80 und 443 vom Router auf den Server weiterleiten. Bei einer Fritzbox geschieht dies etwa unter Internet | Freigaben | Portfreigaben (Abbildung 1).

Abbildung 2: Für ein aus dem Internet erreichbares Blog benötigen Sie eine DynDNS-Adresse sowie Portweiterleitungen für Port 80 und 443.

Abbildung 2: Für ein aus dem Internet erreichbares Blog benötigen Sie eine DynDNS-Adresse sowie Portweiterleitungen für Port 80 und 443.

Entsprechend der Installationsanleitung [7] bringen Sie den Server auf den neuesten Stand und installieren Nginx (Listing 1). Auf MySQL, beziehungsweise neuerdings MariaDB, verzichten wir: Allzu kräftig zieht die Datenbank an den Ressourcen des Mini-Rechners. Stattdessen lassen Sie das Installationsskript später die Datenbank in eine SQLite-Datei schreiben.

Listing 1

 

$ sudo apt update
$ sudo apt full-upgrade
$ sudo apt install nginx

Knotenpunkte

Bei Node.js empfiehlt Ghost den Einsatz des 6.x-LTS-Zweigs. Der lässt sich bei Raspbian am einfachsten über Nodesource.com laden. Das Installationsskript fügt eine Paketquelle ins System ein und installiert daraus die Anwendung. Danach nutzen Sie den Node Package Manager npm für die Installation des Einrichtungsassistenten ghost-cli (Listing 2). Auf den ersten Blick wirkt das kompliziert, das Vorgehen erspart allerdings viele Eingriffe ins System.

Listing 2

 

$ wget https://deb.nodesource.com/setup_6.x
$ chmod +x setup_6.x
$ sudo ./setup_6.x
$ sudo apt install nodejs
$ sudo npm i -g ghost-cli

Damit haben Sie die nötigen Voraussetzungen geschaffen, um das Blog-System auf den Server zu holen (Listing 3). Erstellen Sie dazu das Arbeitsverzeichnis /var/www/ghost/ und weisen Sie sich die Nutzerrechte an dem Ordner zu. Danach wechseln Sie in das gerade erstellte Verzeichnis (das leer sein muss) und führen den Installationsassistenten aus (Abbildung 3). Die Routine möchte zu Anfang die Blog-URL von Ihnen wissen. Tragen Sie hier die URL ein, über den das Blog später zu erreichen sein soll.

Listing 3

 

$ sudo mkdir -p /var/www/ghost
$ sudo chown pi:pi /var/www/ghost
$ cd /var/www/ghost
$ ghost install --db=sqlite3
Abbildung 3: Der Installationsassistent lädt alles Nötige aus dem Netz und kümmert sich später auch um Updates des Blog-Systems.

Abbildung 3: Der Installationsassistent lädt alles Nötige aus dem Netz und kümmert sich später auch um Updates des Blog-Systems.

Updates

Das Ghost-CLI übernimmt neben der Installation die meisten Wartungsarbeiten. Mit ghost update spielen Sie etwa die aktuelle Version ein. Alternativ werfen Sie über ghost log einen Blick auf das Geschehen hinter den Kulissen. Informationen zu sämtlichen Optionen des Ghost-Clients für die Kommandozeile erhalten Sie in der Hilfe unter ghost help. Sämtliche Kommandos müssen Sie im Ordner der Ghost-Installation ausführen.

Auf zum Bloggen

Anschließend übernimmt das Skript die Konfiguration des Nginx-Webservers. Bei Bedarf verschlüsseln Sie die Verbindung über ein mittels Let’s Encrypt erzeugtes SSL-Zertifikat. In diesem Fall müssen Sie neben Port 80 auch Port 443 auf den Home-Server weiterleiten. Zum Ende hin lassen Sie Systemd Ghost steuern und danach den Dienst starten. Passt alles, erreichen Sie das Blog im Browser unter http://URL, bei aktivem SSL leitet das System automatisch weiter nach https://URL.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland