Einfach nur Bloggen – das ist die Leitidee der Macher der
neuen Blogsoftware Ghost.
Ghost unterliegt wie viele andere Bloganwendungen einer
quelloffenen Lizenz. Jeder kann mit- und weiterentwickeln und – eigentlich ist
das ein Nebeneffekt – die Software kostenlos verwenden.
Ghost ist nun öffentlich verfügbar. Wer jedoch glaubt, es
genüge, eine Zip-Datei herunterzuladen, diese zu entpacken, auf einem
Serverspeicherplatz abzulegen und „install.php“ auszuführen, wird enttäuscht.
Ghost baut nicht auf PHP, sondern auf dem Node JS – Framework auf. Als
Datenbank ist standardmäßig SQLite vorgesehen, aber auch mit mySQL funktioniert
das. Node JS verwendet einen eigenen http-Server.
Das hat einige Konsequenzen.
Server benötigt Node.js
Zunächst muss der Server, egal, ob er unter Windows, MacOS
oder Linux läuft, node.js unterstützen. Falls dies nicht der Fall ist, muss man
die Installation vornehmen. Das ist von System zu System unterschiedlich. Ich habe
versucht, Ghost auf einem virtuellen Server mit Debian Linux zu installieren
und musste node.js natürlich zunächst nachinstallieren. Node.js ist auch noch recht frisch. Daher ändern sich die Releases schnell. Die offiziellen Repositories der Distributionen könnten veraltet sein. Vielleicht ist ein Selbstkompilieren hier tatsächlich besser.
Zunächst habe ich versucht, Git zu verwenden, was ich auch
erst nachinstallieren musste.
Installation auch über git möglich
Da die Installation von Git auf dem V-Server
nicht reibungslos lief, habe ich die Installationsprozedur per Zip-Datei gewählt.
Ich habe das Installationspaket von github geladen, aber später gesehen, dass
Bitnami schon einen fertigen Stack bereit hält, was ich jedoch nicht
ausprobiert habe:
http://bitnami.com/stacks
Wenn Node.js installiert ist, kann man sich an die
Installation von Ghost wagen. Also: Datei hochladen, entpacken (oder je nach
Geschmack auch umgekehrt), und dann in die Konsole (ich habe das als Root
vorgenommen) den Installationsbefehl ausführen: npm install –production .
Weird error 8
Mit „NPM Start“ kann man dann sehen, ob sich Ghost starten
lässt. In den meisten Fällen, wenn man nicht gerade auf einem lokalen PC oder
Notebook installiert, wird man Fehlermeldungen erleben. Ich zum Beispiel
erhielt immer „Weird Error 8“, was auf Konfigurationsfehler hindeutet.
Tatsächlich muss man in der config.js, die ich mit VI
bearbeitet habe, die Server-IP eintragen. Der standardmäßig eingetragene Port, 2368,
hat auf meinen VServer-Umfeld nicht funktioniert. Die URL lieferte einen
404-Fehler. Zudem soll ich den Apache stoppen, sagt ein Forumsbeitrag. Als Port habe ich 8080
gewählt. Mit diesen Parametern funktionierte der Aufruf auf die Startseite von
Ghost dann. Und auch der Apache ließ sich auf der gleichen virtuellen Maschine parallel betreiben. In diesem experimentellen Betrieb habe ich zumindest kein Stabilitätsproblem gesehen. Klar ist aber: Beide, also Apache oder Node.js können nicht auf Port 80 koexistieren.
Andere Basistechnologie – bessere Performance? Es scheint so.
Grundsätzlich ist die Herangehensweise und die
Basistechnologie ganz anders und überhaupt nicht mit WordPress, Joomla oder
auch Drupal vergleichbar. Der Installationsaufwand erinnert an die frühen Tage
von Typo3. Auch damals mussten viele serverseitige Voraussetzungen erfüllt
sein, viele Konfigurationen waren vorzunehmen und das System lief längst nicht
auf normalen, handelsüblichen Shared-Hosting-Accounts. So ist es auch mit
Ghost. Man braucht definitiv Zugang zu den Serverressourcen, um Node.js
nachzuinstallieren. Kaum ein shared hoster stellt node.js defaultmäßig bereit.
Wenn man die URL mit /ghost ergänzt, gelangt man ins
Backend. Hier soll man sich einen Blog-Account mit Namen und E-Mailadresse
anlegen. Der Mailtransportdienst kann in der Konfigurationsdatei festgelegt
werden, so dass der Accountinhaber benachrichtigt werden kann.
Dann kann man bereits versuchen, seinen ersten Blogbeitrag
zu erstellen und zu posten.
Ghost zeigt zwei Ansichten, das heißt unterteilt das
Browserfenster in vertikaler Richtung. Links gibt man den zu bloggenden Text
ein. Dabei kann man Markup verwenden, um die Formatierungen auszuzeichnen oder Bilder
einzufügen. Komfortablerweise gibt es dafür auch Tastaturshortcuts.
Auf der rechten Seite des Eingabebildschirmfensters sieht
man dann eine Vorschauansicht, die sich selbst und das sehr schnell
aktualisiert.
Überhaupt fällt auf, dass die Eingaben sehr schnell umgesetzt
werden. So typische leichte Latenzen, die man spürt, wenn man auf geteilten Servern
Wordpress oder auch Joomla administriert, sind hier überhaupt nicht zu
erfahren. Alles läuft flott und ohne Hänger. Möglicherweise ist das der große
Vorzug gegenüber etablierten Systemen und Basistechnologien wie PHP.
Die von mir verwendete Version Ghost 0.3 bringt bereits eine
RSS-Funktion und Social Share-Features mit. Es ist ein Template in den
Installationsdateien vorhanden, das sich interessanterweise responsiv verhält,
also auch auf meinem iPhone 4S sehr schnell und anders umgebrochen angezeigt
wurde und von der Aufteilung und der Ästhetik her an Google Plus erinnert. Es gibt
aber auch schon eine Hand voll anderer Themes. Sogar schon einige Plugins gibt
es, u.a. für eine Migration von WordPress auf Ghost via eines JSON Files.
Serverseitiges Javascript scheint Performancevorteile zu bringen
Momentan gibt es in Ghost nichts, was WordPress und Co nicht
auch könnten. Spannend wird es, wenn es um die Performance geht. Ghost läuft
viel flüssiger, möglicherweise aufgrund der Node.js Basistechnologie, die ja
bekanntermassen auf einer ressourcenschonendes Javascript-Laufzeitumgebung
basiert oder auch nur deshalb, weil in Ghost noch nicht so viel „drinsteckt“
wie in WordPress. Ich vermute aber, Node.js hat an der Performance einen großen
Anteil.
Keine Chance mit Shared Hosting
Dennoch kann Node.js am Beispiel von Ghost nun zeigen, was
es kann: Am PC ist Ghost genauso flüssig zu bedienen wie Mircosoft Word, wobei
ich mit dem eigentlich sonst recht behäbigen virtuellen Server auf einer mit
einem XEON Quadcore mit 3,20 GHz-Takt und 12 GB RAM bestückten Maschine verbunden
bin, die wohl irgendwo in einem Datacenter in Strassbourg steht. Zumindest habe ich den Eindruck, dass Node.js
hier wirkliche Experience-Vorteile liefert, sowohl für den Administrator als
auch für den User, der durchs Blog surft.
Die Macher von Ghost arbeiten an einem hosted Service wie
blog.wordpress.com. Aber auch für viele andere Hostingdienste gibt es bereits
fertige Images, wie zum Beispiel für Amazon oder Rackspace.