GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren Sie Grav CMS mit Nginx unter Debian 9

Grav ist eine schnelle, einfache und flexible, dateibasierte Webplattform. Es folgt ähnlichen Prinzipien wie andere Flat-File-CMS-Plattformen, hat aber eine andere Designphilosophie als die meisten anderen. Grav wird mit einem leistungsstarken Paketverwaltungssystem geliefert, das eine einfache Installation und Aktualisierung von Plug-ins und Designs sowie eine einfache Aktualisierung von Grav selbst ermöglicht.

Die zugrunde liegende Architektur von Grav wurde entwickelt, um etablierte und erstklassige Technologien zu verwenden, um sicherzustellen, dass Grav einfach zu verwenden und zu erweitern ist. Einige dieser Schlüsseltechnologien sind:

  • Twig Templating:für leistungsstarke Steuerung der Benutzeroberfläche
  • Markdown:für die einfache Inhaltserstellung
  • YAML:für einfache Konfiguration
  • Parsedown:für schnelle Unterstützung von Markdown und Markdown Extra
  • Doctrine Cache:Schicht für Leistung
  • Pimple Dependency Injection Container:für Erweiterbarkeit und Wartbarkeit
  • Symfony Event Dispatcher:für Plugin-Event-Handling
  • Symfony Console:für CLI-Schnittstelle
  • Gregwar Image Library:für dynamische Bildbearbeitung

In diesem Leitfaden führen wir Sie Schritt für Schritt durch den Grav CMS-Installationsprozess auf dem Debian 9 Betriebssystem mit Nginx als Webserver und acme.sh und Let's Encrypt für HTTPS.

Anforderungen

  • Webserver (Apache, Nginx, LiteSpeed, Lightly oder IIS). In diesem Leitfaden verwenden wir NGINX.
  • PHP 7.1.3 oder höher mit den folgenden PHP-Erweiterungen: curl, ctype, dom, gd, json, mbstring, openssl, session, simplexml, xml, zip, apcu (optional), opcache (optional).

Voraussetzungen

  • Ein Betriebssystem, auf dem Debian 9 ausgeführt wird.
  • Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.

Erste Schritte

Überprüfen Sie Ihre Debian-Version:

lsb_release -ds
# Debian GNU/Linux 9.9 (stretch)

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 Debian-Betriebssystems erforderlich sind:

sudo apt install -y curl wget vim git unzip socat apt-transport-https

Schritt 1 – PHP und PHP-Erweiterungen installieren

Grav CMS erfordert PHP-Version 7.1 oder höher. Debian hat die PHP-Version 7 im Standard-Repository, daher müssen Sie das Repo eines Drittanbieters verwenden, um eine neuere Version zu installieren.

sudo apt install apt-transport-https lsb-release ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update

Installieren Sie PHP 7.2 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

Überprüfen Sie die PHP-Version:

php --version

# PHP 7.2.18-1+0~20190503103213.21+stretch~1.gbp101320 (cli) (built: May  3 2019 10:32:13) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.18-1+0~20190503103213.21+stretch~1.gbp101320, Copyright (c) 1999-2018, by Zend Technologies

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

Schritt 2 – Acme.sh-Client installieren und Let's Encrypt-Zertifikat abrufen (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 mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

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

/etc/letsencrypt/acme.sh --version
# v2.8.0

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

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256

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

  • Für RSA :/etc/letsencrypt/example.com Verzeichnis.
  • Für ECC/ECDSA :/etc/letsencrypt/example.com_ecc Verzeichnis.

Schritt 3 – NGINX installieren und konfigurieren

Installieren Sie den NGINX-Webserver:

sudo apt install -y nginx

Überprüfen Sie die NGINX-Version:

nginx -v
# nginx version: nginx/1.10.3

Führen Sie sudo vim /etc/nginx/sites-available/grav.conf aus und füllen Sie die Datei mit der folgenden Konfiguration:

server {
  
  listen 80;

  server_name example.com;
  root /var/www/grav;
  
  index index.html index.php;
  
  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

Überprüfen Sie die NGINX-Konfiguration auf Syntaxfehler:

sudo nginx -t

NGINX-Dienst 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 Eigentümer von /var/www/grav Verzeichnis zu {your_user}. Ersetzen Sie {Ihr_Benutzer} im folgenden Befehl durch den Benutzernamen, mit dem Sie derzeit bei Debian angemeldet sind.:

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

Navigieren Sie zum Stammverzeichnis des Dokuments:

cd /var/www/grav

Laden Sie die neueste Version von der offiziellen Seite herunter und extrahieren Sie die ZIP-Datei:

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

HINWEIS: Download-URL aktualisieren, falls es eine neuere Version gibt.

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

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

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

Öffnen Sie Ihre Website in einem Webbrowser und Sie sollten eine Seite sehen, auf der Sie aufgefordert werden, ein Grav-Administratorkonto zu erstellen. Erstellen Sie einen und fahren Sie fort, indem Sie auf die Schaltfläche "Benutzer erstellen" klicken:

Das war's. Ihre Grav-Installation ist abgeschlossen.

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

Debian
  1. So installieren Sie Nginx unter Debian 9

  2. So installieren Sie Pagekit CMS mit Nginx auf Fedora 29

  3. So installieren Sie Phorum mit Nginx unter Debian 9

  4. So installieren Sie Plone 4 CMS auf Debian Wheezy mit Nginx

  5. So installieren Sie Magento mit Nginx unter Debian 10

So installieren Sie Grav CMS mit Nginx unter Ubuntu 20.04

So installieren Sie Nginx mit PHP + MySQL (LEMP) unter Debian 9

So installieren Sie Bludit CMS mit NGINX unter Debian 9

So installieren Sie Pico CMS mit Nginx unter Debian 10

So installieren Sie Nginx unter Debian 11

So installieren Sie Nginx mit PHP-FPM unter Debian 10