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,
simplexml
,xml,
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.
Links
- https://getgrav.org/
- https://github.com/getgrav/grav