WSL

Ghost CMS auf Windows mit WSL Ubuntu installieren

  • dani

dani

4 min read
Ghost CMS Casper theme

In meinem letzten Artikel habe ich darüber gesprochen, wie man Ubuntu als Windows-Subsystem installiert und wie großartig das für Entwickler ist. Wenn du nicht weißt, was WSL ist und lernen willst, wie man es unter Windows installiert, lese den Artikel:

Linux mit WSL auf Windows installieren
Installation einer Linux-Distribution (z. B. Ubuntu) auf einem Windows-Computer mit Windows Subsystems for Linux (WSL).

In diesem Artikel werden wir WSL Ubuntu verwenden, um das Ghost Content Management System (CMS) in einer lokalen Entwicklungsumgebung auf einem Windows-Rechner zu installieren. Das ist ideal, wenn du einen neuen Ghost-Blog einrichten und ein eigenes Ghost-Theme entwickeln möchtest.

Bevor wir Ghost installieren, müssen wir einige Anwendungen als Voraussetzung für Ghost installieren. Wir beginnen mit der Einrichtung von node.js, nvm und npm in der WSL Ubuntu-Umgebung.

Installieren von node.js, nvm und npm

Was ist überhaupt der Unterschied zwischen all diesen?

  1. node.js ist eine Laufzeitumgebung für JavaScript zur Ausführung von in JavaScript geschriebenen Skripten außerhalb eines Browsers.
  2. nvm ist der Node Version Manager. Es ist sozusagen ein Meta-Tool zur Verwaltung mehrerer Installationen von node.js auf demselben System. Es wird hauptsächlich verwendet, um verschiedene Versionen von node.js zu verwalten, die von JavaScript-Anwendungen benötigt werden. Einige Anwendungen benötigen nämlich eine bestimmte Version von node.js um darauf zu laufen.
  3. npm ist der Node Package Manager. Er verhält sich wie Aptitude für Ubuntu. Mit ihm kann man problemlos Bibliotheken aus einem zentralen Repository (oder beliebigen zentralen Repositories, wenn man es möchte) hinzufügen und installieren.

Ghost ist in JavaScript geschrieben und benötigt node.js zum Ausführen. Wir werden nvm verwenden, um eine bestimmte node.js-Version auszuwählen, die Ghost speziell benötigt. Und schließlich verwenden wir npm, um die Ghost-Version auszuwählen, die wir installieren wollen.

Beginnen wir also mit der Installation von node.js, nvm und npm auf dem Ubuntu-System. Zuerst installieren wir nvm, da es uns erlaubt, jede node.js-Version einfach hinzuzufügen. Öffnen Sie das Windows-Terminal mit einem Ubuntu-Profil und führen Sie aus:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash

Prüfe nach der Ausführung, ob nvm installiert ist und funktioniert, indem du den Befehl nvm --version verwendest:

daniel@DESKTOP:~$ nvm --version
0.39.1

Der Befehl nvm ls listet alle derzeit installierten Versionen auf. Wir installieren die aktuelle Version und die Long-Term-Support-Version (LTS) 16.13.0, die speziell von Ghost benötigt wird:

# install latest
nvm install node
# install LTS 16.13.0 for Ghost
nvm install 16.13.0

Wenn du node --version ausführst, um die installierte Knotenversion zu überprüfen, wird die Versionsnummer des letzten installierten Knotens ausgegeben, etwa so:

daniel@DESKTOP:~$ node --version
v18.9.0

Um Ghost lokal zu installieren, müssen wir auf die LTS-Version 16.13.0 wechseln. Deshalb haben wir nvm, um einfach zu einer anderen Version zu wechseln. Beachte, dass du jedes Mal, wenn du eine neue Terminal-Sitzung öffnest, die Version wechseln musst. Um die neueste Ghost-Befehlszeilenschnittstelle (CLI) zu installieren, führe folgenden Befehl aus:

nvm use 16.13.0
npm install ghost-cli@latest -g

Als nächstes erstellen wir ein Verzeichnis für Ghost in unserem Benutzer-Home-Verzeichnis und installieren darin eine Ghost-Instanz:

cd ~
mkdir ghost
cd ghost
ghost install local

Das war's schon. Sobald der Befehl beendet ist, kannst du Ghost über deinen Browser unter http://localhost:2368 und http://localhost:2368/ghost für Ghost Admin aufrufen. Die folgenden Befehle für Ghost können nützlich sein:

  • ghost start um Ghost zu starten
  • ghost stop um Ghost zu stoppen
  • ghost log um Logs anzuzeigen
  • ghost ls um alle laufenden Ghost Blogs anzuzeigen
ℹ️
Wenn du einen dieser Befehle an einem anderen Tag ausführen möchtest, musst du nvm use 16.13.0 erneut ausführen, um die richtige Node-Version zu verwenden. Andernfalls werden die Ghost-Befehle Fehler ausgeben.
💡
Du kannst einen Alias-Befehl erstellen, der sowohl nvm use 16.13.0 als auch ghost start ausführt, indem du die Datei ~/.bash_aliases erstellst (falls sie in deiner Linux-Umgebung noch nicht existiert). Füge den Inhalt alias ghoststart='nvm use 16.13.0 && ghost start' hinzu. Sobald du das Terminal wieder öffnest oder den Befehl source ~/.bashrc verwendest, kannst du den Befehl ghoststart verwenden, um beide Befehle auf einmal auszuführen.

Da wir nun unsere Ghost-Instanz haben und mit der Theme-Entwicklung beginnen wollen, installieren wir yarn und gulp.js für die Theme-Build-Chain.

Installation von yarn und gulp.js

Wir waren fertig, richtig? Nun, wenn du anfangen willst, Themes zu entwickeln, die auf dem standardmäßigen Ghost Theme Casper basieren, dann brauchst du yarn und gulp.js. Yarn ist ein weiterer Paketmanager für node.js (ähnlich wie npm). Gulp.js ist eine in JavaScript geschriebene Software, die auf node.js läuft und Build-Prozesse automatisiert.

Um yarn zu installieren führe den folgenden Befehl aus:

curl -o- -L https://yarnpkg.com/install.sh | bash

Um gulp.js zu installieren führe den folgenden Befehl aus:

npm install --global gulp-cli

Jetzt kannst du das Casper Theme lokal neu bauen. Dies solltest du tun, nachdem alle Dateien geändert wurden. Um das Casper-Theme zu bauen, navigiere zu dem Verzeichnis und führe yarn aus:

# change directory
cd ~/ghost/content/themes/casper/

# install dependencies
yarn install

# run development server
yarn dev

Letzteres blockiert die Shell, bis die Anwendung explizit mit CRTL + C beendet wird, erkennt automatisch Änderungen in allen Dateien des Themes und baut das Theme neu. Yarn ruft intern Gulp Skripte auf, die in der Gulp Build-Datei gulpfile.js verwaltet werden, um das Thema (neu) zu bauen.