So installieren Sie Grav CMS auf CentOS 7

Grav ist eine schnelle, einfache und flexible, dateibasierte CMS-Plattform. Grav wird mit einem leistungsstarken Paketmanagementsystem geliefert, das eine einfache Installation und Aktualisierung von Plugins und Themen sowie eine einfache Aktualisierung von Grav selbst ermöglicht.

Die zugrunde liegende Architektur von Grav ist auf die Verwendung etablierter und erstklassiger Technologien ausgelegt, um sicherzustellen, dass Grav einfach zu bedienen und zu erweitern ist. Zu diesen Schlüsseltechnologien gehören unter anderem:

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

Anforderungen

Grav ist bewusst mit wenigen Anforderungen konzipiert, Grav ist mit einfachen Textdateien für Ihre Inhalte aufgebaut. Es wird keine Datenbank benötigt.

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

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

Voraussetzungen

  • Ein Betriebssystem mit CentOS 7.
  • Ein Nicht-Root-Benutzer mit sudo-Rechten.

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, denn es stellt sicher, dass Sie die neuesten Updates und Sicherheitsfixes für die Standardsoftwarepakete Ihres Betriebssystems erhalten:

sudo yum update -y

Installieren Sie einige wichtige Pakete, die für die grundlegende Administration 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 die notwendigen PHP-Erweiterungen.

Richten Sie die Webtatic YUM Repo:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Installieren Sie PHP sowie die notwendigen 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, das in Modulen kompiliert ist, anzuzeigen, können Sie 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 Let’s Encrypt-Zertifikat (optional).

Die Sicherung Ihres Forums mit HTTPS ist nicht notwendig, aber es ist eine gute Vorgehensweise, um den Traffic Ihrer Website zu sichern. Um das TLS-Zertifikat von Let’s Encrypt zu erhalten, verwenden wir den acme.sh-Client. Acme.sh ist eine reine UNIX-Shell-Software zum Erhalten 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 your_email@example.com
source ~/.bashrc
cd ~

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

acme.sh --version
# v2.8.0

Besorgen Sie sich RSA- und ECC/ECDSA-Zertifikate für Ihre Domain/Hostname:

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

Wenn Sie gefälschte Zertifikate zum Testen benötigen, können Sie diese hinzufügen.--stagingFlagge zu den obigen Befehlen.

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

  • Für RSA:/home/username/example.comVerzeichnis.
  • Für ECC/ECDSA:/home/username/example.com_eccVerzeichnis.

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

acme.sh --list

Erstellen Sie ein Verzeichnis, um Ihre Zertifikate zu speichern. Wir werden das/etc/letsencryptVerzeichnis verwenden.

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

Zertifikate installieren/kopieren nach/etc/letsencryptVerzeichnis.

# 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 automatisch alle 60 Tage erneuert.

Nach Erhalt der Zertifikate verlassen Sie den Root-Benutzer und kehren Sie zum normalen sudo-Benutzer zurück:

exit

Schritt 3 – Installation und Konfiguration von NGINX

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 aus undsudo vim /etc/nginx/conf.d/grav.conffü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;
  }

}

PrüfenNGINXKonfiguration für Syntaxfehler:

sudo nginx -t

Neu ladenNGINXService:

sudo systemctl reload nginx.service

Schritt 4 – Grav CMS installieren

Erstellen Sie ein Wurzelverzeichnis für Dokumente:

sudo mkdir -p /var/www/grav

Ändern Sie den Besitzer des/var/www/gravVerzeichnisses aufjohndoe:

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

Navigieren Sie zum Stammordner des Dokuments:

cd /var/www/grav

Herunterladen und Entpacken von Grav:

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 sich bis zum Lesen unterscheiden. Auf der Grav-Website finden Sie die neuesten Informationen.

Ändern Sie den Besitzer des/var/www/gravVerzeichnisses aufnginx:

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

Ausführen undsudo vim /etc/php-fpm.d/www.confEinstellen von Benutzer und Gruppe auf . Zunächst wird es auf Benutzer und Gruppe gesetzt.apache:

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/ein Verzeichnis und ändern Sie den Besitzer aufnginx:

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

Öffnen Sie es inhttp://example.comIhrem Webbrowser und folgen Sie den Anweisungen auf dem Bildschirm. Um auf den Grav-Administrator zuzugreifen, fügen Sie ihn an/adminIhre URL an.

Schritt 5 – Vollständige Gravur-Einstellung

Erstellen Sie einen Grav-Administrator-Benutzer:

Grav admin Benutzer hinzufügen

Nach der Erstellung werden Sie zum Admin Dashboard weitergeleitet:

Aufzeichnung CMS Dashboard

Links

Das könnte Dich auch interessieren …