Ghost CMS · 14 min read · Oct 14, 2025
So setzen Sie Ghost CMS auf Rocky Linux 9 ein

Ghost ist eine Open-Source-Blogging-Plattform, die Ihnen hilft, einen professionell aussehenden Blog zu erstellen. Sie wurde 2013 als Alternative zu WordPress ins Leben gerufen, da dieses zu komplex wurde. Sie ist in JavaScript geschrieben und wird von der Node.js-Bibliothek unterstützt.
Dieses Tutorial zeigt, wie Sie Ghost CMS mit Nginx und MySQL auf einem Server mit Rocky Linux 9 installieren. Wir verwenden den Nginx-Server, um den Blog zu hosten, und das Let’s Encrypt SSL-Zertifikat, um unsere Installation abzusichern.
Voraussetzungen
- Ein Server, der Rocky Linux 9 ausführt.
- Ein Nicht-Root-Benutzer mit Sudo-Rechten.
- Ein vollständig qualifizierter Domainname (FQDN), der auf Ihren Server verweist. Für unsere Zwecke verwenden wir
ghost.example.comals Domainnamen. - Stellen Sie sicher, dass alles aktualisiert ist.
$ sudo dnf update - Installieren Sie grundlegende Dienstprogramme. Einige davon sind möglicherweise bereits installiert.
$ sudo dnf install wget curl nano unzip yum-utils -y
Schritt 1 - Firewall konfigurieren
Der erste Schritt besteht darin, die Firewall zu konfigurieren. Rocky Linux verwendet die Firewalld-Firewall. Überprüfen Sie den Status der Firewall.
$ sudo firewall-cmd --state
running
Die Firewall arbeitet mit verschiedenen Zonen, und die öffentliche Zone ist die Standardzone, die wir verwenden werden. Listen Sie alle Dienste und Ports auf, die in der Firewall aktiv sind.
$ sudo firewall-cmd --permanent --list-services
Es sollte die folgende Ausgabe anzeigen.
cockpit dhcpv6-client ssh
Wiki.js benötigt HTTP- und HTTPS-Ports, um zu funktionieren. Öffnen Sie diese.
$ sudo firewall-cmd --add-service=http --permanent
$ sudo firewall-cmd --add-service=https --permanent
Laden Sie die Firewall neu, um die Änderungen anzuwenden.
$ sudo firewall-cmd --reload
Schritt 2 - Nginx installieren
Rocky Linux 9 wird mit einer älteren Version von Nginx ausgeliefert. Sie müssen das offizielle Nginx-Repository herunterladen, um die neueste Version zu installieren.
Erstellen und öffnen Sie die Datei /etc/yum.repos.d/nginx.repo, um das offizielle Nginx-Repository zu erstellen.
$ sudo nano /etc/yum.repos.d/nginx.repo
Fügen Sie den folgenden Code ein.
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Installieren Sie den Nginx-Server.
$ sudo dnf install nginx -y
Überprüfen Sie die Installation.
$ nginx -v
nginx version: nginx/1.22.1
Aktivieren und starten Sie den Nginx-Server.
$ sudo systemctl enable nginx --now
Überprüfen Sie den Status des Servers.
$ sudo systemctl status nginx
? nginx.service - nginx - Hochleistungs-Webserver
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-10-25 08:27:47 UTC; 2s ago
Docs: http://nginx.org/en/docs/
Process: 1650 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Main PID: 1651 (nginx)
Tasks: 2 (limit: 5912)
Memory: 1.9M
CPU: 7ms
CGroup: /system.slice/nginx.service
??1651 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
??1652 "nginx: worker process"
Oct 25 08:27:47 ghost.example.com systemd[1]: Starting nginx - Hochleistungs-Webserver...
Schritt 3 - Node.js installieren
Der Ghost-Installer benötigt Node.js, um zu funktionieren. Führen Sie die folgenden Befehle aus, um Node 16 zu installieren.
$ curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -
Installieren Sie Node.
$ sudo dnf install -y nodejs
Überprüfen Sie die Node-Installation.
$ node --version
v16.18.0
Zum Zeitpunkt des Schreibens dieses Tutorials ist Node 18 verfügbar und die LTS-Version. Ghost hat noch keine Unterstützung dafür hinzugefügt. Überprüfen Sie die Ghost-Dokumentation zu Node-Versionen für die neueste unterstützte Node-Version. Wenn Ghost Unterstützung für Node 18 hinzufügt, installieren Sie Node 18 stattdessen mit den folgenden Befehlen.
$ curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
$ sudo dnf install -y nodejs
Schritt 4 - MySQL installieren
Rocky Linux 9 wird mit der neuesten Version von MySQL ausgeliefert. Sie können es mit einem einzigen Befehl installieren.
$ sudo dnf install mysql-server
Überprüfen Sie die Version von MySQL.
$ mysql --version
mysql Ver 8.0.30 for Linux on x86_64 (Source distribution)
Aktivieren und starten Sie den MySQL-Dienst.
$ sudo systemctl enable mysqld --now
Überprüfen Sie den Dienststatus.
$ sudo systemctl status mysqld
? mysqld.service - MySQL 8.0-Datenbankserver
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2022-10-25 09:00:26 UTC; 3s ago
Process: 2920 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
Process: 2942 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
Main PID: 3021 (mysqld)
Status: "Server ist betriebsbereit"
Tasks: 39 (limit: 5912)
Memory: 404.4M
CPU: 4.686s
CGroup: /system.slice/mysqld.service
??3021 /usr/libexec/mysqld --basedir=/usr
Oct 25 09:00:18 ghost.example.com systemd[1]: Starting MySQL 8.0-Datenbankserver...
Oct 25 09:00:18 ghost.example.com mysql-prepare-db-dir[2942]: Initializing MySQL-Datenbank
Oct 25 09:00:26 ghost.example.com systemd[1]: Started MySQL 8.0-Datenbankserver.
Sie können sich standardmäßig mit Unix-Authentifizierung in die MySQL-Shell einloggen. Aber Sie können den Sicherheitsassistenten nicht ausführen. Daher ist der folgende Schritt für MySQL-Versionen 8.0.28 und höher erforderlich. Geben Sie die MySQL-Shell ein.
$ sudo mysql
Führen Sie den folgenden Befehl aus, um das Passwort für Ihren Root-Benutzer festzulegen. Stellen Sie sicher, dass es eine Mischung aus Zahlen, Großbuchstaben, Kleinbuchstaben und Sonderzeichen enthält.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourPassword12!';
Verlassen Sie die Shell. Der Nachteil dieses Schrittes ist, dass Sie sich nicht mehr mit Unix-Authentifizierung in die MySQL-Shell einloggen können.
mysql> exit
Führen Sie das MySQL-Sicherheitsinstallationsskript aus.
$ sudo mysql_secure_installation
Sie werden gefragt, ob Sie die Komponente zur Passwortvalidierung installieren möchten. Sie überprüft die Stärke der in MySQL verwendeten Passwörter. Drücken Sie Y, um sie zu installieren.
Sichern der MySQL-Serverbereitstellung.
Verbindung zu MySQL mit einem leeren Passwort.
Die VALIDATE PASSWORD COMPONENT kann verwendet werden, um Passwörter zu testen
und die Sicherheit zu verbessern. Sie überprüft die Stärke von Passwörtern
und erlaubt den Benutzern nur, Passwörter festzulegen, die
sicher genug sind. Möchten Sie die VALIDATE PASSWORD-Komponente einrichten?
Drücken Sie y|Y für Ja, eine andere Taste für Nein: Y
Als Nächstes werden Sie aufgefordert, die Stufe der Passwortvalidierungspolitik festzulegen. Wählen Sie 2, da dies die stärkste ist. Sie werden dann aufgefordert, ein Root-Passwort zu erstellen. Geben Sie ein Passwort mit den angegebenen Anforderungen ein. Und wenn Sie gefragt werden, ob Sie mit dem Passwort fortfahren möchten, drücken Sie Y, um fortzufahren.
Es gibt drei Stufen der Passwortvalidierungspolitik:
NIEDRIG Länge >= 8
MITTEL Länge >= 8, numerisch, gemischte Groß- und Kleinbuchstaben und Sonderzeichen
STARK Länge >= 8, numerisch, gemischte Groß- und Kleinbuchstaben, Sonderzeichen und Wörterbuchdatei
Bitte geben Sie 0 = NIEDRIG, 1 = MITTEL und 2 = STARK ein: 2
Bitte setzen Sie hier das Passwort für root.
Neues Passwort:
Neues Passwort erneut eingeben:
Geschätzte Stärke des Passworts: 100
Möchten Sie mit dem angegebenen Passwort fortfahren? (Drücken Sie y|Y für Ja, eine andere Taste für Nein): Y
Drücken Sie schließlich Y, um anonyme Benutzer zu entfernen, entfernte Root-Logins zu verbieten, die Testdatenbank zu entfernen und die Berechtigungstabellen neu zu laden.
Standardmäßig hat eine MySQL-Installation einen anonymen Benutzer,
was es jedem ermöglicht, sich in MySQL einzuloggen, ohne ein
Benutzerkonto zu haben. Dies ist nur für
Tests gedacht und soll die Installation etwas reibungsloser gestalten.
Sie sollten sie entfernen, bevor Sie in eine Produktionsumgebung wechseln.
Anonyme Benutzer entfernen? (Drücken Sie y|Y für Ja, eine andere Taste für Nein): Y
Erfolg.
Normalerweise sollte root nur von
'localhost' aus verbinden dürfen. Dies stellt sicher, dass niemand das
Root-Passwort über das Netzwerk erraten kann.
Root-Login aus der Ferne verbieten? (Drücken Sie y|Y für Ja, eine andere Taste für Nein): Y
Erfolg.
Standardmäßig kommt MySQL mit einer Datenbank namens 'test', auf die
jeder zugreifen kann. Dies ist ebenfalls nur für Tests gedacht
und sollte entfernt werden, bevor Sie in eine Produktionsumgebung wechseln.
Testdatenbank und Zugriff darauf entfernen? (Drücken Sie y|Y für Ja, eine andere Taste für Nein): Y
- Testdatenbank wird gelöscht...
Erfolg.
- Berechtigungen auf der Testdatenbank werden entfernt...
Erfolg.
Das Neuladen der Berechtigungstabellen stellt sicher, dass alle Änderungen,
die bisher vorgenommen wurden, sofort wirksam werden.
Berechtigungstabellen jetzt neu laden? (Drücken Sie y|Y für Ja, eine andere Taste für Nein): Y
Erfolg.
Alles erledigt!
Damit ist der Prozess der Installation und Sicherung von MySQL abgeschlossen.
Schritt 5 - Ghost installieren
Die Ghost-Installation besteht aus drei Komponenten - dem Ghost-CLI-Befehlszeilenwerkzeug, das die Installation und Updates des Ghost-Blogs verwaltet, und dem Blog-Paket selbst.
Ghost-CLI installieren
Führen Sie den folgenden Befehl aus, um das Ghost-CLI-Tool zu installieren. Ignorieren Sie alle Warnungen, die Sie während des Prozesses erhalten.
$ sudo npm install ghost-cli@latest -g
Ghost-Verzeichnis vorbereiten
Erstellen Sie das Ghost-Stammverzeichnis.
$ sudo mkdir -p /var/www/html/ghost
Setzen Sie den Besitz des Verzeichnisses auf den aktuellen Benutzer.
$ sudo chown $USER:$USER /var/www/html/ghost
Setzen Sie die richtigen Verzeichnisberechtigungen.
$ sudo chmod 755 /var/www/html/ghost
Wechseln Sie in das Ghost-Verzeichnis.
$ cd /var/www/html/ghost
Ghost installieren
Die Installation von Ghost erfolgt mit einem einzigen Befehl.
$ ghost install
Während der Installation wird das CLI-Tool eine Reihe von Fragen stellen, um den Blog zu konfigurieren.
- Zum Zeitpunkt des Schreibens dieses Tutorials unterstützt Ghost-CLI kein anderes Betriebssystem außer Ubuntu. Es wird fragen, ob Sie dennoch mit der Installation fortfahren möchten. Drücken Sie Y, um fortzufahren.
- Blog-URL: Geben Sie Ihre vollständige Blog-URL mit dem https-Protokoll ein. (
https://ghost.example.com) - MySQL-Hostname: Drücken Sie die Eingabetaste, um den Standardwert
localhostzu verwenden, da sich unsere Ghost-Installation und MySQL auf demselben Server befinden. - MySQL-Benutzername: Geben Sie
rootals Ihren MySQL-Benutzernamen ein. - MySQL-Passwort: Geben Sie Ihr zuvor erstelltes Root-Passwort ein.
- Ghost-Datenbankname: Geben Sie einen Namen für Ihre Ghost-Datenbank an. (
ghostdb) - Sudo-Passwort: Geben Sie das Sudo-Passwort Ihres Systems ein, um erhöhte Befehle auszuführen.
- Möchten Sie einen Ghost MySQL-Benutzer einrichten?: Der Installer wird fragen, ob Sie einen separaten MySQL-Benutzer für Ghost erstellen möchten. Drücken Sie Y, um fortzufahren.
- Nginx einrichten?: Normalerweise erkennt Ghost-CLI Ihre Nginx-Installation und konfiguriert sie automatisch für Ihren Blog. Aber derzeit kann es unsere Nginx-Installation nicht erkennen. Daher wird der Installer diesen Schritt automatisch überspringen. Wir werden Nginx manuell konfigurieren.
- SSL einrichten?: Da die Nginx-Konfiguration übersprungen wurde, wird das CLI-Tool auch die Einrichtung eines SSL überspringen.
- Systemd einrichten?: Ghost wird fragen, ob Sie einen Systemdienst für Ghost einrichten möchten. Drücken Sie Y, um fortzufahren.
- Ghost starten?: Drücken Sie Y, um Ihre Ghost-Installation zu starten. Der Dienst wird gestartet, aber wir müssen Nginx und SSL konfigurieren, damit es funktioniert.
Schritt 6 - SSL installieren
Bevor wir fortfahren, müssen wir das Certbot-Tool und ein SSL-Zertifikat für unsere Domain installieren.
Um Certbot zu installieren, verwenden wir den Snapd-Paketinstaller. Snapd hat immer die neueste stabile Version von Certbot, die Sie verwenden sollten.
Das Snapd-Tool benötigt das Epel-Repository, um zu funktionieren.
$ sudo dnf install epel-release -y
Wir werden Snapd verwenden, um Certbot zu installieren. Installieren Sie Snapd.
$ sudo dnf install snapd -y
Aktivieren und starten Sie den Snap-Dienst.
$ sudo systemctl enable snapd.socket --now
Erstellen Sie die erforderlichen Links, damit Snapd funktioniert.
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Stellen Sie sicher, dass Ihre Version von Snapd auf dem neuesten Stand ist.
$ sudo snap install core
$ sudo snap refresh core
Installieren Sie Certbot.
$ sudo snap install --classic certbot
Verwenden Sie den folgenden Befehl, um sicherzustellen, dass der Certbot-Befehl ausgeführt werden kann, indem Sie einen symbolischen Link zum Verzeichnis /usr/bin erstellen.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Generieren Sie ein SSL-Zertifikat.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d ghost.example.com
Der obige Befehl lädt ein Zertifikat in das Verzeichnis /etc/letsencrypt/live/ghost.example.com auf Ihrem Server herunter.
Generieren Sie ein Diffie-Hellman-Gruppen-Zertifikat.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Führen Sie einen Testlauf des Prozesses durch, um zu überprüfen, ob die SSL-Erneuerung einwandfrei funktioniert.
$ sudo certbot renew --dry-run
Wenn Sie keine Fehler sehen, sind Sie bereit. Ihr Zertifikat wird automatisch erneuert.
Schritt 7 - Nginx konfigurieren
Erstellen und öffnen Sie die Datei /etc/nginx/conf.d/ghost.conf zur Bearbeitung.
$ sudo nano /etc/nginx/conf.d/ghost.conf
Fügen Sie den folgenden Code in die ghost.conf-Datei ein. Ersetzen Sie alle Vorkommen von ghost.example.com durch Ihre Domain.
## HTTPS erzwingen
server {
listen 80;
listen [::]:80;
server_name ghost.example.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name ghost.example.com;
access_log /var/log/nginx/ghost.access.log;
error_log /var/log/nginx/ghost.error.log;
client_max_body_size 20m;
http2_push_preload on; # HTTP/2 Server Push aktivieren
ssl_certificate /etc/letsencrypt/live/ghost.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ghost.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/ghost.example.com/chain.pem;
ssl_session_timeout 1d;
# TLS-Versionen aktivieren (TLSv1.3 ist für das kommende HTTP/3 QUIC erforderlich).
ssl_protocols TLSv1.2 TLSv1.3;
# TLSv1.3's 0-RTT aktivieren. Verwenden Sie $ssl_early_data, wenn Sie umkehren,
# um Wiederholungsangriffe zu verhindern.
#
# @see: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data
ssl_early_data on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384';
ssl_prefer_server_ciphers on;
ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
# OCSP Stapling ---
# OCSP-Datensätze von der URL im ssl_certificate abrufen und cachen
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
add_header X-Early-Data $tls1_3_early_data;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:2368;
}
}
# Dieser Block ist nützlich zur Fehlersuche von TLS v1.3. Bitte entfernen Sie dies
# und verwenden Sie die von NGINX direkt bereitgestellte `$ssl_early_data`-Variable, wenn Sie
# dies wünschen.
map $ssl_early_data $tls1_3_early_data {
"~." $ssl_early_data;
default "";
}
Die obige Konfiguration leitet alle HTTP-Anfragen zu HTTPS um und dient als Proxy für den Ghost-Dienst, um ihn über Ihre Domain bereitzustellen.
Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Öffnen Sie die Datei /etc/nginx/nginx.conf zur Bearbeitung.
$ sudo nano /etc/nginx/nginx.conf
Fügen Sie die folgende Zeile vor der Zeile include /etc/nginx/conf.d/*.conf; hinzu.
server_names_hash_bucket_size 64;
Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Überprüfen Sie Ihre Nginx-Konfiguration.
$ sudo nginx -t
Wenn Sie keine Fehler sehen, sind Sie bereit. Laden Sie den Nginx-Server neu.
$ sudo systemctl reload nginx
Schritt 8 - SELinux konfigurieren
Erlauben Sie Nginx, eine Verbindung zum Netzwerk herzustellen.
$ sudo setsebool -P httpd_can_network_connect 1
Schritt 9 - Die Seite ausführen
Jetzt können Sie Ihre Installation überprüfen, indem Sie https://ghost.example.com in Ihrem Webbrowser öffnen. Sie erhalten die folgende Seite, die eine erfolgreiche Installation anzeigt.

Schritt 10 - Die Einrichtung abschließen
Um die Einrichtung Ihres Ghost-Blogs abzuschließen, besuchen Sie https://ghost.example.com/ghost in Ihrem Browser. Das zusätzliche /ghost am Ende Ihrer Blog-Domain leitet Sie zum Admin-Panel von Ghost oder in diesem Fall zur Einrichtung, da Sie darauf zum ersten Mal zugreifen.
Sie müssen Ihr Administratorkonto erstellen und einen Blogtitel auswählen.

Geben Sie Ihre Daten ein und klicken Sie auf die Schaltfläche Konto erstellen & veröffentlichen, um fortzufahren.
Als Nächstes werden Sie zum folgenden Bildschirm weitergeleitet, auf dem Ihnen Optionen wie das Schreiben Ihres ersten Beitrags, die Anpassung Ihrer Website und das Importieren von Mitgliedern angeboten werden.

Wir wählen die Ghost-Admin erkunden, um zu erkunden und direkt zum Dashboard zu gelangen. Am Ende der Einrichtung werden Sie mit dem Administrationspanel von Ghost begrüßt.

Wenn Sie in den Dunkelmodus wechseln möchten, können Sie dies tun, indem Sie auf den Kippschalter neben der Einstellungssymbol-Schaltfläche am unteren Rand der Einstellungsseite klicken.
Wechseln Sie zur Beitragsseite, und Sie sehen einen Standardbeitrag. Sie können ihn nicht veröffentlichen oder löschen und mit dem Posten beginnen.
)
Schritt 11 - Mailer konfigurieren
Ghost fungiert nicht nur als Blogging-Plattform, sondern auch als Newsletter-Manager. Für den täglichen Betrieb können Sie jeden Transaktionsmaildienst verwenden, um mit Ghost zu arbeiten, um E-Mails zu senden. Wenn Sie jedoch Newsletter über Ghost senden möchten, ist der einzige offizielle Bulk-Mailer, der unterstützt wird, Mailgun. Sie können auch einen anderen Newsletter-Dienst verwenden, aber dafür müssen Sie die Zapier-Integrationsfunktion von Ghost verwenden.
Lassen Sie uns zunächst einen SMTP-Dienst für Transaktions-E-Mails konfigurieren. Öffnen Sie die Datei /var/www/html/ghost/config.production.json zur Bearbeitung.
$ nano /var/www/html/ghost/config.production.json
Suchen Sie die folgenden Zeilen.
"mail": {
"transport": "Direct"
},
Ersetzen Sie sie durch den folgenden Code.
"mail": {
"from": "'Acme Support' [email protected]",
"transport": "SMTP",
"options": {
"host": "YOUR-SES-SERVER-NAME",
"port": 465,
"service": "SES",
"auth": {
"user": "YOUR-SES-SMTP-ACCESS-KEY-ID",
"pass": "YOUR-SES-SMTP-SECRET-ACCESS-KEY"
}
}
},
Hier verwenden wir den Amazon SES-Maildienst, da er sehr günstig und lebenslang kostenlos ist, wenn Sie deren EC2-Dienst nutzen.
Wenn Sie ihren Newsletterdienst über Mailgun nutzen möchten, geben Sie stattdessen den folgenden Code ein.
"mail": {
"from": "'Acme Support' [email protected]",
"transport": "SMTP",
"options": {
"service": "Mailgun",
"host": "smtp.mailgun.org",
"port": 587,
"secure": true,
"auth": {
"user": "[email protected]",
"pass": "1234567890"
}
}
},
Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Sobald Sie fertig sind, starten Sie die Ghost-Anwendung neu, damit die Änderungen wirksam werden.
$ ghost restart
Um die Newsletter-Einstellungen zu konfigurieren, besuchen Sie den Abschnitt Einstellungen >> E-Mail-Newsletter.

Klicken Sie auf den Link Mailgun-Konfiguration, um ihn zu erweitern.
Füllen Sie Ihre Mailgun-Region, Domain und API-Schlüssel aus.

Klicken Sie auf die Schaltfläche Speichern in der oberen rechten Ecke, um die Einstellungen zu speichern.
Um die Zustellung des Newsletters zu testen, öffnen Sie einen Beitrag, öffnen Sie dessen Einstellungen und klicken Sie auf die Option E-Mail-Newsletter. Senden Sie dann eine Test-E-Mail, um zu überprüfen, ob es funktioniert. Wenn Sie keine Fehler erhalten, bedeutet dies, dass Ihre Newsletter-Zustellung funktioniert.
Schritt 12 - Ghost aktualisieren
Es gibt zwei Arten von Ghost-Updates - kleinere Updates und größere Updates.
Zuerst machen Sie ein vollständiges Backup, wenn Sie ein kleines Update durchführen möchten.
$ cd /var/www/html/ghost
$ ghost backup
Führen Sie den Update-Befehl aus, um das kleine Update durchzuführen.
$ ghost update
Um ein großes Update durchzuführen, sollten Sie die offizielle detaillierte Update-Anleitung bei Ghost befolgen. Je nachdem, welche Version Sie derzeit verwenden und auf welche Hauptversion Sie aktualisieren möchten, variieren die Schritte.
Fazit
Damit endet unser Tutorial zur Einrichtung von Ghost CMS auf Ihrem Rocky Linux 9-Server mit Nginx. Wenn Sie Fragen oder Feedback haben, teilen Sie diese bitte in den Kommentaren mit.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.