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

So stellen Sie Ghost Blog mit Nginx auf Ubuntu 18.04 LTS bereit

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

Wä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.service

Fü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 -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 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-xslt

Vergewissern 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.0

NGINX starten und aktivieren:

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

Erstellen 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 zu nginx.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.0

Schritt 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 oder yarn .

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.1

Beheben Sie das System auf potenzielle Probleme bei der Installation oder Aktualisierung von Ghost:

Ghost Doctor installieren

Schritt 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 mit sudo Berechtigungen, die Sie erstellt haben. In diesem Beispiel johndoe:

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

Ihr Installationsordner muss die richtigen Berechtigungen haben:

sudo chmod 755 /var/www/example.com

Navigieren Sie zum Ghost-Stammverzeichnis:

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 Folgendes ausführen:

Geisterinstallation

Beantworten 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? yes

Führen Sie nach Abschluss der Installation

aus
Geister-LS

um laufende Ghost-Prozesse anzuzeigen.

Um Ihr Ghost-Blog in Zukunft zu aktualisieren, wenn eine neuere Version veröffentlicht wird, müssen Sie nur

ausführen
Geisteraktualisierung

Befehl 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 verwendet https://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.


Ubuntu
  1. So installieren Sie Nextcloud mit Nginx auf Ubuntu 18.04 LTS

  2. So installieren Sie Seafile mit Nginx unter Ubuntu 20.04 LTS

  3. So installieren Sie Phorum mit Nginx auf Ubuntu 18.04 LTS

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

  5. Stellen Sie Modsecurity mit Nginx auf Ubuntu 20.04 LTS bereit

So installieren Sie phpMyAdmin mit Nginx (LEMP) unter Ubuntu 18.04 LTS

So installieren Sie Nginx mit dem Ngx_Pagespeed-Modul unter Ubuntu 16.04 LTS

So installieren Sie Joomla mit Nginx unter Ubuntu 18.04 LTS

So installieren Sie phpMyAdmin mit Nginx unter Ubuntu 18.04 LTS

So installieren Sie phpMyAdmin mit Nginx unter Ubuntu 20.04 LTS

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