Website-Suche

So installieren Sie die Blog-Publishing-Plattform Ghost (CMS) in CentOS 7


Ghost ist eine kostenlose, Open-Source- und einfache, aber leistungsstarke Blogging- oder Online-Publikationssoftware, die in Nodejs geschrieben ist. Es handelt sich um eine Sammlung moderner Veröffentlichungstools, die für die einfache Erstellung und Ausführung von Online-Publikationen konzipiert sind.

Ghost-Funktionen:

  • Schnell, skalierbar und effizient.
  • Bietet eine Markdown-basierte Bearbeitungsumgebung.
  • Kommt mit einer Desktop-App.
  • Kommt mit schönen Lenkervorlagen.
  • Unterstützt eine einfache Inhaltsverwaltung.
  • Unterstützt mehrere Rollen für Autoren, Redakteure und Administratoren.
  • Ermöglicht die Vorausplanung von Inhalten.
  • Unterstützt beschleunigte mobile Seiten.
  • Unterstützt die Suchmaschinenoptimierung vollständig.
  • Bietet detaillierte strukturierte Daten.
  • Unterstützt Abonnements per RSS, E-Mail und Slack.
  • Ermöglicht die einfache Bearbeitung von Websites und vieles mehr.

Anforderungen:

  1. Eine minimale CentOS 7 Server-Installation mit 1 GB Speicher
  2. Ein CentOS 7-System mit statischer IP-Adresse
  3. Node v6 LTS – Installieren Sie die neuesten Node.js und NPM in CentOS 7
  4. Ein CentOS 7-Server mit installiertem Nginx

Wichtig: Bevor Sie mit der Installation von Ghost selbst beginnen, benötigen Sie ein gutes VPS-Hosting. Wir empfehlen dringend BlueHost.

In diesem Artikel erklären wir, wie man eine Open-Source-Blogging-Plattform Ghost (Content Management System) auf einem CentOS 7-System installiert.

Schritt 1: Nodejs unter CentOS 7 installieren

1. Nodejs ist in den Software-Repositorys von CentOS nicht verfügbar. Fügen Sie daher zuerst seine Repositorys hinzu und installieren Sie es dann wie folgt

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
yum -y install nodejs npm
dnf -y install nodejs npm   [On Fedora 22+ versions]

2. Sobald Nodejs installiert ist, können Sie mithilfe der Befehle überprüfen, ob Sie die empfohlene Version von Nodejs und npm installiert haben.

node -v 
npm -v

Schritt 2: Ghost auf CentOs 7 installieren

3. Erstellen Sie nun das Ghost-Stammverzeichnis, in dem die Anwendungsdateien im Verzeichnis /var/www/ghost gespeichert werden, dem empfohlenen Installationsort.

mkdir -p /var/www/ghost

4. Laden Sie als Nächstes die neueste Version von Ghost aus dem GitHub-Repository von Ghost herunter und entpacken Sie die Archivdatei in das Verzeichnis, das Sie gerade oben erstellt haben.

curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip
unzip -uo ghost.zip -d  /var/www/ghost

5. Wechseln Sie nun in das neue Ghost-Verzeichnis und installieren Sie Ghost (nur Produktionsabhängigkeiten) mit den folgenden Befehlen. Sobald der zweite Befehl abgeschlossen ist, sollte Ghost auf Ihrem System installiert sein.

cd /var/www/ghost 
npm install --production

Schritt 3: Starten Sie den Standard-Ghost-Blog und greifen Sie darauf zu

6. Um Ghost zu starten, führen Sie den folgenden Befehl aus dem Verzeichnis /var/www/ghost aus.

npm start --production

7. Ghost sollte standardmäßig auf Port 2368 ausgeführt werden. Öffnen Sie daher den Port in der Firewall, um den Zugriff zu ermöglichen.

firewall-cmd --zone=public --permanent --add-port=2368/tcp
firewall-cmd --reload

8. Öffnen Sie nun einen Webbrowser und navigieren Sie zu einer der folgenden URLs unten.

http://SERVER_IP:2368
OR
http://localhost:2368

Hinweis: Nach der ersten Ausführung von Ghost wird die Datei config.js im Stammverzeichnis von Ghost erstellt. Sie können damit die Konfiguration auf Umgebungsebene für Ghost festlegen. Hier können Sie Optionen wie Ihre Site-URL, Datenbank, E-Mail-Einstellungen usw. konfigurieren.

Schritt 4: Installieren und konfigurieren Sie Nginx für Ghost

Installieren und starten Sie den Nginx-Webserver, falls er nicht wie gezeigt über das EPEL-Repository installiert wird.

yum install epel-release
yum install nginx
systemctl start nginx

Wenn Sie eine Firewall betreiben, verwenden Sie die folgenden Befehle, um den Zugriff auf HTTP- und HTTPS-Verkehr zu ermöglichen.

firewall-cmd --permanent --zone=public --add-service=http 
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

Der nächste Schritt besteht darin, Nginx so zu konfigurieren, dass unser Ghost-Blog auf Port 80 gehostet wird, sodass Benutzer auf den Ghost-Blog zugreifen können, ohne den Port :2368 am Ende der URL hinzuzufügen.

Stoppen Sie zunächst die laufende Ghost-Instanz, indem Sie auf dem Terminal die Tasten STRG+C drücken.

Konfigurieren Sie nun Nginx, indem Sie eine neue Datei unter /etc/nginx/sites-available/ghost erstellen.

vi /etc/nginx/sites-available/ghost

Fügen Sie die folgende Konfiguration hinzu und stellen Sie sicher, dass Sie die folgenden hervorgehobenen Zeilen in your_domain_or_ip_address ändern.

server {
    listen 80;
    server_name your_domain_or_ip_address;
    location / {
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass         http://127.0.0.1:2368;
    }
}

Speichern Sie die Datei und aktivieren Sie diese Konfiguration, indem Sie einen Symlink im Verzeichnis /etc/nginx/sites-enabled erstellen.

ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/ghost

Öffnen Sie nun die Datei /etc/nginx.conf. Fügen Sie die Konfigurationsdateien in das Verzeichnis sites-enabled ein und deaktivieren Sie die Standard-Site wie gezeigt.

vi /etc/nginx/nginx.conf

Fügen Sie nun die folgende Zeile innerhalb des http-Blocks hinzu, um die Konfigurationsdateien in das Verzeichnis sites-enabled aufzunehmen.

http {
...
    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

Kommentieren Sie dann den Standardserverblock im http-Block vollständig aus.

...

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;


   server {
      listen       80 default_server;
      listen       [::]:80 default_server;
      server_name  _;
      root         /usr/share/nginx/html;
#
      # Load configuration files for the default server block.
      include /etc/nginx/default.d/*.conf;
#
      location / {
      }
#
      error_page 404 /404.html;
          location = /40x.html {
      }
#
      error_page 500 502 503 504 /50x.html;
          location = /50x.html {
      }
...
...

Speichern Sie abschließend den Nginx-Webserver und starten Sie ihn neu.

systemctl restart nginx

Besuchen Sie noch einmal http://your_domain_or_ip_address und Sie werden Ihren Ghost-Blog sehen.

Weitere Informationen finden Sie auf der Ghost-Homepage: https://ghost.org/

In diesem Artikel haben wir erklärt, wie man Ghost in CentOS 7 installiert und konfiguriert. Verwenden Sie das Kommentarformular unten, um uns Ihre Fragen oder Gedanken zum Leitfaden zu senden.

Zu guter Letzt zeigen wir in unserem nächsten Beitrag, wie man Ghost in Debian und Ubuntu einrichtet. Bleiben Sie bis dahin mit linux-console.net in Verbindung.