So installieren und konfigurieren Sie Ghost unter Ubuntu 16.04

Eine frühere Version dieses Tutorials wurde vonKevin Isaac geschrieben

Einführung

Ghost ist eine leichte Open-Source-Blogging-Plattform. Ghost ist vollständig anpassbar, mit vielen verfügbaren Themen.

In diesem Tutorial richten Sie eine produktionsbereite Ghost-Instanz unter Ubuntu 16.04 mit dem offiziellen Installationsassistenten vonghost-cliein. Dadurch wird Ghost installiert, Nginx für Proxy-Anforderungen an Ghost konfiguriert, mit einemLet’s Encrypt-Zertifikat gesichert und Ghost so konfiguriert, dass es im Hintergrund als Systemdienst ausgeführt wird.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie:

[[Schritt-1 - Installieren der Ghost-CLI-Anwendung]] == Schritt 1 - Installieren der Ghost-CLI-Anwendung

Wir installieren Ghost mit dem offiziellen Programmghost-cli. Dieses Programm installiert Ghost, erstellt den MySQL-Benutzer und die MySQL-Datenbank, konfiguriert Nginx als Reverse-Proxy und sichert die Site mit SSL / TLS-Verschlüsselung.

Laden Sie zunächstghost-cli mitnpm herunter:

sudo npm i -g ghost-cli

Wir platzieren Ghost im Verzeichnisvar/www/ghost, dem empfohlenen Installationsort. Erstellen Sie dieses Verzeichnis:

mkdir /var/www/ghost

Stellen Sie dann sicher, dass Ihr Benutzer dieses Verzeichnis besitzt.

sudo chown $USER:$USER /var/www/ghost

Das Verzeichnis/var/www/ghostmuss über vollständige Berechtigungen für Ihren Benutzer sowie Lese- und Ausführungsberechtigungen für alle anderen Benutzer verfügen. Legen Sie daher die Berechtigungen mit dem folgenden Befehl fest:

sudo chmod 775 /var/www/ghost

Mit der installierten CLI und dem vorhandenen Verzeichnis können wir unseren Blog einrichten.

[[Schritt-2 - Installieren und Konfigurieren von Ghost]] == Schritt 2 - Installieren und Konfigurieren von Ghost

Die Ghost CLI-App verfügt über einen Installationsassistenten, der Sie durch alle Schritte zum Konfigurieren eines funktionierenden Ghost-Blogs führt.

Wechseln Sie in das Verzeichnis/var/www/ghost/.

cd /var/www/ghost/

Verwenden Sie dann den Befehlghost, um Ghost zu installieren. Ghost wird so konfiguriert, dass MySQL als Standarddatenbank verwendet wird. Während Sie andere Datenbanken verwenden können, ist MySQL die empfohlene Wahl für Produktions-Setups.

ghost install

Das Installationsprogramm stellt zunächst sicher, dass Sie die erforderlichen Voraussetzungen installiert haben, und lädt anschließend Ghost herunter und installiert es:

Output✔ Checking system Node.js version
✔ Checking logged in user
✔ Checking current folder permissions
✔ Checking operating system compatibility
✔ Checking for a MySQL installation
✔ Checking memory availability
✔ Checking for latest Ghost version
✔ Setting up install directory
✔ Downloading and installing Ghost v1.22.2
✔ Finishing install process

Nach Abschluss des Installationsvorgangs werden Sie aufgefordert, Ihre Blog-URL sowie Ihre MySQL-Datenbankinformationen anzugeben. Geben Sie in diesem Schritt den Benutzernamen und das Kennwort vonrootein. Für den Datenbanknamen können Sie den Standardwertghost_prod verwenden.

Output? Enter your blog URL: http://example.com
? Enter your MySQL hostname: localhost
? Enter your MySQL username: root
? Enter your MySQL password: [hidden]
? Enter your Ghost database name: ghost_prod

Der Konfigurationsassistent erstellt dann einen Systembenutzer vonghostund fragt Sie, ob er einen MySQL-Benutzer vonghosterstellen soll, den Sie zulassen sollten:

Output✔ Configuring Ghost
✔ Setting up instance
Running sudo command: useradd --system --user-group ghost
Running sudo command: chown -R ghost:ghost /var/www/ghost/content
✔ Setting up "ghost" system user
? Do you wish to set up "ghost" mysql user? Yes
✔ Setting up "ghost" mysql user

Als nächstes werden Sie gefragt, ob Sie Nginx konfigurieren möchten. Bestätigen Sie dies und das Installationsprogramm erstellt den entsprechenden Reverse-Proxy-Server-Block für Ihr Blog:

Output? Do you wish to set up Nginx? Yes
✔ Creating nginx config file at /var/www/ghost/system/files/example.con.conf
Running sudo command: ln -sf /var/www/ghost/system/files/example.com.conf /etc/nginx/sites-available/example.com.conf
Running sudo command: ln -sf /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
Running sudo command: nginx -s reload
✔ Setting up Nginx

Als Nächstes werden Sie aufgefordert, die SSL-Unterstützung einzurichten. Wenn Sie einen registrierten, vollqualifizierten Domainnamen verwenden und Ihre DNS-Einstellungen so konfiguriert haben, dass sie auf die IP-Adresse Ihres Servers verweisen, drücken SieY, um fortzufahren.

Output? Do you wish to set up SSL? Yes

Sie werden aufgefordert, Ihre E-Mail-Adresse einzugeben. Anschließend wird das Zertifikat installiert.

Output? Enter your email (used for Let's Encrypt notifications) [email protected]
Running sudo command: mkdir -p /etc/letsencrypt
Running sudo command: ./acme.sh --install --home /etc/letsencrypt
Running sudo command: /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt --domain example.com --webroot /var/www/ghost/system/nginx-root --reloadcmd "nginx -s reload" --accountemail [email protected]
Running sudo command: openssl dhparam -out /etc/nginx/snippets/dhparam.pem 2048
Running sudo command: openssl dhparam -out /etc/nginx/snippets/dhparam.pem 2048
Running sudo command: mv /tmp/ssl-params.conf /etc/nginx/snippets/ssl-params.conf
✔ Creating ssl config file at /var/www/ghost/system/files/example.com-ssl.conf
Running sudo command: ln -sf /var/www/ghost/system/files/example.com-ssl.conf /etc/nginx/sites-available/example.com-ssl.conf
Running sudo command: ln -sf /etc/nginx/sites-available/example.com-ssl.conf /etc/nginx/sites-enabled/example.com-ssl.conf
Running sudo command: nginx -s reload
✔ Setting up SSL

Als nächstes werden Sie vom Konfigurationsassistenten aufgefordert, einen systemd-Dienst einzurichten. Drücken SieY, um fortzufahren. Der Assistent erstellt einen neuen Systemdienst mit dem Namenghost_example-com und ermöglicht den Start beim Start:

Output? Do you wish to set up Systemd? Yes
✔ Creating systemd service file at /var/www/ghost/system/files/ghost_example-com.service
Running sudo command: ln -sf /var/www/ghost/system/files/ghost_example-com.service /lib/systemd/system/ghost_example-com.service
Running sudo command: systemctl daemon-reload
✔ Setting up Systemd

Schließlich konfiguriert der Assistent Ihre Datenbank und fragt, ob Ghost gestartet werden soll. Dies sollten Sie durch Drücken vonY zulassen:

OutputRunning sudo command: /var/www/ghost/current/node_modules/.bin/knex-migrator-migrate --init --mgpath /var/www/ghost/current
✔ Running database migrations
? Do you want to start Ghost? Yes
Running sudo command: systemctl is-active ghost_example-com
✔ Ensuring user is not logged in as ghost user
✔ Checking if logged in user is directory owner
✔ Checking current folder permissions
Running sudo command: systemctl is-active ghost_example-com
✔ Validating config
✔ Checking folder permissions
✔ Checking file permissions
✔ Checking content folder ownership
✔ Checking memory availability
Running sudo command: systemctl start ghost_example-com
✔ Starting Ghost
Running sudo command: systemctl is-enabled ghost_example-com
Running sudo command: systemctl enable ghost_example-com --quiet
✔ Starting Ghost

Ihr Ghost-Blog ist jetzt installiert und kann verwendet werden. Sie können unterhttp://example.com auf Ihr Blog zugreifen. Jetzt erstellen wir ein Konto, mit dem Sie Ihren ersten Beitrag erstellen können.

[[Schritt 3 - Erstellen eines Kontos und Konfigurieren Ihres Blogs]] == Schritt 3 - Erstellen eines Kontos und Konfigurieren Ihres Blogs

Besuchen Siehttp://example.com/login, um sich anzumelden und Ihr Blog zu konfigurieren. Sie werden mit dem folgenden Bildschirm begrüßt:

Welcome screen

Drücken Sie die TasteCreate your account, um loszulegen.

Sie sehen den BildschirmCreate your account, auf dem Sie nach Ihrem Blogtitel sowie Ihrem Namen, Ihrer E-Mail-Adresse und einem Passwort gefragt werden:

Create account screen

Füllen Sie die Details aus und drücken Sie die TasteLast step: Invite your team.

Der Assistent fordert Sie auf, E-Mail-Adressen anderer Mitarbeiter einzugeben. Sie können jedoch den LinkI’ll do this later am unteren Bildschirmrand auswählen.

Daraufhin wird eine Liste der Beiträge angezeigt, die Ghost als Geschichten bezeichnet:

List of stories

Über das Menü links können Sie eine neue Story erstellen oder die anderen Einstellungen Ihres Blogs verwalten. Konsultieren Sie dieofficial documentation, um mehr zu erfahren.

Fazit

In diesem Lernprogramm haben Sie Ghost installiert, Nginx so konfiguriert, dass es Anfragen an Ghost als Proxy sendet, und sichergestellt, dass Ghost als Systemdienst ausgeführt wird. Mit Ghost können Sie jedoch noch viel mehr tun. Schauen Sie sich diese Tutorials an, um mehr über die Verwendung Ihres neuen Blogs zu erfahren: