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

So installieren Sie Grav CMS mit Nginx und Lets Encrypt unter Ubuntu 18.04 LTS

Grav ist ein schnelles, einfaches und flexibles, dateibasiertes CMS und eine Plattform. Grav besteht aus reinen Textdateien für Ihre Inhalte. Es wird keine Datenbank benötigt. Die zugrunde liegende Architektur von Grav ist darauf ausgelegt, etablierte Technologien zu verwenden, um sicherzustellen, dass Grav einfach zu verwenden und leicht zu erweitern ist. Einige dieser Schlüsseltechnologien umfassen:Twig Templating für leistungsstarke Steuerung der Benutzeroberfläche, Markdown für die Inhaltserstellung, YAML für einfache Konfiguration, Parsedown für schnelle Markdown- und Markdown Extra-Unterstützung, Doctrine Cache-Ebene für Leistung, Gregwar Image Library für dynamische Bildbearbeitung, und Symfony Console für die CLI-Schnittstelle. Dieses Tutorial führt Sie durch das Grav CMS-Installationsverfahren auf einem neuen Ubuntu 18.04-Server mit Nginx als Webserver und wir sichern die Website mit einem SSL-Zertifikat von Let’s encrypt.

Anforderungen

Stellen Sie sicher, dass Ihr System die folgenden Grav-Systemanforderungen erfüllt:

  • Webserver (Apache, Nginx, LiteSpeed, Lightly, IIS usw.)
  • PHP-Version 7.1.3 oder höher mit den folgenden PHP-Erweiterungen: curl,  ctype,  dom,  gd,  json,  mbstring,  openssl,  session,  simplexmlxml,  zip, apcu, opcache, yaml

Voraussetzungen

  • Ein Betriebssystem, auf dem Ubuntu 18.04 LTS ausgeführt wird.
  • Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.

Erste Schritte

Überprüfen Sie Ihre Ubuntu-Version:

lsb_release -ds
# Ubuntu 18.04.2 LTS

Richten Sie die Zeitzone ein:

sudo dpkg-reconfigure tzdata

Aktualisieren Sie Ihre Betriebssystempakete (Software). Dies ist ein wichtiger erster Schritt, da er sicherstellt, dass Sie über die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems verfügen:

sudo apt update && sudo apt upgrade -y

Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des Ubuntu-Betriebssystems erforderlich sind:

sudo apt install -y curl wget vim git unzip socat bash-completion

Schritt 1 – Installieren Sie PHP und erforderliche PHP-Erweiterungen

Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-xml php7.2-zip php7.2-opcache php-apcu

Um PHP in Modulen kompiliert anzuzeigen, können Sie Folgendes ausführen:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Überprüfen Sie die PHP-Version:

php --version

# PHP 7.2.17-0ubuntu0.18.04.1 (cli) (built: Apr 18 2019 14:12:38) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.17-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

Der PHP-FPM-Dienst wird beim Neustart auf einem Ubuntu 18.04-System automatisch gestartet und aktiviert, sodass er nicht manuell gestartet und aktiviert werden muss. Wir können mit dem nächsten Schritt fortfahren, nämlich der Installation und Einrichtung der Datenbank.

Schritt 2 – Installieren Sie den acme.sh-Client und erhalten Sie das Let's Encrypt-Zertifikat (optional)

Das Sichern Ihrer Website mit HTTPS ist nicht erforderlich, aber es ist eine bewährte Methode, den Datenverkehr Ihrer Website zu sichern. Um ein TLS-Zertifikat von Let's Encrypt zu erhalten, verwenden wir den acme.sh-Client. Acme.sh ist eine reine UNIX-Shell-Software zum Abrufen von TLS-Zertifikaten von Let's Encrypt ohne Abhängigkeiten.

Laden Sie acme.sh herunter und installieren Sie es:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Überprüfen Sie die acme.sh-Version:

acme.sh --version
# v2.8.1

Holen Sie sich RSA und ECC/ECDSA Zertifikate für Ihre Domain/Ihren Hostnamen:

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Wenn Sie zum Testen gefälschte Zertifikate wünschen, können Sie das --staging hinzufügen Flag zu den obigen Befehlen.

Nachdem Sie die obigen Befehle ausgeführt haben, werden Ihre Zertifikate und Schlüssel wird sein in:

  • Für RSA :/home/username/example.com Verzeichnis.
  • Für ECC/ECDSA :/home/username/example.com_ecc Verzeichnis.

Um Ihre ausgestellten Zertifikate aufzulisten, können Sie Folgendes ausführen:

acme.sh --list

Erstellen Sie ein Verzeichnis, um Ihre Zertifikate zu speichern. Wir verwenden den /etc/letsencrypt Verzeichnis.

mkdir -p /etc/letsecnrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Installieren/kopieren Sie Zertifikate in das /etc/letsencrypt-Verzeichnis.

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Alle Zertifikate werden alle 60 Tage automatisch erneuert.

Nachdem Sie die Zertifikate erhalten haben, verlassen Sie den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:

exit

Schritt 3 – Nginx installieren und konfigurieren

Grav CMS kann mit vielen Webservern gut funktionieren. In diesem Tutorial haben wir Nginx ausgewählt.

Nginx installieren:

sudo apt install -y nginx

Überprüfen Sie die Nginx-Version:

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

Konfigurieren Sie Nginx für Grav, indem Sie Folgendes ausführen:

sudo vim /etc/nginx/sites-available/grav.conf

Und füllen Sie die Datei mit der folgenden Konfiguration:

server {

  listen 80;
  listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;

  server_name example.com;

  root /var/www/grav;

  index index.php;

  ssl_certificate /etc/letsencrypt/status.example.com/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/status.example.com/status.example.com.key;
  ssl_certificate /etc/letsencrypt/status.example.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/status.example.com_ecc/status.example.com.key;

  location / { try_files $uri $uri/ /index.php?$query_string; }
location ~* /(\.git|cache|bin|logs|backup|tests)/.*$ { return 403; }
location ~* /(system|vendor)/.*\.(txt|xml|md|html|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
location ~* /user/.*\.(txt|md|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
location ~ /(LICENSE\.txt|composer\.lock|composer\.json|nginx\.conf|web\.config|htaccess\.txt|\.htaccess) { return 403; }

  location ~ \.php$ {
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
  }

}

Aktivieren Sie die neue grav.conf konfigurieren, indem Sie die Datei mit sites-enabled verknüpfen Verzeichnis:

sudo ln -s /etc/nginx/sites-available/grav.conf /etc/nginx/sites-enabled/

NGINX-Konfiguration testen:

sudo nginx -t

Nginx neu laden:

sudo systemctl reload nginx.service

Schritt 4 – Grav CMS installieren

Erstellen Sie ein Dokumentstammverzeichnis, in dem sich Grav befinden soll:

sudo mkdir -p /var/www/grav

Ändern Sie den Besitz von /var/www/grav Verzeichnis zu {jour_user} :

sudo chown -R {your_user}:{your_user} /var/www/grav

HINWEIS :Ersetzen Sie {jour_user} mit Ihrem ursprünglich erstellten Nicht-Root-Nutzernamen.

Navigieren Sie zum Stammverzeichnis des Dokuments:

cd /var/www/grav

Laden Sie den Grav-Quellcode über wget herunter und entpacken Sie ihn:

wget https://getgrav.org/download/core/grav-admin/1.6.8
unzip 1.6.8
mv grav-admin/* . && mv grav-admin/.* .
rm -rf grav-admin 1.6.8

Ändern Sie den Besitz von /var/www/grav Verzeichnis nach www-data:

sudo chown -R www-data:www-data /var/www/grav

Öffnen Sie Ihre Website in einem Webbrowser und befolgen Sie die Anweisungen auf dem Bildschirm, um die Installation von Grav abzuschließen.

Schritt 5 – Schließen Sie die Grav CMS-Einrichtung ab

Erstellen Sie ein Administratorkonto:

Nach der Erstellung eines Administratorkontos werden Sie zum Grav-Administrator-Dashboard weitergeleitet:

Das ist alles. Die Installation von Grav CMS ist abgeschlossen.

  • https://getgrav.org/
  • https://github.com/getgrav/grav

Ubuntu
  1. So installieren Sie Nextcloud mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04 LTS

  2. So installieren Sie Magento 2 mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04 LTS

  3. So installieren Sie Grav CMS mit Nginx unter Ubuntu 16.04

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

  5. So installieren Sie Shopware mit NGINX und Lets encrypt auf Ubuntu 18.04 LTS

So installieren Sie das NodeBB-Forum mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04 LTS

So installieren Sie Moodle mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04

So installieren Sie MediaWiki mit Nginx und Lets Encrypt SSL unter Ubuntu 20.04

So installieren Sie Gitea mit Nginx und kostenlosem Lets Encrypt SSL unter Ubuntu 20.04

So installieren Sie Grav CMS mit Nginx unter Ubuntu 20.04

So installieren Sie PHP 5.6, PHP 8.0 und PHP 8.1 auf Ubuntu 20.04 LTS