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

So installieren Sie die Ghost Blog-Software mit Apache und SSL unter Ubuntu 16.04

Ghost ist eine leistungsstarke Open-Source-Publishing- und Blog-Plattform, die wunderschön gestaltet und einfach zu bedienen ist. Ghost ist in Javascript geschrieben und verwendet node.js als Laufzeitumgebung. Die erste Ghost-Version wurde 2013 unter MIT-Lizenz veröffentlicht und wird ständig aktualisiert. Diese Anleitung zeigt die Installation der Ghost Blog-Software, Node.js und Apache als SSL-Proxyserver auf Ubuntu 16.04.

Nodejs ist eine Open-Source-JavaScript-Laufzeitumgebung, die auf der V8-JavaScript-Engine (v4) von Chrome zur Entwicklung serverseitiger Webanwendungen basiert. Nodejs ist eine plattformübergreifende Laufzeitumgebung, die unter OS X, Microsoft Windows, Linux und FreeBSD ausgeführt werden kann. Es bietet eine ereignisgesteuerte Architektur und ein nicht blockierendes E/A-Modell, das es leicht und effizient für Echtzeit-Webanwendungen macht. Das Node.js-Projekt wurde 2009 von Ryan Dahl gestartet und hat heute die Version 6.5.0 (LTS) erreicht.

Voraussetzungen

  • Ubuntu 16.04
  • Root-Rechte

Was wir in diesem Tutorial tun werden:

  • Node.js installieren
  • Ghost installieren
  • Ghost konfigurieren
  • Installieren Sie Apache und fügen Sie den Ghost VirtualHost hinzu
  • SSL für Ghost aktivieren

Schritt 1 – Node.js auf Ubuntu installieren

Für dieses Tutorial verwenden wir nodejs v4.x. Nodejs kann auf viele verschiedene Arten installiert werden, z. B. Installation aus der Quelle oder Installation aus dem Ubuntu-Repository. Ich werde das nodejs-Repository von nodesecure https://deb.nodesource.com/node_4.x verwenden Für die Installation enthält es aktuelle Software und die Verwendung eines Repositorys ermöglicht es, node.js später einfach zu aktualisieren.

Installieren Sie den Nodesource-Repository-Schlüssel mit dem folgenden Befehl:

curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -

Fügen Sie dann das nodejs-Repository hinzu, indem Sie die folgenden Befehle ausführen:

sudo echo 'deb https://deb.nodesource.com/node_4.x xenial main' > /etc/apt/sources.list.d/nodesource.list
sudo echo 'deb-src https://deb.nodesource.com/node_4.x xenial main' >> /etc/apt/sources.list.d/nodesource.list

Aktualisieren Sie das Repository:

sudo apt-get update

Jetzt können wir das „nodejs“-Paket installieren, das node.js und seine Abhängigkeiten auf dem Server installiert:

sudo apt-get install -y nodejs

Überprüfen Sie nun die nodejs-Version, um sicherzustellen, dass die Installation erfolgreich war:

node --version

Überprüfen Sie die npm-Version:

npm --version

npm ist ein Paketmanager zum Installieren, Veröffentlichen und Verwalten von Knotenprogrammen.

Schritt 2 – Ghost-Blog installieren

Wir werden Ghost im Verzeichnis "/var/www/" installieren und die neueste Version von Ghost verwenden. Bitte erstellen Sie ein neues Verzeichnis „www“ in /var und geben Sie es mit „cd“ ein:

mkdir -p /var/www/
cd /var/www/

Laden Sie Ghost mit dem Befehl wget herunter und extrahieren Sie es dann in ein Verzeichnis namens "ghostblog" :

wget https://ghost.org/zip/ghost-latest.zip
unzip -d ghostblog ghost-latest.zip

HINWEIS :-d :Erstellt automatisch das Verzeichnis.

Wechseln Sie dann in das Ghostblog-Verzeichnis und installieren Sie Ghost mit dem npm Befehl:

cd ghostblog/
sudo npm install --production

Schritt 3 - Ghost konfigurieren

Bitte gehen Sie in das Ghostblog-Verzeichnis und kopieren Sie dann die Konfigurationsbeispieldatei nach "config.js"

cd /var/www/ghostblog/
cp config.example.js config.js

Als nächstes fügen Sie einen neuen Benutzer "ghost" hinzu. Dieser Nutzer wird verklagt, Ghost auszuführen:

useradd -d /var/www -s /bin/bash ghost
passwd ghost
TYPE NEW PASSWORD FOR ghost USER

Hinweis:

-d =Definiert das Home-Verzeichnis für den Ghost-Benutzer in /var/www/.

-s =Definiert die Shell für den Ghost-Benutzer.

Ändern Sie nun den Besitzer des Ghost-Installationsverzeichnisses auf den Benutzer "ghost".

chown -R ghost:ghost /var/www/ghostblog

Testen Sie den Ghost-Blog, indem Sie den Befehl npm als Ghost-Benutzer ausführen. Bitte melden Sie sich beim Benutzer Ghost an:

su - ghost

und gehen Sie in das Installationsverzeichnis und starten Sie Ghost:

cd ghostblog/
npm start --production

Ghost ist installiert und läuft auf localhost mit Port 2368. Wir können es mit dem Curl-Befehl überprüfen:

curl -I localhost:2368

Sie können sehen, dass Ghost ausgeführt wird - HTTP/1.1 200 OK .

Wir werden Ghost as Service betreiben, um uns den Start von Ghost zu erleichtern. Bitte kehren Sie zum sudo/root-Benutzer zurück, indem Sie „exit“ eingeben, und erstellen Sie eine neue Datei namens „ghost.service“ im Verzeichnis „/lib/systemd/system/“.

cd /lib/systemd/system/
vim ghost.service

Fügen Sie das folgende systemd-Skript ein:

[Unit]
Description=ghost
After=network.target

[Service]
Type=simple
# Ghost installation Directory
WorkingDirectory=/var/www/ghostblog
User=ghost
Group=ghost
ExecStart=/usr/bin/npm start --production
ExecStop=/usr/bin/npm stop --production
Restart=always
SyslogIdentifier=Ghost

[Install]
WantedBy=multi-user.target

Als nächstes laden Sie den systemd-Daemon neu:

systemctl daemon-reload

Fügen Sie dann Ghost hinzu, das beim Booten gestartet werden soll, und starten Sie Ghost mit dem Befehl systemctl:

systemctl enable ghost
systemctl start ghost

Überprüfen Sie, ob Ghost ausgeführt wird, indem Sie den Port 2368 überprüfen:

netstat -plntu

Schritt 4 – Installieren Sie Apache und den Ghost VirtualHost

Installieren Sie Apache mit dem apt-get-Befehl:

sudo apt-get install apache2

Erstellen Sie nach Abschluss der Installation eine neue Datei für den virtuellen Ghost-Host im Verzeichnis "/etc/apache2/sites-available/".

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

Fügen Sie die Konfiguration unten ein:

<VirtualHost *:80>
    #Domain Name
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    #HTTP proxy/gateway server
    ProxyRequests off 
    ProxyPass / http://127.0.0.1:2368/ 
    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

Speichern und beenden.

Aktivieren Sie das HTTP-Proxy-Modul in Apache mit dem Befehl a2enmod wie unten gezeigt:

sudo a2enmod proxy proxy_http

Schließlich müssen wir den virtuellen Ghost-Host aktivieren und dann Apache neu starten:

sudo a2ensite ghostblog
sudo systemctl restart apache2

Ghost neu starten:

sudo systemctl restart ghost

Testen Sie, indem Sie die Domain besuchen:http://ghostblog.me

Schritt 5 – SSL für Ghost aktivieren

Um SSL auf Apache zu aktivieren, stellen Sie bitte sicher, dass die OpenSSL-Bibliothek auf dem System installiert ist. Wir werden einen neuen Schlüssel und eine neue crt-Datei im Verzeichnis „/etc/apache2/certs“ generieren. Zuerst erstellen wir neue Verzeichniszertifikate:

sudo mkdir -p /etc/apache2/certs

Und generieren Sie den Zertifikatsschlüssel mit dem folgenden Befehl:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/certs/ghostblog.key -out /etc/apache2/certs/ghostblog.crt

Bitte ändern Sie die Berechtigung der Zertifikatsdatei:

sudo cd /etc/apache2/certs/
sudo chmod 600 *

Fügen Sie als Nächstes die SSL-Konfiguration zu Ghost Virtualhost hinzu, indem Sie die "ghostblog.conf"-Datei bearbeiten.

sudo cd /etc/apache2/sites-available/
sudo vim ghostblog.conf

Fügen Sie das neue Konfigurationsskript unten ein:

<VirtualHost *:80>
    ServerName ghostblog.me
    ServerAlias www.ghostblog.me

    # Force http to https
    Redirect permanent / https://ghostblog.me/
#    ProxyRequests off 
#    ProxyPass / http://127.0.0.1:2368/ 
#    ProxyPassReverse / http:/127.0.0.1:2368/     
</VirtualHost>

<VirtualHost *:443>

   ServerName ghostblog.me

   SSLEngine on
   SSLCertificateFile /etc/apache2/certs/ghostblog.crt
   SSLCertificateKeyFile /etc/apache2/certs/ghostblog.key

   ProxyPass / http://127.0.0.1:2368/
   ProxyPassReverse / http:/127.0.0.1:2368/
   ProxyPreserveHost   On

   RequestHeader set X-Forwarded-Proto "https"

</VirtualHost>

Speichern Sie die Datei und beenden Sie vim.

Aktivieren Sie das OpenSSL-Apache-Modul und starten Sie Apache neu:

sudo a2enmod ssl headers
sudo systemctl restart apache2

Testen

Besuchen Sie http://ghostblog.me , und Sie werden zur HTTPS/SSL-Site Ihres Blogs gezwungen.

Ghost mit Apache und SSL wurde erfolgreich installiert.

Schlussfolgerung

Nodejs ist eine plattformübergreifende Open-Source-Javascript-Laufzeit zum Erstellen serverseitiger Webanwendungen. Es ist leicht und effizient für Echtzeit-Webanwendungen. Ghost ist eine in Javascript geschriebene Blogging-Plattform für Node.js. Ghost ist wunderschön gestaltet und benutzerfreundlich. Die intuitive Benutzeroberfläche macht dieses Blog-System einfach zu bedienen. Ghost kann eigenständig oder mit einem Webserver wie Apache oder Nginx installiert werden. Sie können Ghost mit OpenSSL sichern. Die Konfiguration von Ghost mit Apache und OpenSSL ist einfach, Sie müssen lediglich das http_proxy-Modul von Apache einrichten und ein SSL-Zertifikat generieren.


Ubuntu
  1. So installieren und konfigurieren Sie Nextcloud mit Apache unter Ubuntu 18.04

  2. So installieren und sichern Sie phpMyAdmin mit Apache unter Ubuntu 18.04

  3. So installieren und konfigurieren Sie ownCloud mit Apache unter Ubuntu 18.04

  4. So installieren Sie Apache Hive mit Hadoop auf CentOS, Ubuntu und LinuxMint

  5. So installieren Sie Apache Maven unter Ubuntu 18.04 und 16.04

So installieren Sie ProjectSend mit Apache und Lets Encrypt SSL unter Ubuntu 20.04

So installieren Sie die Ghost Blog-Software mit Apache und SSL unter Ubuntu 15.10

So installieren Sie PrestaShop auf Ubuntu 20.04 mit Apache

So installieren Sie Let’s Encrypt SSL auf Ubuntu mit Apache

So installieren Sie Drupal mit Apache auf Debian und Ubuntu

So installieren Sie Django 3.2 auf Ubuntu 20.04 mit Apache und WSGI