Dieses Tutorial zeigt Ihnen, wie Sie die Ghost-Blogging-Plattform auf einem Ubuntu-Server installieren. Ghost ist eine in Node.js codierte Open-Source-Blogging-Software, mit der Sie moderne, schöne Blogs erstellen können. Im Vergleich zu WordPress ist Ghost leichtgewichtig und viel schneller, da es speziell für das Bloggen entwickelt wurde und kein umfassendes Content-Management-System wie WordPress ist.
Geisterfunktionen
Zum Zeitpunkt des Verfassens dieses Artikels ist die neueste Version von Ghost v3.2.0, veröffentlicht am 23. Dezember 2019. Funktionen von Ghost sind wie folgt:
- Ein Markdown-basierter Editor, mit dem Sie schnell Beiträge schreiben können.
- Einfache Inhaltsverwaltung.
- Gemeinsame Bearbeitung mit Ihrem Team.
- Geplante Veröffentlichung
- Integrierte Analysen
- Richtiges SEO direkt integriert, mit semantischem Markup, Permalinks, XML-Sitemaps, kanonischen Tags und automatischen Metadaten mit manuellen Überschreibungen.
- Integrierte AMP-Unterstützung (Accelerated Mobile Pages)
- Vollständige RSS-Feeds, Erfassungsformulare für E-Mail-Abonnements und Slack-Webhook-Integration
- Hunderte schöne kostenlose und Premium-Designs sind auf dem Ghost-Marktplatz verfügbar
- Ein gut aussehender Standarddesign-Capser mit Unterstützung für den Dunkelmodus.
- Eine plattformübergreifende Desktop-App, die für Linux, Mac und Windows verfügbar ist.
- Mit dem offiziellen WordPress-Plug-in Ghost Migrator können Sie ganz einfach von WordPress zu Ghost migrieren.
Die Ghost Foundation bietet verwaltetes Hosting an, aber hier werden wir sehen, wie man einen selbst gehosteten Ghost-Blog auf einem Ubuntu-Server erstellt.
Voraussetzungen für die Installation von Ghost auf Ubuntu Server
Um einen Ghost-Blog zu betreiben, benötigen Sie einen Server mit mindestens 1 GB RAM. Sie können auf diesen speziellen Link klicken, um ein kostenloses Guthaben von 50 $ auf DigitalOcean zu erhalten. (Nur für neue Benutzer). Wenn Sie bereits DigitalOcean-Benutzer sind, können Sie auf diesen speziellen Link klicken, um ein kostenloses Guthaben von 50 $ für Vultr zu erhalten (nur für neue Benutzer). Sobald Sie ein Konto bei DigitalOcean oder Vultr haben, installieren Sie Ubuntu auf Ihrem Server und folgen Sie den Anweisungen unten. Für beste Kompatibilität verwenden Sie bitte die LTS-Version von Ubuntu wie Ubuntu 18.04 oder 16.04.
Sie müssen auch einen Domänennamen haben. Ich habe meinen Domainnamen bei NameCheap registriert, weil der Preis niedrig ist und sie lebenslangen Whois-Datenschutz kostenlos anbieten.
Hinweis :Ich habe Ghost mit einem sudo-Benutzer auf Ubuntu installiert. Um die besten Ergebnisse zu erzielen, sollten Sie dieses Tutorial auch mit einem sudo-Benutzer und nicht mit root befolgen. Um einen sudo-Benutzer hinzuzufügen, führen Sie einfach
aussudo adduser Benutzernamensudo adduser Benutzername sudo
Wechseln Sie dann zum neuen Benutzer.
su - Benutzername
Schritt 1:Ubuntu aktualisieren
Wenn Ihr Server einige Zeit nicht aktualisiert wurde, führen Sie den folgenden Befehl aus, um vorhandene Softwarepakete zu aktualisieren.
sudo apt update;sudo apt upgrade
Schritt 2:Installieren Sie Node.js auf Ubuntu
Ghost erfordert die Installation der LTS-Version von Node.js und unterstützt keine Nicht-LTS-Version. Die neueste LTS-Version von Node.js ist v12.x, aber derzeit ist Ghost besser mit Node.js v10.x kompatibel. Fügen Sie das NodeSource-Repository mit dem folgenden Befehl hinzu.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Installieren Sie dann Node.js.
sudo apt install nodejs
Node-Version prüfen.
Knoten -v
Beispielausgabe:
v10.18.1
Überprüfen Sie npm
Version:
npm -v
Beispielausgabe:
6.13.4
Schritt 3:MariaDB-Datenbankserver installieren
unterstützt MySQL und MariaDB. MariaDB ist ein Drop-in-Ersatz für MySQL. Es wurde von ehemaligen Mitgliedern des MySQL-Teams entwickelt, die befürchten, dass Oracle MySQL in ein Closed-Source-Produkt verwandeln könnte. Lassen Sie uns also den MariaDB-Datenbankserver installieren.
Geben Sie den folgenden Befehl ein, um es unter Ubuntu 18.04/20.04 zu installieren.
sudo apt install mariadb-server mariadb-client
Nach der Installation sollte der MariaDB-Server automatisch gestartet werden. Verwenden Sie systemctl um seinen Status zu überprüfen.
systemctl status mariadb
Beispielausgabe:
● mariadb.service - MariaDB 10.1.34 Datenbankserver Geladen:geladen (/lib/systemd/system/mariadb.service; aktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Sa 2018-09-08 11 :13:27 UTC; vor 21s Docs:man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Haupt-PID:3473 (mysqld) Status:„Nehmen Sie jetzt Ihre SQL-Anfragen entgegen …“ Aufgaben:27 (limit :505) CGroup:/system.slice/mariadb.service └─3473 /usr/sbin/mysqld
Wenn es nicht läuft, starten Sie es mit diesem Befehl:
sudo systemctl start mariadb
Damit MariaDB beim Systemstart automatisch startet, führen Sie
aussudo systemctl enable mariadb
Führen Sie nun das Sicherheitsskript nach der Installation aus.
sudo mysql_secure_installation
Wenn Sie aufgefordert werden, das MariaDB-Root-Passwort einzugeben, drücken Sie die Eingabetaste, da das Root-Passwort noch nicht festgelegt ist. Geben Sie dann y
ein um das Root-Passwort für den MariaDB-Server festzulegen.
Als nächstes können Sie die Eingabetaste drücken, um alle verbleibenden Fragen zu beantworten, wodurch der anonyme Benutzer entfernt, die Remote-Root-Anmeldung deaktiviert und die Testdatenbank entfernt wird. Dieser Schritt ist eine Grundvoraussetzung für die MariaDB-Datenbanksicherheit. (Beachten Sie, dass der Buchstabe Y
wird groß geschrieben, was bedeutet, dass es die Standardantwort ist.)
Überprüfen Sie die Versionsinformationen des MariaDB-Servers.
mariadb --version
Ausgabe:
mariadb Ver 15.1 Distrib 10.1.34-MariaDB, für debian-linux-gnu (x86_64) unter Verwendung von readline 5.2
Schritt 4:Erstellen Sie eine Datenbank und einen Benutzer für Ghost
Jetzt müssen wir uns bei der MariaDB-Konsole anmelden und eine Datenbank und einen Benutzer für Ghost erstellen. Standardmäßig verwendet das MaraiDB-Paket auf Ubuntu unix_socket um die Benutzeranmeldung zu authentifizieren, was im Grunde bedeutet, dass Sie den Benutzernamen und das Passwort des Betriebssystems verwenden können, um sich bei der MariaDB-Konsole anzumelden. Sie können also den folgenden Befehl ausführen, um sich anzumelden, ohne das MariaDB-Root-Passwort anzugeben.
sudo mariadb -u root
Erstellen Sie mit dem folgenden Befehl eine Datenbank für Ghost. Ich habe es ghost
genannt , aber Sie können einen beliebigen Namen verwenden. (Lassen Sie das Semikolon nicht aus.)
Datenbank-Ghost erstellen;
Geben Sie dann den folgenden Befehl ein, um einen Datenbankbenutzer für Ghost zu erstellen und dem Benutzer alle Berechtigungen der Ghost-Datenbank zu gewähren.
gewähren Sie Ghost@localhost, der durch 'ghost_password' identifiziert wird, alle Privilegien auf ghost.*;
Leeren Sie die Berechtigungstabelle, damit die Änderungen wirksam werden, und verlassen Sie dann die MariaDB-Konsole.
Privilegien leeren;exit;
Schritt 5:Nginx-Webserver installieren
Ghost verwendet den Nginx-Webserver, führen Sie also den folgenden Befehl aus, um ihn aus dem standardmäßigen Ubuntu-Repository zu installieren.
sudo apt install nginx
Wenn Sie die UFW-Firewall verwenden, müssen Sie auch Port 80 und 443 öffnen.
sudo ufw allow 80/tcpsudo ufw allow 443/tcp
Schritt 6:Erstellen Sie einen Eintrag für Ihren Blog-Domainnamen
Vor der Installation von Ghost wird empfohlen, dass Sie den DNS-A-Eintrag für Ihren Blog-Domainnamen erstellen. Der A-Eintrag verweist Ihren Domänennamen auf die IP-Adresse Ihres Ubuntu-Servers.
Schritt 7:Ghost installieren
Ghost-CLI installieren.
sudo npm install [email protected] -g
Erstellen Sie dann ein Verzeichnis (/var/www/ghost/
) für Ghost.
sudo mkdir -p /var/www/ghost/
Gewähren Sie Ihrem Benutzerkonto Berechtigungen. Ersetzen Sie username
mit Ihrem echten Benutzernamen.
sudo apt install aclsudo setfacl -R -m u:username:rwx /var/www/ghost/sudo chmod 775 /var/www/ghost
Ändern Sie nun das Arbeitsverzeichnis in /var/www/ghost/
und Ghost installieren.
cd /var/www/ghost/ghost install
Die Installation kann eine Weile dauern. Während der Installation werden Sie aufgefordert, Ihre Blog-URL einzugeben. Geben Sie etwas wie https://yourdomain.com
ein . Und Sie müssen den MariaDB-Datenbanknamen und die Benutzeranmeldeinformationen eingeben, die Sie in Schritt 4 erstellt haben.
Wenn Sie Ubuntu 20.04 verwenden und die folgende Meldung sehen, können Sie sie ignorieren und mit der Installation fortfahren.
Systemprüfungen fehlgeschlagen mit Meldung:'Linux-Version ist nicht Ubuntu 16 oder 18' Einige Funktionen von Ghost-CLI funktionieren möglicherweise nicht ohne zusätzliche Konfiguration. Für lokale Installationen empfehlen wir stattdessen die Verwendung von `ghost install local`.
Ein ghost
Systembenutzer wird automatisch erstellt. Es wird empfohlen, dass Sie der Einrichtung von Nginx und SSL zustimmen, damit Ihr Blog über das sichere HTTPS-Protokoll verfügbar ist. Akzeptieren Sie außerdem die Einrichtung des Systemd-Dienstes, damit Sie Ghost einfach starten, stoppen oder neu starten können.
Sobald Ghost erfolgreich installiert wurde, gehen Sie zu https://yourdomain.com/ghost
um die Einrichtung abzuschließen. Zuerst müssen Sie ein Konto erstellen.
Anschließend können Sie einige Mitarbeiter zu Ihrem Ghost-Blog einladen oder dies später tun.
Schritt 8:Bearbeiten Sie die Nginx-Konfigurationsdatei
Standardmäßig enthält die Nginx-Konfigurationsdatei für Ghost einen Domänennamen. Wenn Sie möchten, dass Nginx sowohl die www-Domäne als auch die Nicht-www-Domäne bedient, bearbeiten Sie die Konfigurationsdatei.
sudo nano /etc/nginx/sites-enabled/yourdomain.com.conf
Suchen Sie die folgende Zeile
Servername IhreDomain.com;
Fügen Sie die www-Domain hinzu.
Servername IhreDomain.com www.IhreDomain.com;
Speichern und schließen Sie die Datei. Löschen Sie dann die /etc/nginx/sites-enabled/yourdomain.com-ssl.conf
Datei.
sudo rm /etc/nginx/sites-enabled/yourdomain.com-ssl.conf
Installieren Sie dann den Certbot Let’s Encrypt-Client
sudo apt install certbot python3-certbot-nginx
Fordern Sie ein SSL-Zertifikat sowohl für die www-Domäne als auch für die Nicht-www-Domäne an.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d yourdomain.com,www.yourdomain.com
Starten Sie Nginx neu und Sie sind fertig.
sudo systemctl restart nginx
Schritt 9:E-Mail-Benachrichtigung einrichten
Um E-Mails von Ihrem Ghost-Blog zu senden (zum Zurücksetzen des Passworts, zum Einladen von Mitarbeiterbenutzern, zum Anmelden von Mitgliedern usw.), müssen Sie die SMTP-Einstellungen konfigurieren. Wenn Sie Ihren eigenen E-Mail-Server verwenden möchten, lesen Sie bitte das folgende Tutorial, um Ihren eigenen E-Mail-Server einfach einzurichten.
- So richten Sie mit iRedMail ganz einfach Ihren eigenen E-Mail-Server unter Ubuntu 18.04 ein
Sobald Sie Ihren eigenen E-Mail-Server haben, bearbeiten Sie die Ghost-Konfigurationsdatei.
sudo nano /var/www/ghost/config.production.json
Standardmäßig sind die E-Mail-Einstellungen wie folgt:
"mail":{ "transport":"Direct"},
Ändern Sie es, um SMTP zu verwenden.
"mail":{ "transport":"SMTP", "from":"[email protected]", "options":{ "service":"yourdomain.com", "host":"mail.yourdomain .com", "Port":465, "secureConnection":true, "auth":{ "user":"[email protected]", "pass":"the_email_account_password" } }},
Beachten Sie, dass Ghost Port 587 für SMTP nicht unterstützt. Speichern und schließen Sie die Datei. Starten Sie dann Ghost über den systemd-Dienst neu.
sudo systemctl restart ghost_yourdomain-com.service
Jetzt sollte Ihr Ghost-Blog in der Lage sein, E-Mails zu versenden.