In diesem Tutorial erfahren Sie, wie Sie Ghost, eine moderne Open-Source-Blogging-Plattform, mit Nginx als Reverse-Proxy auf Ihrem Debian 12 VPS-Server bereitstellen. Ghost bietet eine elegante und minimalistische Schreibumgebung, die sich auf das Wesentliche konzentriert: das Erstellen von Inhalten.
Schritt 1: Voraussetzungen
- Ein Debian 12 Server mit einem Nicht-Root-Benutzer mit sudo-Rechten.
- Node.js (Version 14 oder höher) und npm.
- MySQL oder MariaDB Datenbank.
- Nginx Webserver.
Schritt 2: Node.js und npm installieren
Fügen Sie das NodeSource-Repository hinzu und installieren Sie Node.js und npm:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
Schritt 3: Datenbank erstellen
Melden Sie sich bei MySQL/MariaDB an und erstellen Sie eine Datenbank und einen Benutzer für Ghost:
sudo mysql -u root -p
Geben Sie Ihr MySQL-Root-Passwort ein und führen Sie die folgenden SQL-Befehle aus:
CREATE DATABASE ghost_db;
CREATE USER 'ghost_user'@'localhost' IDENTIFIED BY 'Ihr_sicheres_Passwort';
GRANT ALL PRIVILEGES ON ghost_db.* TO 'ghost_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Ersetzen Sie “Ihr_sicheres_Passwort” durch ein starkes Passwort.
Schritt 4: Ghost installieren
Erstellen Sie einen Benutzer für Ghost und wechseln Sie zu diesem Benutzer:
sudo useradd -m -s /bin/bash ghost
sudo su - ghost
Installieren Sie das Ghost-CLI-Tool global:
sudo npm install ghost-cli@latest -g
Erstellen Sie ein Verzeichnis für Ihren Blog und navigieren Sie dorthin:
mkdir my-ghost-blog && cd my-ghost-blog
Installieren Sie Ghost:
ghost install
Während der Installation werden Sie aufgefordert, einige Fragen zu beantworten, einschließlich der Datenbankverbindungsdetails. Geben Sie die Informationen ein, die Sie in Schritt 3 erstellt haben.
Schritt 5: Nginx als Reverse-Proxy konfigurieren
Erstellen Sie eine Nginx-Konfigurationsdatei für Ghost:
sudo nano /etc/nginx/sites-available/ghost
Fügen Sie den folgenden Inhalt ein und ersetzen Sie “ihre-domain.de” und “2368” (falls Sie einen anderen Port verwenden) durch Ihre tatsächlichen Werte:
server {
listen 80;
listen [::]:80;
server_name ihre-domain.de;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:2368;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Speichern und schließen Sie die Datei. Aktivieren Sie die Konfiguration und starten Sie Nginx neu:
sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
sudo systemctl restart nginx
Schritt 6: Ghost starten
Starten Sie Ghost:
ghost start
Abschluss
Sie haben nun erfolgreich Ghost mit Nginx auf Ihrem Debian 12 Server bereitgestellt. Sie können nun auf Ihren Blog unter http://ihre-domain.de zugreifen und mit dem Schreiben beginnen.