GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So stellen Sie Ghost Blog mit Nginx unter Ubuntu 20.04 bereit

Ghost ist eine kostenlose, quelloffene und leichtgewichtige Blogging-Plattform, die auf Node.js basiert. Es ist einfach, anpassbar und ermöglicht es Ihnen, Ihre Inhalte im Internet zu erstellen und zu veröffentlichen. Es wurde speziell für das Bloggen entwickelt und ist daher viel schneller als andere Blogging-Plattformen. Es bietet eine Vielzahl von Funktionen, von denen einige unten aufgeführt sind:

  • Markdown-Editor
  • Geplante Veröffentlichung
  • Anwendung für Linux, Mac und Windows bereitstellen
  • Bietet Hunderte von kostenlosen und Premium-Designs
  • Integrierte Analysen
  • Migrations-Plugin bereitstellen, um von WordPress zu Ghost zu migrieren

Dieses Tutorial erklärt, wie man Ghost mit Nginx und Let’s Encrypt SSL auf Ubuntu 20.04 installiert.

Voraussetzungen

  • Ein Server mit Ubuntu 20.04.
  • Ein gültiger Domainname, der auf Ihre Server-IP verweist.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

Erste Schritte

Zunächst wird empfohlen, den APT-Paketcache auf die neueste Version zu aktualisieren. Sie können es mit dem folgenden Befehl aktualisieren:

apt-get update -y

Sobald der APT-Cache aktualisiert ist, installieren Sie andere erforderliche Abhängigkeiten mit dem folgenden Befehl:

apt-get install gnupg2 curl unzip git acl -y

Als nächstes müssen Sie auch Node.js auf Ihrem System installieren.

Fügen Sie zuerst das Node.js-Repository mit dem folgenden Befehl hinzu:

curl -sL https://deb.nodesource.com/setup_12.x | bash -

Führen Sie nach der Installation des Repositorys den folgenden Befehl aus, um Node.js auf Ihrem System zu installieren.

apt-get install nodejs -y

Überprüfen Sie nach Abschluss der Installation die Node.js-Version mit dem folgenden Befehl:

Knoten -v

Sie sollten die folgende Ausgabe erhalten:

v12.22.1

Überprüfen Sie als Nächstes die NPM-Version mit dem folgenden Befehl:

npm -v

Sie sollten die folgende Ausgabe erhalten:

6.14.12

Installieren Sie Nginx und MariaDB

Als nächstes müssen Sie den Nginx-Webserver und den MariaDB-Datenbankserver auf Ihrem System installieren. Sie können beide Pakete mit dem folgenden Befehl installieren:

apt-get install mariadb-server nginx -y

Sichern Sie nach Abschluss der Installation die MariaDB-Installation und legen Sie das MariaDB-Root-Passwort mit dem folgenden Befehl fest:

mysql_secure_installation

Beantworten Sie alle Fragen, um die MariaDB-Installation zu sichern:

Aktuelles Passwort für Root eingeben (Eingabe für keins):Root-Passwort setzen? [J/n] JNeues Passwort:Neues Passwort erneut eingeben:Anonyme Benutzer entfernen? [J/n] YRoot-Anmeldung aus der Ferne verbieten? [J/n] YTestdatenbank und Zugriff darauf entfernen? [J/n] YBerechtigungstabellen jetzt neu laden? [J/n] Ja

Melden Sie sich als Nächstes mit dem folgenden Befehl bei MariaDB an:

mysql -u root -p

Erstellen Sie nach der Anmeldung eine Datenbank und einen Benutzer für Ghost mit dem folgenden Befehl:

MariaDB [(keine)]> CREATE DATABASE ghostdb;
MariaDB [(keine)]> CREATE USER 'ghostuser'@'localhost' IDENTIFIED BY 'password';

Als nächstes erteilen Sie der Ghost-Datenbank mit dem folgenden Befehl alle Berechtigungen:

MariaDB [(none)]> GRANT ALL ON ghostdb.* TO 'ghostuser'@'localhost';

Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB mit dem folgenden Befehl:

MariaDB [(keine)]> FLUSH PRIVILEGES;
MariaDB [(keine)]> EXIT;

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Installieren Sie Ghost Cli

Als nächstes müssen Sie das Ghost Cli installieren, um den Ghost zu installieren und zu verwalten. Sie können es wie unten gezeigt mit dem NPM installieren:

npm install -g [E-Mail-geschützt]

Überprüfen Sie nach der Installation die installierte Version von Ghost Cli mit dem folgenden Befehl:

Geisterversion

Sie sollten die folgende Ausgabe sehen:

Ghost-CLI-Version:1.16.3

Ghost installieren

Erstellen Sie zunächst mit dem folgenden Befehl einen separaten Benutzer für Ghost:

adduser user1

Fügen Sie als Nächstes user1 mit dem folgenden Befehl zur Gruppe sudo und www-data hinzu:

adduser user1 sudo
adduser user1 www-Daten

Melden Sie sich als Nächstes mit Benutzer1 an und erstellen Sie mit dem folgenden Befehl ein Verzeichnis für Ghost:

su - user1
sudo mkdir /var/www/ghost

Legen Sie als Nächstes die richtige Berechtigung und den Besitz mit dem folgenden Befehl fest:

sudo chown -R www-data:www-data /var/www/ghost
sudo chown -R www-data:www-data /var/www/
sudo chmod 775 /var/ www/ghost
sudo setfacl -R -m u:user1:rwx /var/www/ghost/

Als nächstes ändern Sie das Verzeichnis zu Ghost und installieren die Ghost-Blogging-Plattform mit dem folgenden Befehl:

cd /var/www/ghost
Geisterinstallation

Sie werden aufgefordert, Ihre Blog-URL, den Datenbanknamen, den Benutzernamen, das Passwort und andere Informationen wie unten gezeigt anzugeben:

? Geben Sie Ihre Blog-URL ein:https://ghost.linuxbuz.com? Geben Sie Ihren MySQL-Hostnamen ein:localhost? Geben Sie Ihren MySQL-Benutzernamen ein:Ghostuser? Geben Sie Ihr MySQL-Passwort ein:[hidden]? Geben Sie den Namen Ihrer Ghost-Datenbank ein:ghostdb? Ghost konfigurieren? Einrichten von instance+ sudo useradd --system --user-group ghost+ sudo chown -R ghost:ghost /var/www/ghost/content? "Geister"-Systembenutzer einrichten? "Geister"-Mysql-Benutzer einrichten [übersprungen]? Möchten Sie Nginx einrichten? Ja+ sudo mv /tmp/ghost-linuxbuz-com/ghost.linuxbuz.com.conf /etc/nginx/sites-available/ghost.linuxbuz.com.conf+ sudo ln -sf /etc/nginx/sites-available/ghost. linuxbuz.com.conf /etc/nginx/sites-enabled/ghost.linuxbuz.com.conf+ sudo nginx -s reload? SSL einrichten [übersprungen]? Möchten Sie Systemd einrichten? Ja+ sudo mv /tmp/ghost-linuxbuz-com/ghost_ghost-linuxbuz-com.service /lib/systemd/system/ghost_ghost-linuxbuz-com.service+ sudo systemctl daemon-reload? Einrichten von Systemd+ sudo systemctl is-active ghost_ghost-linuxbuz-com? Möchten Sie Ghost starten? (J/n)

An diesem Punkt ist Ghost installiert und gestartet.

Sichern Sie Ghost mit Let's Encrypt SSL

Als nächstes müssen Sie Ghost mit Let's Encrypt SSL sichern.

Installieren Sie zuerst den Certbot-Client mit dem folgenden Befehl:

sudo apt-get install certbot python3-certbot-nginx -y

Führen Sie nach der Installation den folgenden Befehl aus, um Let’s Encrypt SSL herunterzuladen und Nginx für die Verwendung dieses Zertifikats zu konfigurieren:

sudo certbot --nginx -d ghost.linuxbuz.com

Sie werden aufgefordert, Ihre E-Mail-Adresse anzugeben und die Nutzungsbedingungen wie unten gezeigt zu akzeptieren:

Speichern des Debug-Protokolls in /var/log/letsencrypt/letsencrypt.logAusgewählte Plugins:Authenticator nginx, Installer nginxE-Mail-Adresse eingeben (wird für dringende Verlängerungs- und Sicherheitshinweise verwendet) (Geben Sie „c“ zum Abbrechen ein):[email protected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bitte lesen Sie die Nutzungsbedingungen unter https://letsencrypt.org /documents/LE-SA-v1.2-November-15-2017.pdf. Sie müssen zustimmen, um sich beim ACME-Server unter https://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - zu registrieren - - - - - - - - - - - - - - -(A)gree/(C)cancel:A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wären Sie bereit, Ihre E-Mail-Adresse mit der Electronic Frontier Foundation, einem Gründungspartner des Let's Encrypt-Projekts und der gemeinnützigen Organisation, die Certbot entwickelt, zu teilen? Wir möchten Ihnen E-Mails über unsere Arbeit zur Verschlüsselung des Internets, EFF-Nachrichten, Kampagnen und Möglichkeiten zur Unterstützung der digitalen Freiheit senden.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/(N)o:YErhalten eines neuen ZertifikatsAusführen der folgenden Herausforderungen:http-01-Herausforderung für ghost.linuxbuz.comWarten auf Überprüfung...Reinigung upherausforderungenBereitstellen des Zertifikats auf VirtualHost /etc/nginx/sites-enabled/ghost.linuxbuz.com.conf

Wählen Sie als Nächstes aus, ob HTTP-Datenverkehr an HTTPS umgeleitet werden soll:

Bitte wählen Sie aus, ob der HTTP-Datenverkehr auf HTTPS umgeleitet werden soll oder nicht, und den HTTP-Zugriff entfernen.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1:Keine Umleitung – Nehmen Sie keine weiteren Änderungen an der Webserver-Konfiguration vor.2:Umleitung – Alle Anfragen werden auf sicheren HTTPS-Zugriff umgeleitet. Wählen Sie dies für neue Websites oder wenn Sie sicher sind, dass Ihre Website auf HTTPS funktioniert. Sie können diese Änderung rückgängig machen, indem Sie die Konfiguration Ihres Webservers bearbeiten. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Wählen Sie die entsprechende Nummer [1-2] und dann [enter] (drücken Sie 'c' zum Abbrechen):2

Geben Sie 2 ein und drücken Sie die Eingabetaste, um die Installation abzuschließen.

Umleitung des gesamten Datenverkehrs auf Port 80 zu SSL in /etc/nginx/sites-enabled/ghost.linuxbuz.com.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Herzliche Glückwünsche! Sie haben https://ghost.linuxbuz.com erfolgreich aktiviert. Sie sollten Ihre Konfiguration testen unter:https://www.ssllabs.com/ssltest/analyze.html?d=ghost.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -WICHTIGE HINWEISE:- Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden gespeichert unter:/etc/letsencrypt/live/ghost.linuxbuz.com/fullchain.pem Ihre Schlüsseldatei wurde gespeichert unter:/etc/letsencrypt/live/ghost.linuxbuz.com/privkey.pem Ihre Das Zertifikat läuft am 13.07.2021 ab. Um in Zukunft eine neue oder optimierte Version dieses Zertifikats zu erhalten, führen Sie einfach certbot erneut mit der Option „certonly“ aus. Um *alle* Ihre Zertifikate nicht interaktiv zu erneuern, führen Sie „certbot renew“ aus – Ihre Kontoanmeldeinformationen wurden in Ihrem Certbot-Konfigurationsverzeichnis unter /etc/letsencrypt gespeichert. Sie sollten jetzt ein sicheres Backup dieses Ordners erstellen. Dieses Konfigurationsverzeichnis enthält auch Zertifikate und private Schlüssel, die von Certbot erhalten wurden, daher ist es ideal, regelmäßige Backups dieses Ordners zu erstellen. - Wenn Sie Certbot mögen, erwägen Sie bitte, unsere Arbeit zu unterstützen, indem Sie:an ISRG / Let's Encrypt spenden:https://letsencrypt.org/donate an EFF spenden:https://eff.org/donate-le

Jetzt können Sie die Ghost-Website mit dem folgenden Befehl verifizieren;

Geister-LS

Sie sollten die folgende Ausgabe sehen:

+ sudo systemctl is-active ghost_ghost-linuxbuz-com???????????????????????????????????? ????????????????????????????????????????????? ??????????????????????????????????????? Name ? Standort ? Ausführung ? Stand ? URL ? Hafen ? Prozessmanager ???????????????????????????????????????????????? ????????????????????????????????????????????? ?????????????????????????????? ghost-linuxbuz-com ? /var/www/geist ? 4.2.1 ? läuft (Produktion) ? https://ghost.linuxbuz.com ? 2368 ? systemd ???????????????????????????????????????????????? ????????????????????????????????????????????? ??????????????????????????????

Sie können den Ghost-Dienst auch mit dem folgenden Befehl überprüfen:

sudo systemctl status ghost_ghost-linuxbuz-com

Sie sollten die folgende Ausgabe sehen:

? ghost_ghost-linuxbuz-com.service – Ghost-Systemdienst für Blog:ghost-linuxbuz-com Geladen:geladen (/lib/systemd/system/ghost_ghost-linuxbuz-com.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft ) seit Mi 2021-04-14 07:05:33 UTC; Vor 9 Minuten Dokumente:https://ghost.org/docs/ Haupt-PID:7546 (Knoten) Aufgaben:22 (Grenze:2353) Speicher:134,3 MB CGroup:/system.slice/ghost_ghost-linuxbuz-com.service ??7546 Ghost Run ??7590 /usr/bin/node current/index.jsApr 14 07:13:44 ubuntu node[7590]:[2021-04-14 07:13:44] INFO "GET /ghost/assets/img/ Dashboard/Startmitgliedschaft-baafa2c6558d118ae59cb1fddab045>Apr 14 07:13:44 ubuntu node[7590]:[2021-04-14 07:13:44] INFO "GET /ghost/assets/img/dashboard/the-browser-f5e7e199fe82d8435913e84d02 .pn> 14. April 07:13:44 ubuntu node[7590]:[2021-04-14 07:13:44] INFO "GET /ghost/assets/img/dashboard/join-community-bb5478f7dca6c04a2d0baf2b02f880fb> 14. April 07:13:44 ubuntu node[7590]:[2021-04-14 07:13:44] INFO "GET /ghost/api/canary/admin/members/?filter=status%3Apaid&order=created_at%20as>Apr 14 07:14:11 Ubuntu-Knoten[7590]:[2021-04-14 07:14:11] INFO "GET /" 200 475msApr 14 07:14:11 Ubuntu-Knoten[7590]:[2021-04-14 07:14:11] INFO "GET /" 200 480 ms 14. April 07:14:15 ubuntu node[7590]:[2021-04-14 07:14:15] INFO "GET /members/api/site/" 200 12msApr 14 07:14:18 ubuntu node[7590]:[2021-04-14 07 :14:18] INFO "GET /" 304 142msApr 14 07:14:25 ubuntu node[7590]:[2021-04-14 07:14:25] INFO "GET /members/api/site/" 304 4msApr 14 07:14:26 ubuntu node[7590]:[2021-04-14 07:14:26] INFO "GET /members/api/member/" 401 4ms

Auf die Ghost-Admin-Oberfläche zugreifen

Öffnen Sie nun Ihren Webbrowser und greifen Sie über die URL https://ghost.linuxbuz.com/ghost/ auf die Ghost-Administrationsoberfläche zu . Sie sollten die folgende Seite sehen:

Klicken Sie auf Konto erstellen Schaltfläche, um Ihr erstes Konto zu erstellen:

Geben Sie Ihre Kontodaten ein und klicken Sie auf Ich mache das später am unteren Rand des Bildschirms. Sie sollten die Ghost-Verwaltungsoberfläche auf der folgenden Seite sehen:

Sie können auch über die URL https://ghost.linuxbuz.com/ auf Ihre Ghost-Website zugreifen. Sie sollten die folgende Seite sehen:

Schlussfolgerung

Herzliche Glückwünsche! Sie haben die Ghost-Blogging-Plattform erfolgreich auf Ubuntu 20.04 installiert. Sie können jetzt Ihre eigenen Inhalte über die Ghost-Oberfläche erstellen und veröffentlichen.


Ubuntu
  1. So installieren Sie MediaWiki mit Nginx unter Ubuntu 16.04

  2. So installieren Sie Magento mit Nginx unter Ubuntu 15.10

  3. So installieren Sie Nginx mit Google PageSpeed ​​unter Ubuntu 20.04

  4. So stellen Sie Modsecurity mit Nginx auf Ubuntu 20.04 LTS bereit

  5. So stellen Sie die Flask-Anwendung mit Nginx und Gunicorn unter Ubuntu 20.04 bereit

So richten Sie das LibreNMS-Überwachungstool mit Nginx unter Ubuntu 20.04 ein

So installieren Sie Craft CMS mit Nginx unter Ubuntu 20.04

So installieren Sie Nginx mit ModSecurity unter Ubuntu 15.04

So installieren Sie MediaWiki mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04

So aktualisieren Sie Ubuntu mit einem einzigen Befehl

Wie stellt man die Laravel-Anwendung mit Nginx auf Ubuntu bereit?