GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Grav CMS mit Nginx unter Ubuntu 16.04

Grav ist eine moderne Webanwendung, die keine Datenbank benötigt. Es ist eine dateibasierte Webplattform, die einfach und schnell ist und keine Installation erfordert. Grav verwendet moderne Technologien, darunter Twig Templating für die Vorlagenerstellung, Markdown für die Inhaltserstellung, YAML für die einfache Konfiguration, Parsedown und Doctrine-Cache für die Leistungsschicht usw. Das Tool ist in PHP geschrieben und wird mit dem leistungsstarken Paketverwaltungssystem geliefert, mit dem Sie die verwalten können Grav-System, einschließlich Installation und Upgrade von Grav selbst sowie Designs und Plugins.

In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie Grav CMS unter Ubuntu 16.04 installieren und konfigurieren. Da Grav auf PHP-Webanwendungen basiert, müssen wir PHP auf dem System installieren, und um mehr Leistung zu erzielen, werden wir PHP-FPM mit dem Nginx-Webbrowser verwenden.

Voraussetzungen

  • Ubuntu 16.04
  • Root-Rechte

Was wir tun werden:

  1. Installieren Sie Nginx
  2. Installieren und konfigurieren Sie PHP-FPM
  3. Installieren Sie PHP Composer
  4. Laden Sie Grav CMS herunter und installieren Sie es
  5. Konfigurieren Sie den virtuellen Nginx-Host für Grav
  6. Testen

Schritt 1 – Nginx-Webserver installieren

In diesem ersten Schritt installieren wir den Nginx-Webserver aus dem Ubuntu-Repository. Bevor wir das tun, müssen wir alle Pakete und das Repository mit den folgenden apt-Befehlen aktualisieren.

sudo apt update
sudo apt upgrade

Installieren Sie nun den Nginx-Webserver.

sudo apt install nginx -y

Nachdem die Installation abgeschlossen ist, starten Sie den Dienst und aktivieren Sie ihn so, dass er beim Systemstart gestartet wird, was Sie mit den folgenden systemctl-Befehlen tun können.

systemctl start nginx
systemctl enable nginx

Der Nginx-Webserver wurde auf Ubuntu 16.04 installiert und läuft auf dem Standard-HTTP-Port 80. Überprüfen Sie ihn mit dem netstat-Befehl auf folgende Weise.

netstat -plntu

Und Sie erhalten das unten gezeigte Ergebnis.

Schritt 2 – PHP-FPM installieren und konfigurieren

Jetzt werden wir PHP-FPM für unsere Grav-Installation installieren und konfigurieren. Installieren Sie PHP- und PHP-FPM-Pakete (einschließlich aller erforderlichen Erweiterungen) mit dem folgenden Befehl.

sudo apt install -y php7.0 php7.0-fpm php7.0-cli php7.0-gd php7.0-mbstring php-pear php7.0-curl php7.0-dev php7.0-opcache php7.0-xml php7.0-zip

Jetzt müssen wir PHP-FPM konfigurieren.

- Zusätzliche Erweiterungen installieren

Dies ist optional, aber es ist am besten für die Grav-Leistung. Wir werden einige zusätzliche Erweiterungen manuell aus dem PHP-Erweiterungs-Repository mit dem PECL-Befehl installieren.

Installieren Sie die 'apcu'-Erweiterung (für verbesserte Cache-Leistung) mit dem 'pecl'-Befehl unten.

sudo pecl install apcu

Erstellen Sie nun eine neue Erweiterungskonfiguration ‚apcu.ini‘ im Verzeichnis ‚/etc/php/7.0/mods-available/‘.

sudo vim /etc/php/7.0/mods-available/apcu.ini

Fügen Sie dort die folgende Konfiguration ein.

extension=apcu.so

Speichern und beenden.

Als nächstes aktivieren Sie die Erweiterung mit den folgenden Befehlen.

sudo ln -s /etc/php/7.0/mods-available/apcu.ini /etc/php/7.0/fpm/conf.d/20-apcu.ini
sudo ln -s /etc/php/7.0/mods-available/apcu.ini /etc/php/7.0/cli/conf.d/20-apcu.ini

Jetzt werden wir die Erweiterung „YAML“ installieren, um die Leistung von Grav weiter zu verbessern. Aber bevor wir die Erweiterung installieren, müssen wir einige Pakete mit dem folgenden apt-Befehl installieren.

sudo apt install libyaml-dev unzip -y

Als nächstes installieren Sie die yaml-Erweiterungen mit dem pecl-Befehl.

sudo pecl install yaml-2.0.0

Erstellen Sie nach Abschluss der Installation eine neue Konfigurationsdatei „yaml.ini“.

sudo vim /etc/php/7.0/mods-available/yaml.ini

Fügen Sie dort die folgende Konfiguration ein.

extension=yaml.so

Speichern und beenden.

Aktivieren Sie nun die YAML-Erweiterung.

sudo ln -s /etc/php/7.0/mods-available/yaml.ini /etc/php/7.0/fpm/conf.d/20-yaml.ini
sudo ln -s /etc/php/7.0/mods-available/yaml.ini /etc/php/7.0/cli/conf.d/20-yaml.ini

Neue zusätzliche PHP-Erweiterungen für Grav wurden hinzugefügt.

- PHP-FPM-Pool für Grav konfigurieren

Bevor wir eine neue PHP-FPM-Pool-Konfiguration erstellen, müssen wir einen neuen Benutzer namens „grav“ zum System hinzufügen, was Sie mit dem Befehl useradd tun können.

useradd -m -s /bin/bash grav
passwd grav

Gehen Sie nun in das Verzeichnis ‚/etc/php/7.0/fpm/pool.d‘ und sichern Sie die Standardkonfiguration ‚www.conf‘.

cd /etc/php/7.0/fpm/pool.d/
mv www.conf www.conf.bak

Erstellen Sie als Nächstes eine neue PHP-FPM-Pool-Konfiguration – „grav.conf“ – für Grav.

vim grav.conf

Fügen Sie dort die folgende Konfiguration ein.

[grav]

user = grav
group = grav

listen = /run/php/php7.0-fpm.sock

listen.owner = www-data
listen.group = www-data

pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

chdir = /

Speichern und beenden.

Starten Sie den PHP-FPM-Dienst neu und lassen Sie ihn beim Systemstart starten.

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

PHP-FPM läuft jetzt unter der Datei ‚php7.0-fpm.sock‘ – überprüfen Sie dies mit dem netstat-Befehl auf folgende Weise.

netstat -pl | grep php

Und Sie sollten das unten gezeigte Ergebnis erhalten.

Hinweis:

Wenn Sie die Erweiterungen apcu und yaml überprüfen möchten, können Sie die folgenden PHP-Befehle verwenden.

sudo php -m | grep apcu
sudo php -m | grep yaml

Die Installation und Konfiguration für PHP-FPM ist abgeschlossen.

Schritt 3 – PHP Composer installieren

Der Composer ist ein Paketmanager auf Anwendungsebene für PHP. Es wird zur Verwaltung von PHP-Abhängigkeiten verwendet.

Installieren Sie den PHP Composer mit dem folgenden Befehl.

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Versuchen Sie nach Abschluss der Installation, den Composer-Befehl wie folgt auszuführen.

composer --version

Der PHP Composer wurde installiert.

Schritt 4 – Grav herunterladen und installieren

Wir werden das Tool als 'grav'-Benutzer installieren und ausführen. Der Benutzer wurde in einem der vorherigen Schritte erstellt.

Melden Sie sich zuerst als 'grav'-Benutzer an.

su - grav

Erstellen Sie nun ein neues „www“-Verzeichnis.

mkdir -p ~/www
cd ~/www

Laden Sie die neueste Grav-Version mit wget herunter und fügen Sie dem Dateinamen die Erweiterung „.zip“ hinzu.

wget https://getgrav.org/download/core/grav/latest
mv latest latest.zip

Extrahieren Sie die Datei „latest.zip“ und benennen Sie das Verzeichnis „grav“ in „html“ um.

unzip latest.zip
mv grav/ html/

Nun zurück zu den Root-Privilegien und den Gruppeneigentümer auf „www-data“ ändern.

exit
cd /home/grav/www
sudo chown -R grav:www-data html/

Grav wird nun vom Benutzer „grav“ im Verzeichnis „/home/grav/www/html“ heruntergeladen und installiert.

Schritt 5 – Virtuellen Grav-Host konfigurieren

In diesem Schritt konfigurieren wir den virtuellen Nginx-Host für Grav. Wir erstellen eine neue virtuelle Hostdatei mit dem Namen „grav“ im Verzeichnis „sites-available“ und aktivieren dann den virtuellen Grav-Host.

Gehen Sie in das Konfigurationsverzeichnis „/etc/nginx“ und erstellen Sie mit dem vim-Editor eine neue Datei „grav“.

cd /etc/nginx
vim sites-available/grav

Fügen Sie dort die folgende Konfiguration des virtuellen Grav Nginx-Hosts ein.

server {
    ## Define Index
    #listen 80;
    index index.html index.php;

    ## Web root and Domain Name
    root /home/grav/www/html;
    server_name grav.hakase-labs.co;

    ## Begin - Index
    # for subfolders, simply adjust the rewrite:
    # to use `/subfolder/index.php`
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    ## End - Index

    ## Begin - PHP-FPM Configuration
    location ~ \.php$ {
        # Choose either a socket or TCP/IP address
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        # 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;
    }
    ## End - PHP

    ## Begin - Security
    # deny all direct access for these folders
    location ~* /(.git|cache|bin|logs|backups)/.*$ { return 403; }
    # deny running scripts inside core system folders
    location ~* /(system|vendor)/.*\.(txt|xml|md|html|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
    # deny running scripts inside user folder
    location ~* /user/.*\.(txt|md|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
    # deny access to specific files in the root folder
    location ~ /(LICENSE|composer.lock|composer.json|nginx.conf|web.config|htaccess.txt|\.htaccess) { return 403; }
    ## End - Security
}

Speichern und beenden.

Aktivieren Sie als Nächstes den virtuellen Host und testen Sie die nginx-Konfiguration.

ln -s /etc/nginx/sites-available/grav /etc/nginx/sites-enabled/
nginx -t

Hinweis: Stellen Sie sicher, dass Sie nach dem Testen der Konfiguration keinen Nginx-Fehler erhalten.

Starten Sie nun die Nginx- und PHP-FPM-Dienste neu.

systemctl restart nginx
systemctl restart php7.0-fpm

Die Konfiguration für den virtuellen Nginx Grav-Host wurde abgeschlossen.

Schritt 6 – Testen

Öffnen Sie Ihren Webbrowser und geben Sie den Domänennamen Ihrer Grav-Site ein, meiner ist http://grav.hakase-labs.co/

Und Sie erhalten die Standard-Grav-Startseite, wie unten gezeigt.

Grav Flat CMS-Installation mit PHP-FPM und Nginx-Webserver auf Ubuntu 16.04 wurde erfolgreich abgeschlossen.


Ubuntu
  1. So installieren Sie WordPress mit Nginx unter Ubuntu 18.04

  2. So installieren Sie MediaWiki mit Nginx unter Ubuntu 16.04

  3. So installieren Sie Magento mit Nginx unter Ubuntu 15.10

  4. So installieren Sie Grav CMS unter Ubuntu 15.04

  5. So installieren Sie Grav CMS unter Ubuntu 18.04

So installieren Sie Craft CMS mit Nginx unter Ubuntu 20.04

So installieren Sie Nginx mit ModSecurity unter Ubuntu 15.04

So installieren Sie Grav CMS mit Nginx unter Ubuntu 20.04

So installieren Sie Nextcloud 13 auf Ubuntu 16.04 mit Nginx

So installieren Sie Nginx unter Ubuntu 15.04

So installieren Sie Bludit CMS mit NGINX unter Ubuntu 20.04