Grav ist eine schnelle, einfache und flexible, dateibasierte CMS-Plattform. 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 bewährte 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
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 CentOS 7 ausgeführt wird.
- Ein Nicht-Root-Benutzer mit sudo-Berechtigungen.
Erste Schritte
Überprüfen Sie Ihre CentOS-Version:
cat /etc/centos-release
# CentOS Linux release 7.6.1810 (Core)
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 er sicherstellt, dass Sie über die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems verfügen:
sudo yum update -y
Installieren Sie einige wichtige Pakete, die für die grundlegende Verwaltung des CentOS-Betriebssystems erforderlich sind:
sudo yum install -y curl wget vim git unzip socat bash-completion epel-release
Schritt 1 – Installieren Sie PHP und notwendige PHP-Erweiterungen
Richten Sie das Webtatic YUM-Repo ein:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Installieren Sie PHP sowie die erforderlichen PHP-Erweiterungen:
sudo yum install -y php72w php72w-cli php72w-fpm php72w-common php72w-curl php72w-gd php72w-json php72w-mbstring php72w-xml php72w-zip php72w-opcache php72w-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.2.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 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.0
Fordern Sie RSA an 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 normalen sudo-Benutzer zurück:
exit
Schritt 3 – NGINX installieren und konfigurieren
Installieren Sie NGINX:
sudo yum install -y nginx
Überprüfen Sie die NGINX-Version:
nginx -v
# nginx version: nginx/1.12.2
Starten und aktivieren Sie den NGINX-Dienst:
sudo systemctl start nginx.service
sudo systemctl enable nginx.service
Konfigurieren Sie NGINX für Grav. 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 127.0.0.1:9000;
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 Eigentümer von /var/www/grav
Verzeichnis nach 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 Eigentümer 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 wird es auf Benutzer und Gruppe apache:
festgelegt
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-Administrator 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