Wie man Ghost Blog mit Nginx auf Ubuntu 18.04 LTS einsetzt.

Ghost ist eine komplett Open Source (MIT-Lizenz) Blogging-Plattform, die seit der Veröffentlichung im Jahr 2013 bei Entwicklern und normalen Anwendern an Popularität gewinnt. Ghost Quellcode ist auf GitHub öffentlich verfügbar und benötigt in der Regel ca. 300 MB RAM, um gut zu laufen, so dass er auf bescheidener Hardware laufen kann. Es konzentriert sich auf Inhalte und Blogging. Das Schönste an Ghost ist sein schlichtes, klares, elegantes und ansprechendes Design. Du kannst deine Blog-Einträge von einem Handy aus schreiben. Inhalte für Ghost werden mit der Markdown-Sprache geschrieben und formatiert, Ghost ist perfekt für Einzelpersonen oder kleine Gruppen von Autoren geeignet. Ghost hat auch eine integrierte Unterstützung für das Accelerated Mobile Pages (AMP)-Projekt, das das Laden Ihres Blogs blitzschnell auf Handys ermöglicht.

Vor kurzem haben die Ghost-Entwickler die erste große, stabile Version von Ghost – 1.0.0.0 veröffentlicht. Ghost 1.0.0.0 hat viele neue Funktionen eingeführt und die bemerkenswertesten unter ihnen sind: brandneuer Markdown-Editor, aktualisierte Benutzeroberfläche (UI), neues Standard-Design, neuer und verbesserter Installations- und Aktualisierungsprozess mit dem Ghost-CLI-Tool.

Ghost Blog und CMS

In diesem Tutorial werden wir mit Hilfe von Ghost’s Ghost-CLI-Tool auf einem Ubuntu 18.04 LTS-Server mit Let’s Encrypt, Acme.sh, Node.js, npm, Yarn, NGINX und MySQL/MariaDB einen sicheren Ghost-Blog einrichten und bereitstellen.

Anforderungen

  • Domainname. In diesem Tutorial wird die Domäne example.com verwendet.
  • Ein Server mit Ubuntu 18.04 LTS mit 1GB oder RAM.
  • Ein Nicht-Root-Benutzer mit sudo-Rechten.

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

Installierenbuild-essentialPaket:

sudo apt install -y build-essential

Schritt 1 – Installieren Sie Node.js und npm.

HINWEIS: Der neueste Ghost 1.0.0 unterstützt derzeit nur die Node.js Versionen 8.9+ und 6.9+.

Ghost basiert auf Node.js.. Wir werden die Installation vonempfohlenVersion für Ghost, das istv8 Kohlenstoff LTSzum Zeitpunkt dieses Schreib-Tutorials. Unter Linux haben Sie einige Installationsoptionen: Linux Binaries (x86/x64), Quellcode oder über Paketmanager. Wir werden die Package Manager-Methode verwenden, indem wir das Nodesource-Repository verwenden.

Laden Sie den neuesten Langzeit-Support herunter und installieren Sie ihn (LTS) Version (Freigabe) 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 – das bedeutet, dass Sie beim Herunterladen von Node.js automatisch npm auf Ihrem Computer installiert bekommen.

Überprüfen Sie Node.js und npm.Version:

node -v && npm -v
# v8.11.2
# 5.6.0

Npm ist ein von Node.js getrenntes Projekt und wird tendenziell häufiger aktualisiert. Daher müssen Sie, auch wenn Sie gerade Node.js (und damit npm) heruntergeladen haben, wahrscheinlich Ihre npm aktualisieren. Zum Glück weiß npm, wie man sich selbst aktualisiert! Um Ihre npm zu aktualisieren, geben Sie diese in Ihr Terminal ein:

sudo npm install -g npm@latest

Ü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/MariaDBund SQLiteDatenbanken. In diesem Tutorial werden wir jedoch die MariaDB verwenden.Datenbank. Wenn Sie es vorziehen, können Sie MySQL anstelle von MariaDB verwenden..

Laden Sie die neueste stabile Version des MariaDB-Servers herunter und installieren Sie sie.aus der MariaDBRepository auf Ihrer Maschine:

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-server

Während des MariaDB-Installationsprozesses werden Sie aufgefordert, MariaDB zu betreten.rootBenutzerpasswort. Du solltest ein sicheres Passwort eingeben.

MariaDB-Datenbank installieren

Überprüfen Sie die MariaDB-Version:

mysql --version && sudo mysqld --version
# mysql  Ver 15.1 Distrib 10.3.7-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
# mysqld  Ver 10.3.7-MariaDB-1:10.3.7+maria~bionic-log for debian-linux-gnu on x86_64 (mariadb.org binary distribution)

Überprüfen Sie, ob der MariaDB-Daemon gestartet ist und läuft:

sudo systemctl status mysql.service
sudo systemctl is-enabled mysql.service

Führen Sie diemysql_secure_installationDienstprogramm (Skript), um die Sicherheit Ihrer MariaDB-Installation zu verbessern:

sudo mysql_secure_installation

# Enter current password for root (enter for none):

# Change the root password? [Y/n] N
# Remove anonymous users? [Y/n] Y
# Disallow root login remotely? [Y/n] Y
# Remove test database and access to it? [Y/n] Y
# Reload privilege tables now? [Y/n] Y
# Success.

# All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

# Thanks for using MariaDB!

Melden Sie sich auf der MariaDB-Befehlszeile als MariaDB an (verbinden).rootBenutzer:

mysql -u root -p

Erstellen 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 lediglich die MariaDB root-Benutzerdaten (Benutzername und Passwort) eingeben, wenn Sie von Ghost-CLI während der Installation von Ghost gefragt werden:

mysql> CREATE DATABASE dbname;
mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL ON dbname.* TO 'username'@'localhost';
mysql> FLUSH PRIVILEGES;

Beenden (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 neuesten Versionen herunter und installieren Sie sie.Hauptlinie(empfohlen für die meisten Implementierungen) Freigabe von NGINX und dynamisch ladbaren Modulen 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-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt

Überprüfen Sie, ob NGINX installiert ist, indem Sie die Version überprüfen:

sudo nginx -v && sudo nginx -V
# nginx version: nginx/1.15.0
# nginx version: nginx/1.15.0

Starten und aktivieren Sie NGINX:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Erstellen..,/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}

Hinzufügen zuinclude /etc/nginx/sites-enabled/*.conf;Anweisung annginx.confDatei, Ausführen:

sudo vim /etc/nginx/nginx.conf

Nginx-Webserver installieren

Speichern Sie die Datei und beenden Sie den Vim-Editor.

Schritt 4 – Garn installieren (optional)

Laden Sie Yarn herunter und installieren Sie es.Paketmanager 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 yarn

Garnversion prüfen:

yarn --version
# 1.7.0

Schritt 5 – Installation von Ghost-CLI

Ghost-CLI ist ein Kommandozeilenprogramm (CLI), das die Installation und Aktualisierung von Ghost einfach macht. 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 Systemdienst. Ghost-CLI ist ein npm-Modul, das installiert werden kann über entwedernpmoderyarn.

Herunterladen und Installieren des Ghost-CLI-Tools:

sudo npm install -g ghost-cli@latest
# or with Yarn
sudo yarn global add ghost-cli@latest

Ghost-CLI prüfenVersion:

ghost version
# Ghost-CLI version: 1.8.1

Beheben Sie das System bei möglichen Problemen bei der Installation oder Aktualisierung von Ghost:

ghost doctor install

Schritt 6 – Ghost installieren

Als nächstes werden wir Ghost mit dem Ghost-CLI-Tool installieren.

Erstellen Sie zunächst ein leeres Wurzelverzeichnis für Dokumente:

sudo mkdir -p /var/www/example.com

Wechseln Sie den Eigentümer des/var/www/example.comVerzeichnis an den Nicht-Root-Benutzer mitsudoPrivilegien, die Sie erstellt haben. In diesem Beispiel ist johndoe:

sudo chown johndoe:johndoe /var/www/example.com

Ihr Installationsordner muss über die richtigen Berechtigungen verfügen:

sudo chmod 755 /var/www/example.com

Navigieren Sie zum Stammverzeichnis von Ghost:

cd /var/www/example.com

Stellen Sie sicher, dass das Verzeichnis leer ist, um Dateikonflikte zu vermeiden:

ls -a

Installieren Sie Ghost im Produktionsmodus, indem Sie es ausführen:

ghost install

Beantworten Sie jede Frage wie gewünscht:

? 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) user@example.com
? Do you wish to set up Systemd? yes
? Do you want to start Ghost? yes

Nachdem die Installation abgeschlossen ist, führen Sie Folgendes aus

ghost ls

um laufende Ghost-Prozesse anzuzeigen.

In Zukunft, um Ihren Ghost-Blog zu aktualisieren, wenn eine neuere Version veröffentlicht wird, müssen Sie nur noch Folgendes ausführen

ghost update

Befehl, aus dem Ghost-Installationsverzeichnis und Ghost-CLI kümmert sich um alles für Sie.

Schritt 7 – Vollständige Ghost-Einrichtung

Um den Einrichtungsprozess abzuschließen, navigieren Sie zur Konfigurationsseite Ghost, indem Sie Folgendes anhängen/ghostbis zum Ende der URL oder IP Ihres Blogs. In diesem Beispiel wirdhttps://example.com/ghost.

Klicken Sie auf dem Begrüßungsbildschirm auf Konto erstellen:

Ghost Web-Installer

Geben Sie Ihre E-Mail-Adresse ein, erstellen Sie einen Benutzer, ein Passwort und einen Blog-Titel:

Konto in Ghost erstellen

Laden Sie weitere Mitglieder in Ihr Team ein. Wenn Sie diesen Schritt lieber überspringen möchten, klicken Sie aufIch werde das später machen, bringt mich zu meinem Blog!am Ende der Seite.

Teammitglieder einladen

Navigieren Sie durch den Ghost-Administrationsbereich, um Ihren ersten Beitrag zu erstellen, das Design Ihrer Website zu ändern oder zusätzliche Einstellungen zu konfigurieren:

Geistergeschichten

Herzlichen Glückwunsch! Sie haben die Ghost Blogging-Plattform auf dem Ubuntu 18.04 LTS-Server erfolgreich installiert und eingesetzt.

Das könnte Dich auch interessieren …