Webhosting 5. Juni 2026 · 10 Min Lesezeit
Ghost CMS Hosting auf VPS 2026 | hostazar.com

Ghost CMS Hosting auf VPS 2026 – Blog-Software installieren & betreiben

Ghost ist das leistungsstarke Node.js-basierte CMS für moderne Blogs. Lerne, wie du es auf deinem VPS installierst, konfigurierst und für den produktiven Betrieb optimierst.

— Anzeige —

Google AdSense Platzhalter

Was ist Ghost CMS?

Ghost ist ein modernes, quelloffenes Content-Management-System, das speziell für Publisher, Blogger und Content-Creator entwickelt wurde. Anders als WordPress, das auf PHP und MySQL setzt, basiert Ghost auf Node.js und verwendet eine Handlebars.js-Templating-Engine (HBS). Das Ergebnis: eine extrem schnelle, schlanke und sichere Blogging-Plattform, die sich ideal für den Betrieb auf einem eigenen VPS eignet.

Ghost wurde 2013 als Antwort auf die wachsende Komplexität von WordPress gegründet und hat sich seither zu einer der führenden Headless-CMS-Lösungen entwickelt. Die Software ist vollständig Open Source (MIT-Lizenz) und wird von der Ghost Foundation entwickelt. Im Kern bietet Ghost einen leistungsstarken Editor, integrierte Mitglieder-Verwaltung, einen eingebauten Newsletter-Versand und eine moderne API.

Ghost vs. WordPress: Wann lohnt sich Ghost?

Die Frage nach Ghost oder WordPress ist nicht pauschal zu beantworten – beide Systeme haben ihre Daseinsberechtigung. Hier die wichtigsten Unterscheidungsmerkmale:

Kriterium Ghost CMS WordPress
Sprache Node.js (JavaScript) PHP
Performance Sehr schnell, geringer RAM-Bedarf Abhängig von Theme & Plugins
Editor Modernes Card-basiertes Editing Block-Editor (Gutenberg)
Plugins/Erweiterungen Kein klassischer Plugin-Markt (via API & Custom-Integrationen) Riesiger Plugin-Markt (60.000+)
Mitglieder & Newsletter Nativ integriert, keine Extra-Kosten Benötigt Plugins (MemberPress, Newsletter)
Headless / API Headless-first, REST & GraphQL (Admin + Content API) REST API vorhanden, aber nicht als primäres Feature
Zielgruppe Blogger, Publisher, Content-Creator Alles von Blogs bis zu komplexen Websites & Shops

Ghost eignet sich besonders, wenn du einen schlanken, performanten Blog ohne überflüssigen Ballast betreiben möchtest. Die integrierten Mitglieder-Funktionen machen Ghost zur idealen Plattform für Paid-Newsletter und Membership-Modelle – ganz ohne zusätzliche Dienste wie Mailchimp oder ConvertKit.

Systemanforderungen für Ghost CMS auf dem VPS

Bevor wir mit der Installation beginnen, hier die empfohlenen Mindestanforderungen für einen reibungslosen Betrieb:

  • Betriebssystem: Ubuntu 22.04 LTS oder 24.04 LTS (empfohlen), Debian 12
  • CPU: Mindestens 1 Kern (2 Kerne empfohlen)
  • RAM: Mindestens 1 GB (2 GB empfohlen für Produktivbetrieb mit MySQL)
  • Speicher: 20 GB SSD oder NVMe
  • Node.js: Version 18.x oder 20.x (LTS)
  • MySQL: Version 8.0 oder höher (oder MariaDB 10.6+)
  • Nginx: Für Reverse Proxy und SSL-Terminierung
  • Domain: Eine Domain, die auf deinen VPS zeigt

Ein VPS mit 2 GB RAM und 2 vCPUs, wie er bei Anbietern wie Hetzner, Netcup oder Contabo für etwa 5–10 Euro monatlich erhältlich ist, bietet ausreichend Reserven für Ghost CMS, MySQL und Nginx.

Empfohlenes VPS-Hosting für Ghost CMS: Suche nach VPS-Angeboten mit SSD-Speicher, garantierter CPU-Leistung und schnellem Netzwerk – ideal für deinen Ghost-Blog. 👉 VPS & Hosting-Lösungen auf Amazon finden

Methode 1: Ghost-Installation mit der Ghost-CLI

Die offizielle Ghost-CLI ist der einfachste Weg, Ghost auf einem frischen Ubuntu-Server zu installieren. Sie kümmert sich um Node.js, MySQL, Nginx, Lets Encrypt und den Systemd-Service. Los geht's:

Schritt 1: Server vorbereiten

Stelle sicher, dass dein Server auf dem neuesten Stand ist:

sudo apt update && sudo apt upgrade -y
sudo apt install nginx curl wget -y

Schritt 2: MySQL 8 installieren

Ghost benötigt MySQL 8. Installiere den Datenbank-Server mit:

sudo apt install mysql-server -y
sudo mysql_secure_installation

Erstelle anschließend eine Datenbank und einen Benutzer für Ghost:

sudo mysql -u root -p
CREATE USER 'ghost_user'@'localhost' IDENTIFIED BY 'DeinSicheresPasswort';
CREATE DATABASE ghost_db;
GRANT ALL PRIVILEGES ON ghost_db.* TO 'ghost_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Schritt 3: Node.js installieren

Ghost benötigt eine aktive Node.js-LTS-Version. Installiere Node.js 20.x:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install nodejs -y
node --version   # Sollte v20.x.x anzeigen

Schritt 4: Ghost-CLI installieren und Ghost einrichten

Lege ein neues Verzeichnis für Ghost an und installiere die CLI:

sudo mkdir -p /var/www/ghost
sudo chown -R $USER:$USER /var/www/ghost
cd /var/www/ghost
npm install ghost-cli@latest -g

Jetzt startest du die interaktive Installation:

ghost install

Die CLI fragt dich nach:

  • Blog-URL: Deine Domain (z. B. https://meinblog.de)
  • MySQL-Hostname: In der Regel localhost
  • MySQL-Benutzername & Passwort: Die eben erstellten Zugangsdaten
  • Ghost-Datenbankname: ghost_db
  • SSL: Ghost-CLI kann automatisch ein Let's-Encrypt-Zertifikat einrichten
  • Systemd-Service: Ghost als Service einrichten (empfohlen)

Nach erfolgreicher Installation erreichst du dein Ghost-Blog unter deiner Domain. Der Admin-Bereich ist unter /ghost erreichbar (z. B. https://meinblog.de/ghost).

— Anzeige —

Google AdSense Platzhalter (Zwischenüberschrift)

Methode 2: Docker-basierte Ghost-Installation

Wenn du Docker bevorzugst – sei es aus Gründen der Isolation, Reproduzierbarkeit oder einfacheren Updates – kannst du Ghost auch als Docker-Container betreiben. Diese Methode hat den Vorteil, dass du Ghost inklusive aller Abhängigkeiten in einem Container kapselst.

Voraussetzung: Docker & Docker Compose installieren

sudo apt install docker.io docker-compose-plugin -y
sudo systemctl enable --now docker

Docker Compose für Ghost erstellen

Erstelle ein Verzeichnis und eine docker-compose.yml:

mkdir -p ~/ghost-docker && cd ~/ghost-docker
nano docker-compose.yml

Füge folgenden Inhalt ein:

version: '3.8'

services:
  ghost:
    image: ghost:latest
    restart: always
    ports:
      - "127.0.0.1:2368:2368"
    environment:
      database__client: mysql
      database__connection__host: db
      database__connection__user: ghost_user
      database__connection__password: DeinSicheresPasswort
      database__connection__database: ghost_db
      url: https://meinblog.de
    volumes:
      - ./ghost-data:/var/lib/ghost/content
    depends_on:
      - db

  db:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root_passwort
      MYSQL_DATABASE: ghost_db
      MYSQL_USER: ghost_user
      MYSQL_PASSWORD: DeinSicheresPasswort
    volumes:
      - ./mysql-data:/var/lib/mysql

Starte die Container:

docker compose up -d

Nginx als Reverse Proxy für Docker-Ghost konfigurieren

Da Ghost im Docker-Container nur auf localhost:2368 lauscht, benötigst du Nginx als Reverse Proxy:

sudo nano /etc/nginx/sites-available/meinblog.de
server {
    listen 80;
    server_name meinblog.de www.meinblog.de;

    location / {
        proxy_pass http://127.0.0.1:2368;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
sudo ln -s /etc/nginx/sites-available/meinblog.de /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

Danach richte wie gewohnt ein SSL-Zertifikat mit Let's Encrypt ein. Eine detaillierte Anleitung findest du in unserem Artikel SSL-Zertifikat mit Let's Encrypt einrichten.

Ghost konfigurieren – production.config.json

Nach der Installation (egal ob mit CLI oder Docker) findest du die Hauptkonfigurationsdatei unter /var/www/ghost/config.production.json (bei CLI) oder als Umgebungsvariablen (bei Docker). Hier die wichtigsten Einstellungen:

{
  "url": "https://meinblog.de",
  "database": {
    "client": "mysql",
    "connection": {
      "host": "localhost",
      "user": "ghost_user",
      "password": "DeinSicheresPasswort",
      "database": "ghost_db"
    }
  },
  "server": {
    "host": "127.0.0.1",
    "port": 2368
  },
  "mail": {
    "transport": "SMTP",
    "options": {
      "service": "Mailgun",
      "auth": {
        "user": "[email protected]",
        "pass": "dein-mailgun-passwort"
      }
    }
  }
}

Besonders wichtig ist der Mail-Bereich: Ghost benötigt einen Mail-Dienst, um Newsletter zu versenden und Passwort-Reset-E-Mails zu schicken. Beliebte Dienste sind Mailgun (kostenlos bis 1.000 E-Mails/Monat), SendGrid oder Amazon SES.

Themes & Customization in Ghost

Ghost verwendet Handlebars.js (.hbs) als Templating-Sprache. Das bedeutet, Themes sind im Vergleich zu WordPress deutlich schlanker und bestehen aus HTML, CSS und JavaScript. Standardmäßig wird Ghost mit dem Theme "Casper" ausgeliefert – einem modernen, responsiven Blog-Theme. Für 2026 sind besonders diese Themes beliebt:

  • Source: Das offizielle Theme der Ghost Foundation, optimiert für Publisher mit Newsletter-Fokus
  • Embrace: Minimalistisches Theme mit Fokus auf Lesbarkeit, ideal für persönliche Blogs
  • Edition: Modernes Magazin-Theme mit mehreren Layout-Varianten
  • Headline: News-Portal optimiert mit Breaking-News-Banner und Kategorien-Navigation

Du kannst Themes direkt über den Ghost-Admin-Bereich unter "Design" hochladen oder via Git bereitstellen. Eigenentwicklungen sind dank der übersichtlichen HBS-Struktur gut umsetzbar.

Mitglieder & Newsletter-Funktion

Eine der stärksten Funktionen von Ghost ist das nativ integrierte Mitglieder-System. Du kannst verschiedene Abonnement-Stufen anlegen:

  • Free-Mitglieder: Erhalten kostenlose Newsletter
  • Premium-Mitglieder: Haben Zugriff auf exklusive Inhalte (monatliche oder jährliche Zahlung)
  • Angepasste Stufen: Unterschiedliche Preis-Modelle für verschiedene Content-Bereiche

Ghost übernimmt dabei den gesamten Newsletter-Versand selbst – du benötigst keinen externen Dienst wie Mailchimp oder Sendinblue. Die Bezahlung läuft standardmäßig über Stripe, was Ghost zu einer kompletten All-in-One-Lösung für Paid-Newsletter und Membership-Seiten macht. Das spart nicht nur Geld, sondern auch die lästige Integration mehrerer Dienste.

Backup & Migration deines Ghost-Blogs

Regelmäßige Backups sind das A und O für jeden produktiven Blog. Ghost bietet mehrere Wege, deine Daten zu sichern:

1. Ghost-Exporter (Inhalte)

Im Admin-Bereich unter "Settings → Export" kannst du alle deine Inhalte (Beiträge, Seiten, Tags, Mitglieder) als JSON-Datei exportieren. Dieser Export enthält jedoch keine Bilder und keine Theme-Dateien.

2. Datenbank-Backup (Vollständig)

Sichere die MySQL-Datenbank regelmäßig mit mysqldump:

mysqldump -u ghost_user -p ghost_db > ghost-backup-$(date +%Y%m%d).sql

3. Content-Ordner sichern

Alle hochgeladenen Bilder und Theme-Dateien liegen im content-Ordner. Erstelle ein Tarball-Archiv:

tar -czf ghost-content-backup.tar.gz /var/www/ghost/content

Automatisiere den Backup-Prozess am besten mit einem Cronjob. Wie du eine umfassende Backup-Strategie aufbaust, erfährst du in unserem Artikel Backup-Strategien für VPS und Server.

Performance-Tuning für Ghost

Ghost ist bereits von Haus aus schnell, aber mit einigen Optimierungen holst du noch mehr heraus:

  • CDN für Bilder: Binde ein CDN wie Cloudflare oder BunnyCDN ein, um statische Assets auszuliefern. Ghost unterstützt S3-kompatible Storage-Adapter für Bild-Uploads.
  • Nginx-Caching: Aktiviere Micro-Caching in Nginx, um wiederholte Anfragen direkt aus dem Cache zu bedienen:
proxy_cache_path /var/cache/nginx/ghost levels=1:2 keys_zone=ghostcache:10m max_size=500m inactive=60m;
server {
    location / {
        proxy_cache ghostcache;
        proxy_cache_valid 200 5m;
        proxy_cache_use_stale error timeout updating;
        add_header X-Cache-Status $upstream_cache_status;
    }
}
  • Image-Optimierung: Ghost komprimiert Bilder automatisch, aber du kannst die Qualität in der Konfiguration anpassen oder ein zusätzliches Tool wie Sharp für die serverseitige Optimierung einsetzen.
  • GZip/Brotli-Kompression: Aktiviere Brotli-Kompression in Nginx für noch kleinere Übertragungsgrößen.
  • MySQL-Optimierung: Passe die InnoDB-Pool-Größe an deinen verfügbaren RAM an (innodb_buffer_pool_size = 512M).

Eine detaillierte Anleitung zur Nginx-Optimierung findest du in unserem Guide Nginx Reverse Proxy konfigurieren.

SSD-Speicher für deinen Ghost-Server: Hochwertiger NVMe-Speicher beschleunigt Datenbankabfragen und Bild-Uploads spürbar. 👉 NVMe-SSDs & Speicher-Upgrades bei Amazon ansehen

Ghost als Headless CMS nutzen

Ghost ist eines der besten Headless-CMS auf dem Markt. Das bedeutet, du kannst Ghost im Backend betreiben und die Inhalte über die Content-API an jedes Frontend ausliefern – sei es ein React-, Vue.js- oder Gatsby-Projekt. Ghost stellt zwei APIs bereit:

  • Content API: Öffentlich lesbar, für die Auslieferung von Inhalten an das Frontend
  • Admin API: Authentifiziert, zum Erstellen und Bearbeiten von Inhalten

Ein klassisches Setup ist Ghost im Backend mit einem statischen Site-Generator wie Eleventy (11ty) oder Astro im Frontend. Die Inhalte werden zur Build-Zeit abgerufen und als statisches HTML ausgeliefert – das Ergebnis ist eine extrem schnelle, SEO-optimierte Website, die nahezu keine Server-Last verursacht.

Sicherheitstipps für Ghost auf dem VPS

Da Ghost auf deinem eigenen VPS läuft, bist du für die Sicherheit selbst verantwortlich. Hier die wichtigsten Maßnahmen:

  • Regelmäßige Updates: Halte Ghost, Node.js und MySQL immer auf dem neuesten Stand. Bei der CLI-Installation geht das mit ghost update.
  • Firewall konfigurieren: Erlaube nur die Ports 22 (SSH), 80 (HTTP) und 443 (HTTPS) in der UFW-Firewall. Port 2368 muss nicht von außen erreichbar sein.
  • SSH-Härtung: Deaktiviere Root-Login, verwende SSH-Key-Authentifizierung und ändere den SSH-Port. Mehr dazu in VPS absichern 2026.
  • Rate-Limiting: Schütze den Admin-Bereich (/ghost) vor Brute-Force-Angriffen mit Nginx Rate-Limiting.
  • Fail2ban: Installiere Fail2ban, um wiederholte Fehlversuche automatisch zu blockieren.

Domains & SSL für Ghost CMS

Um dein Ghost-Blog unter einer eigenen Domain zu betreiben, benötigst du eine Domain und ein SSL-Zertifikat. Die Ghost-CLI erledigt beides automatisch, wenn du bei der Installation "Set up Nginx" und "Set up SSL" bestätigst. Falls du die manuelle Konfiguration bevorzugst, helfen dir diese Guides:

Fazit: Ghost CMS auf dem VPS betreiben

Ghost CMS ist eine hervorragende Wahl für alle, die einen modernen, schnellen und fokussierten Blog betreiben möchten. Die Kombination aus Node.js als serverseitiger Laufzeitumgebung und der schlanken Architektur macht Ghost zu einem der performantesten Content-Management-Systeme überhaupt. Auf einem eigenen VPS hast du die volle Kontrolle über die Umgebung – von der Wahl des Betriebssystems über die MySQL-Konfiguration bis hin zum Reverse Proxy mit Nginx.

Ob du dich für die einfache Ghost-CLI-Installation oder die flexiblere Docker-Variante entscheidest, hängt von deinen persönlichen Präferenzen ab. Die CLI-Methode ist unkomplizierter und ideal für Einsteiger, während Docker insbesondere dann punktet, wenn du mehrere Anwendungen auf einem VPS betreibst und saubere Trennung benötigst.

Mit den integrierten Mitglieder- und Newsletter-Funktionen sparst du dir nicht nur die Kosten für externe Dienste, sondern auch die lästige Integration mehrerer Systeme. Ghost 2026 ist eine ausgereifte Plattform, die sich ideal für persönliche Blogs, professionelle Publisher und Paid-Newsletter eignet – und auf dem eigenen VPS in weniger als 30 Minuten einsatzbereit ist.

🌐 VPS & Domain für dein Ghost-Blog

👉 VPS & Blog-Hosting-Zubehör auf Amazon entdecken

— Anzeige —

Google AdSense Platzhalter (Ende des Artikels)