Geist ist eine vollständig Open-Source-Blogging-Plattform (MIT-Lizenz), die seit ihrer Veröffentlichung im Jahr 2013 bei Entwicklern und normalen Benutzern immer beliebter wird. Ghost-Quellcode ist öffentlich auf GitHub verfügbar. Ghost nimmt im Allgemeinen etwa ~300 MB in Anspruch von RAM um gut zu laufen, also kann es auf bescheidener Hardware laufen. Der Fokus liegt auf Inhalten und Bloggen . Das Attraktivste an Ghost ist sein einfaches, sauberes, elegantes und ansprechendes Design. Sie können Ihre Blog-Beiträge von einem Mobiltelefon aus schreiben. Inhalte für Ghost werden mit der Markdown-Sprache geschrieben und formatiert. Ghost eignet sich perfekt für Einzelpersonen oder kleine Gruppen von Autoren. Ghost bietet auch integrierte Unterstützung für Accelerated Mobile Pages (AMP )-Projekt, mit dem Ihr Blog blitzschnell auf Mobiltelefone geladen werden kann.
Kürzlich haben die Ghost-Entwickler die erste große, stabile Version von Ghost veröffentlicht – 1.0.0. Ghost 1.0.0 hat viele neue Funktionen eingeführt und die bemerkenswertesten unter ihnen sind:ein brandneuer Markdown-Editor, eine aktualisierte Benutzeroberfläche (UI ), neues Standarddesign, neuer und verbesserter Installations- und Aktualisierungsprozess mit Ghost-CLI Werkzeug.
In diesem Tutorial werden wir mithilfe der Ghost-CLI von Ghost einen sicheren Ghost-Blog einrichten und bereitstellen Tool auf einem Ubuntu 18.04 LTS Server mit Let's Encrypt , Acme.sh , Node.js , npm , Garn , NGINX und MySQL /MariaDB .
Anforderungen
- Domänenname. In dieser Anleitung wird die Domain example.com verwendet.
- Ein Server mit Ubuntu 18.04 LTS mit 1 GB oder RAM.
- Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.
Erste Schritte
Überprüfen Sie Ihre Ubuntu-Version:
lsb_release -ds
# Ubuntu 18.04 LTS
Richten Sie die Zeitzone ein:
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Aktualisieren Sie die Pakete Ihres Betriebssystems:
sudo apt update &&sudo apt upgrade -y
Installieren Sie build-essential
Paket:
sudo apt install -y build-essential
Schritt 1 – Node.js und npm installieren
HINWEIS :Die neueste Version von Ghost 1.0.0 unterstützt derzeit Node.js-Versionen 8.9+ und 6.9+ nur.
Ghost basiert auf Node.js. Wir werden empfohlen installieren Version für Ghost, die v8 Carbon LTS ist zum Zeitpunkt dieses Schreib-Tutorials. Unter Linux haben Sie einige Installationsoptionen:Linux-Binärdateien (x86/x64), Quellcode oder über Paketmanager. Wir werden die Package Manager-Methode verwenden, indem wir das Nodesource-Repository verwenden.
Laden Sie die neueste Langzeit-Support-Version herunter und installieren Sie sie (LTS ) Version (Release) von Node.js:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs
HINWEIS :npm wird mit Node.js verteilt – was bedeutet, dass Sie beim Herunterladen von Node.js automatisch npm auf Ihrem Computer installieren.
Überprüfen Sie die Version von Node.js und npm:
node -v &&npm -v
# v8.11.2
# 5.6.0
Npm ist ein separates Projekt von Node.js und wird tendenziell häufiger aktualisiert. Daher müssen Sie wahrscheinlich Ihr npm aktualisieren, selbst wenn Sie gerade Node.js (und damit npm) heruntergeladen haben. Glücklicherweise weiß npm, wie es sich selbst aktualisiert! Um Ihr npm zu aktualisieren, geben Sie Folgendes in Ihr Terminal ein:
sudo npm install -g [email protected]
Überprüfen Sie die npm-Version erneut, es sollte die neueste Version sein:
npm -v
# 6.1.0
Schritt 2 – MariaDB-Server installieren
Ghost unterstützt MySQL/MariaDB- und SQLite-Datenbanken. In diesem Tutorial verwenden wir jedoch die MariaDB-Datenbank. Wenn Sie möchten, können Sie MySQL anstelle von MariaDB verwenden.
Laden Sie die neueste stabile Version des MariaDB-Servers aus dem MariaDB-Repository herunter und installieren Sie sie auf Ihrem Computer:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt -repository 'deb [arch=amd64] https://mirrors.nxthost.com/mariadb/repo/10.3/ubuntu bionic main'
sudo apt update
sudo apt install -y mariadb-serverWährend des MariaDB-Installationsprozesses werden Sie aufgefordert, MariaDB
root
einzugeben Benutzer-Passwort. Sie sollten ein sicheres Passwort eingeben.
Überprüfen Sie MariaDB-Version:
mysql --version &&sudo mysqld --version
# mysql Ver 15.1 Distrib 10.3.7-MariaDB, für debian-linux-gnu (x86_64) unter Verwendung von readline 5.2
# mysqld Ver 10.3.7 -MariaDB-1:10.3.7+maria~bionic-log für debian-linux-gnu auf x86_64 (Mariadb.org-Binärdistribution)Prüfen Sie, ob der MariaDB-Daemon gestartet wurde und ausgeführt wird:
sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.serviceFühren Sie die
mysql_secure_installation
aus Dienstprogramm (Skript) zur Verbesserung der Sicherheit Ihrer MariaDB-Installation:sudo mysql_secure_installation
# Aktuelles Passwort für Root eingeben (Eingabe für keins):
# Das Root-Passwort ändern? [Y/n] N
# Anonyme Nutzer entfernen? [Y/n] Y
# Root-Anmeldung aus der Ferne nicht zulassen? [Y/n] Y
# Testdatenbank und Zugriff darauf entfernen? [Y/n] Y
# Berechtigungstabellen jetzt neu laden? [Y/n] Y
# Erfolgreich.
# Alles erledigt! Wenn Sie alle oben genannten Schritte ausgeführt haben, sollte Ihre MariaDB
Installation jetzt sicher sein.
# Vielen Dank, dass Sie MariaDB verwenden!Melden Sie sich bei der MariaDB-Befehlszeile als MariaDB
root
an (verbinden). Benutzer:mysql -u root -pErstellen Sie eine neue MariaDB-Datenbank und einen neuen Benutzer für die Ghost-Installation. Dieser Schritt ist optional, da das Ghost-CLI-Tool in einem späteren Schritt eine Datenbank für Sie erstellen kann. Sie müssen nur die MariaDB-Root-Benutzeranmeldeinformationen (Benutzername und Passwort) eingeben, wenn Sie von Ghost-CLI während der Installation von Ghost dazu aufgefordert werden:
mysql> CREATE DATABASE dbname;
mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL ON dbname.* TO 'username'@'localhost';
mysql> FLUSH-RECHTE;Verlassen (Trennen) von MariaDB:
mysql> EXIT;Schritt 3 – NGINX installieren
NGINX (engine-x) ist ein leistungsstarker Webserver, Load Balancer, Cache und Proxy-Server, der in allen Umgebungen gut funktioniert:Bare Metal, Public/Private/Hybrid Cloud und Container. NGINX wird als Reverse-Proxy für unsere Ghost-Anwendung verwendet.
NGINX kann je nach Betriebssystem unterschiedlich installiert werden. Für Linux können NGINX-Pakete von nginx.org verwendet werden.
Laden Sie die neueste Mainline herunter und installieren Sie sie (für die meisten Bereitstellungen empfohlen ) Veröffentlichung von NGINX und dynamisch ladbare Module direkt aus dem offiziellen NGINX-Repository:
wget https://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
rm nginx_signing.key
sudo -s
printf " deb https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\ndeb-src https://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx\n">> /etc/apt/sources.list.d/nginx_mainline.list
exit
sudo apt update
sudo apt install -y nginx nginx-modul-geoip nginx-modul-image-filter nginx-module-njs nginx-module-perl nginx-module-xsltVergewissern Sie sich, dass NGINX installiert ist, indem Sie seine Version prüfen:
sudo nginx -v &&sudo nginx -V
# nginx-Version:nginx/1.15.0
# nginx-Version:nginx/1.15.0NGINX starten und aktivieren:
sudo systemctl start nginx.service
sudo systemctl enable nginx.serviceErstellen Sie
/etc/nginx/snippets, /etc/nginx/ssl
,/etc/nginx/sites-available
und/etc/nginx/sites-enabled
Verzeichnisse. Diese Verzeichnisse werden benötigt, damit das Ghost-CLI-Tool korrekt funktioniert:
sudo mkdir -p /etc/nginx/{snippets,ssl,sites-available,sites-enabled}Zu
include /etc/nginx/sites-enabled/*.conf;
hinzufügen Anweisung zunginx.conf
Datei, führe aus:sudo vim /etc/nginx/nginx.conf
Datei speichern und Vim-Editor verlassen.
Schritt 4 – Garn installieren (optional)
Laden Sie den Yarn Package Manager herunter und installieren Sie ihn auf Ihrem System:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update &&sudo apt install -y GarnÜberprüfen Sie die Garnversion:
yarn --version
# 1.7.0Schritt 5 – Ghost-CLI installieren
Ghost-CLI ist ein Befehlszeilenschnittstellentool (CLI), das die Installation und Aktualisierung von Ghost vereinfacht. Es richtet die Datenbank ein, konfiguriert NGINX als Reverse-Proxy, aktiviert TLS/SSL-Sicherheit mit Let’s Encrypt CA, erneuert automatisch Ihr SSL und initialisiert Ghost als systemd-Dienst. Ghost-CLI ist ein npm-Modul, das entweder über
npm
installiert werden kann oderyarn
.Laden Sie das Ghost-CLI-Tool herunter und installieren Sie es:
sudo npm install -g [email protected]
# oder mit Yarn
sudo wool global add [email protected]Überprüfen Sie die Ghost-CLI-Version:
Ghost-Version
# Ghost-CLI-Version:1.8.1Beheben Sie das System auf potenzielle Probleme bei der Installation oder Aktualisierung von Ghost:
Ghost Doctor installierenSchritt 6 – Ghost installieren
Als nächstes werden wir Ghost mit dem Ghost-CLI-Tool installieren.
Erstellen Sie zuerst ein leeres Stammverzeichnis für Dokumente:
sudo mkdir -p /var/www/example.comÄndern Sie die Inhaberschaft von
/var/www/example.com
Verzeichnis für den Nicht-Root-Benutzer mitsudo
Berechtigungen, die Sie erstellt haben. In diesem Beispiel johndoe:sudo chown johndoe:johndoe /var/www/example.comIhr Installationsordner muss die richtigen Berechtigungen haben:
sudo chmod 755 /var/www/example.comNavigieren Sie zum Ghost-Stammverzeichnis:
cd /var/www/example.comStellen Sie sicher, dass das Verzeichnis leer ist, um Dateikonflikte zu vermeiden:
ls -aInstallieren Sie Ghost im Produktionsmodus, indem Sie Folgendes ausführen:
GeisterinstallationBeantworten Sie jede Frage nach Aufforderung:
? Enter your blog URL: https://example.com ? Enter your MySQL hostname: localhost ? Enter your MySQL username: root ? Enter your MySQL password: your_mysql_root_user_password_here ? Enter your Ghost database name: database_name_for_ghost
? Do you wish to set up "ghost" mysql user? yes ? Do you wish to set up Nginx? yes ? Do you wish to set up SSL? yes ? Enter your email (used for Let's Encrypt notifications) [email protected] ? Do you wish to set up Systemd? yes ? Do you want to start Ghost? yesFühren Sie nach Abschluss der Installation
ausGeister-LSum laufende Ghost-Prozesse anzuzeigen.
Um Ihr Ghost-Blog in Zukunft zu aktualisieren, wenn eine neuere Version veröffentlicht wird, müssen Sie nur
ausführenGeisteraktualisierungBefehl aus dem Ghost-Installationsverzeichnis und Ghost-CLI kümmert sich um alles für Sie.
Schritt 7 – Ghost-Setup abschließen
Navigieren Sie zum Abschließen des Einrichtungsvorgangs zur Ghost-Konfigurationsseite, indem Sie
/ghost
anhängen an das Ende der URL oder IP Ihres Blogs. Dieses Beispiel verwendethttps://example.com/ghost
.
Klicken Sie auf dem Willkommensbildschirm auf Konto erstellen :
Geben Sie Ihre E-Mail-Adresse ein, erstellen Sie einen Benutzer, ein Passwort und einen Blog-Titel:
Laden Sie weitere Mitglieder in Ihr Team ein. Wenn Sie diesen Schritt lieber überspringen möchten, klicken Sie auf Ich mache das später, bring mich zu meinem Blog! unten auf der Seite.
Navigieren Sie im Ghost-Verwaltungsbereich, um Ihren ersten Beitrag zu erstellen, das Design Ihrer Website zu ändern oder zusätzliche Einstellungen zu konfigurieren:
Herzlichen Glückwunsch! Sie haben die Ghost-Blogging-Plattform erfolgreich auf dem Ubuntu 18.04 LTS-Server installiert und bereitgestellt.