Bloggen mit der modernen WordPress-Alternative Ghost

Aus LinuxUser 02/2018

Bloggen mit der modernen WordPress-Alternative Ghost

© canjoena, 123RF

Gar nicht unheimlich

Wer Blog sagt, meint meistens 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 29,1 Prozent aller Webseiten an. Auf die von W3Techs beobachteten CMS-Systeme hochgerechnet, käme WordPress damit auf einen Marktanteil von knapp 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 Web-Projekte [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 ist der Fokus auf die ursprüngliche Zielgruppe verloren gegangen, die Blogger. An genau die richtet sich nun Ghost. Das Projekt fand durch eine erfolgreiche Kickstarter-Kampagne den entscheidenden Anschub. Innerhalb knapp eines Monats kamen an die 200?000 Britische Pfund zusammen, weit mehr als das mit 25?000 Pfund gesteckte Finanzierungsziel [4].

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 8 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 seinen eigenen Webserver mit. Im Test auf einem System mit Ubuntu Server 17.10 muss Ghost in unserem Test beweisen, dass es auch mit einem aktuellen Software-Stack zurechtkommt.

Als Voraussetzung nehmen wir an, dass der Server über eine Domain aus dem Internet zu erreichen ist. Bei einem per DSL oder Kabel ans Internet angebundenen Heimserver müssen Sie per DynDNS für die Erreichbarkeit der URL sorgen sowie die Ports 80 und 443 vom Router auf den Server weiterleiten. Entsprechend der Installationsanleitung [7] bringen Sie den Server auf den neuesten Stand und installieren Nginx sowie MySQL. Das System erfragt dabei ein Root-Passwort für den SQL-Server, das Sie sich gut merken müssen. Anschließend schalten Sie den Webserver noch in der Firewall frei (Listing 1).

Listing 1

$ sudo apt update
$ sudo apt full-upgrade
$ sudo apt install nginx mysql-server
$ sudo ufw allow 'Nginx Full'

Knotenpunkte

Bei Node.js empfiehlt Ghost den Einsatz des 6.x-LTS-Zweigs. Der lässt sich bei Ubuntu 16.04 und neuer am einfachsten über http://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 sich die Nutzerrechte an dem Ordner zu. Danach wechseln Sie ins gerade erstellte Verzeichnis, das leer sein muss, und führen den Installationsassistenten aus. Per LANG=C ändern Sie die Spracheinstellungen auf das Standard-Locale, sonst läuft das Skript in einen Fehler und bricht ab.

Listing 3

$ sudo mkdir -p /var/www/ghost
$ sudo chown User:Gruppe /var/www/ghost
$ cd /var/www/ghost
$ LANG=C ghost install

Die Routine möchte zu Anfang die Blog-URL, die Adresse des MySQL-Servers, das Login (root) und zuvor vergebene MySQL-Passwort sowie einen Namen für die Datenbank von Ihnen wissen. Tragen Sie hier die URL ein, über den das Blog später zu erreichen sein soll. Befinden sich Blog und Datenbank auf demselben Rechner, lautet die Adresse für den MySQL-Server localhost. Die Datenbank muss nicht existieren: Das Setup legt sie bei Bedarf neu an.

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.

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 (Abbildung 1).

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.

Das Frontend zur Administration laden Sie über http://URL/ghost. Beim ersten Aufrufen der Seite legen Sie einen Benutzer an und geben dem Blog einen Namen. Danach öffnen Sie aus der Seitenleiste die General-Einstellungen und setzen unter Site timezone die lokale Zeit (Abbildung 2).

Abbildung 2: Der Editor in Ghost verzichtet auf eine WYSIWYG-Darstellung, sondern nutzt die Markdown-Syntax.

Abbildung 2: Der Editor in Ghost verzichtet auf eine WYSIWYG-Darstellung, sondern nutzt die Markdown-Syntax.

Der vorinstallierte Inhalt demonstriert Ihnen die Funktionen des Blogs. Bei Bedarf löschen Sie über Labs | Delete all content sämtliche Inhalte. Das System verschickt Mails (etwa beim Zurücksetzen von Passwörtern) über Nodemailer [8], die Funktion prüfen Sie über Test email configuration.

Funktionen

Beim Verfassen eines Artikels verzichtet Ghost ganz bewusst auf einen WYSIWYG-Editor und nutzt stattdessen einen einfachen Markdown-Editor [9]. Die Syntax dieser simplen Auszeichnungssprache geht schnell ins Blut über: So formatieren Sie beispielsweise mit Sternchen den Text *kursiv*, **fett** oder ***fett und kursiv***. Listen, Links oder Code-Blöcke lassen sich ebenso leicht erstellen. Buttons an der Unterkante und eine Seite-an-Seite-Vorschau helfen bei den ersten Schritten.

Weitere Unterstützung beim Schreiben von Artikeln erhalten Sie über den Desktop-Client [10] sowie die Smartphone-App für Android [11]. Gefällt Ihnen das Aussehen des Blogs nicht, finden Sie im Ghost Marketplace [12] kostenlose (Stand bei Redaktionsschluss: nur eines) sowie kostenpflichtige Themes. Seiten wie Ghost for Beginners [13] listen weitere Skins. In Zukunft soll sich das Blog-System auch mit Plugins (bei Ghost Apps genannt) erweitern lassen [14].

Fazit

In der Summe bietet Ghost vieles, was sich auch beim CMS-Mainstream findet. Noch fehlen dem Newcomer allerdings eine Art Dashboard, das Informationen über Zugriffe und Seitenaufrufe liefert, wie auch andere essenzielle Blog-Funktionen, etwa eine Möglichkeit, um Kommentare zu hinterlassen. Bei Bedarf lassen sich diese Funktionen jedoch auch extern nachrüsten, beispielsweise über Google Analytics und Disqus beziehungsweise, wenn man Open-Source-Tools bevorzugt, mit Piwik [15] und Isso [16]

Glossar

Reverse Proxy

Node.js lauscht im Gegensatz zu einem klassischen Webserver nicht auf Port 80 auf Anfragen, sondern auf einem Port jenseits der 1024, sodass der Dienst unter anderem nicht mit Root-Rechten laufen muss. Als Reverse Proxy nimmt Nginx Anfragen auf Port 80 und 443 (für SSL) entgegen und vermittelt diese weiter an Ghost.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 02/2018 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben