GNU/Linux >> LINUX-Kenntnisse >  >> Fedora

So installieren Sie Grav CMS mit Nginx auf Fedora 30

Grav ist eine schnelle, einfache und flexible, dateibasierte CMS-Plattform. Grav wird mit einem leistungsstarken Paketverwaltungssystem geliefert, das eine einfache Installation und Aktualisierung von Plugins 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 leicht zu erweitern ist. Einige dieser Schlüsseltechnologien sind:

  • Twig Templating:für robuste 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
  • Simple 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 Tutorial gehen wir die Grav CMS-Installation und -Einrichtung auf dem Fedora 30-System durch, indem wir NGINX als Webserver verwenden, und optional können Sie die Transportschicht sichern, indem Sie den Acme.sh-Client und die Let's Encrypt-Zertifizierungsstelle verwenden, um SSL-Unterstützung hinzuzufügen .

Anforderungen

Grav wurde absichtlich mit wenigen Anforderungen entworfen. Grav besteht aus reinen Textdateien für Ihre Inhalte. Es wird keine Datenbank benötigt.

Stellen Sie sicher, dass Ihr System die folgenden Anforderungen erfüllt:

  • Webserver (Apache, Nginx, LiteSpeed, Lightly, IIS usw.) Wir werden NGINX verwenden.
  • PHP-Version 7.1.3 oder höher

Voraussetzungen

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

Erste Schritte

Überprüfen Sie Ihre Fedora-Version:

cat /etc/fedora-release
#

Richten Sie die Zeitzone ein:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

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

sudo dnf update -y

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

sudo dnf install -y curl wget vim git unzip socat bash-completion epel-release

Schritt 1 – Installieren Sie PHP und notwendige PHP-Erweiterungen

Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:

sudo dnf install -y php-cli php-fpm php-common php-curl php-gd php-json php-mbstring php-xml php-zip php-opcache php-pecl-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.3.17 (cli) (built: May 13 2019 18:03:04) ( 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, Copyright (c) 1999-2018, by Zend Technologies

Starten und aktivieren Sie den PHP-FPM-Dienst:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

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

Das Sichern Ihres Forums mit HTTPS ist nicht erforderlich, aber es ist eine bewährte Methode, Ihren Website-Traffic zu sichern. Um ein TLS-Zertifikat von Let’s Encrypt zu erhalten, verwenden wir den Acme.sh-Client. Acme.sh ist eine einfache 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.2

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 --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 /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, beenden Sie den Root-Benutzer und kehren Sie zum regulären Sudo-Benutzer zurück:

exit

Schritt 3 – NGINX installieren und konfigurieren

Installieren Sie NGINX:

sudo dnf install -y nginx

Überprüfen Sie die NGINX-Version:

nginx -v
# nginx version: nginx/1.14.2

Starten und aktivieren Sie den NGINX-Dienst:

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

NGINX für Grav konfigurieren. Führen Sie sudo vim /etc/nginx/conf.d/grav.conf aus und fügen Sie die folgende Konfiguration hinzu.

server {
  
  listen 80;
  listen 443 ssl;
server_name example.com; root /var/www/grav;
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
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:/run/php-fpm/www.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; } }

Ü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:

sudo mkdir -p /var/www/grav

Ändern Sie den Besitz von /var/www/grav Verzeichnis zu dem Benutzer, bei dem Sie gerade angemeldet sind, in meinem Fall ist der Benutzer johndoe:

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

Navigieren Sie zum Stammordner des Dokuments:

cd /var/www/grav

Grav herunterladen und entpacken:

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: Version 1.6.9 ist die aktuelle Version und kann zum Zeitpunkt, an dem Sie dies lesen, anders sein. Die neuesten Informationen finden Sie auf der Grav-Website.

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

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

Führen Sie sudo vim /etc/php-fpm.d/www.conf aus und setzen Sie Benutzer und Gruppe auf nginx . Anfänglich ist es auf Benutzer und Gruppe apache: eingestellt

sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx

Starten Sie den PHP-FPM-Dienst neu.

sudo systemctl restart php-fpm.service

Erstellen Sie /var/lib/php/session/ Verzeichnis und ändern Sie den Besitz zu nginx:

sudo mkdir -p /var/lib/php/session/ && sudo chown -R nginx:nginx /var/lib/php/session/

Öffnen Sie http://example.com in Ihrem Webbrowser und befolgen Sie die Anweisungen auf dem Bildschirm. Um auf den Grav-Admin zuzugreifen, hängen Sie /admin an zu Ihrer URL.

Schritt 5 – Grav-Einrichtung abschließen

Erstellen Sie einen Grav-Admin-Benutzer:

Nach der Erstellung werden Sie zum Admin-Dashboard weitergeleitet:

Links

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

Fedora
  1. So installieren Sie Grav CMS mit Nginx unter Ubuntu 16.04

  2. So installieren Sie Bolt CMS auf Fedora 29

  3. So installieren Sie Phorum mit Nginx auf Fedora 30

  4. So installieren Sie Grav CMS unter Ubuntu 18.04

  5. So installieren Sie PHP 7.4 mit Nginx unter Ubuntu 20.04

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

So installieren Sie Fork CMS mit NGINX unter CentOS 8

So installieren Sie Fuel CMS mit Nginx auf Fedora 31

So installieren Sie Grav CMS mit Nginx unter Ubuntu 20.04

So installieren Sie Bludit CMS mit NGINX unter Debian 9

So installieren Sie Grav CMS mit Nginx unter Debian 9