GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Grav CMS con Nginx su Debian 9

Grav è una piattaforma Web basata su file veloce, semplice e flessibile. Segue principi simili ad altre piattaforme CMS flat-file, ma ha una filosofia di progettazione diversa rispetto alla maggior parte. Grav viene fornito con un potente sistema di gestione dei pacchetti per consentire una semplice installazione e aggiornamento di plug-in e temi, nonché un semplice aggiornamento di Grav stesso.

L'architettura alla base di Grav è progettata per utilizzare tecnologie consolidate e migliori della categoria per garantire che Grav sia semplice da usare e facile da estendere. Alcune di queste tecnologie chiave includono:

  • Twig Templating:per un potente controllo dell'interfaccia utente
  • Riduzione:per una facile creazione di contenuti
  • YAML:per una configurazione semplice
  • Parsedown:per un rapido supporto per Markdown e Markdown Extra
  • Dottrine Cache:livello per le prestazioni
  • Contenitore per iniezione di dipendenza dai brufoli:per estensibilità e manutenibilità
  • Symfony Event Dispatcher:per la gestione degli eventi dei plugin
  • Console Symfony:per interfaccia CLI
  • Libreria di immagini Gregwar:per la manipolazione dinamica delle immagini

In questa guida, ti guideremo passo dopo passo attraverso il processo di installazione di Grav CMS sul sistema operativo Debian 9 utilizzando Nginx come server web e acme.sh e Let's Encrypt per HTTPS.

Requisiti

  • Server Web (Apache, Nginx, LiteSpeed, Lightly o IIS). In questa guida utilizzeremo NGINX.
  • PHP 7.1.3 o versioni successive con le seguenti estensioni PHP: curl, ctype, dom, gd, json, mbstring, openssl, session, simplexml, xml, zip, apcu (opzionale), opcache (opzionale).

Prerequisiti

  • Un sistema operativo che esegue Debian 9.
  • Un utente non root con privilegi sudo.

Passaggi iniziali

Controlla la tua versione di Debian:

lsb_release -ds
# Debian GNU/Linux 9.9 (stretch)

Imposta il fuso orario:

sudo dpkg-reconfigure tzdata

Aggiorna i pacchetti del tuo sistema operativo (software). Questo è un primo passo importante perché ti assicura di avere gli ultimi aggiornamenti e correzioni di sicurezza per i pacchetti software predefiniti del tuo sistema operativo:

sudo apt update && sudo apt upgrade -y

Installa alcuni pacchetti essenziali che sono necessari per l'amministrazione di base del sistema operativo Debian:

sudo apt install -y curl wget vim git unzip socat apt-transport-https

Passaggio 1:installazione di estensioni PHP e PHP

Grav CMS richiede PHP versione 7.1 o successiva. Debian ha la versione 7 di PHP nel repository predefinito, quindi dovrai utilizzare repository di terze parti per installare una versione più recente.

sudo apt install apt-transport-https lsb-release ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt update

Installa PHP 7.2 e le estensioni PHP necessarie:

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

Controlla la versione PHP:

php --version

# PHP 7.2.18-1+0~20190503103213.21+stretch~1.gbp101320 (cli) (built: May  3 2019 10:32:13) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
# with Zend OPcache v7.2.18-1+0~20190503103213.21+stretch~1.gbp101320, Copyright (c) 1999-2018, by Zend Technologies

Il servizio PHP-FPM viene avviato e abilitato automaticamente al riavvio sul sistema Debian 9, quindi non è necessario avviarlo e abilitarlo manualmente. Possiamo passare al passaggio successivo, che è la configurazione SSL.

Passaggio 2:installa il client Acme.sh e ottieni il certificato Let's Encrypt (opzionale)

Proteggere il tuo sito web con HTTPS non è necessario, ma è una buona pratica per proteggere il traffico del tuo sito. Per ottenere il certificato TLS da Let's Encrypt utilizzeremo il client Acme.sh. Acme.sh è un puro software shell Unix per ottenere certificati TLS da Let's Encrypt con zero dipendenze.

Scarica e installa Acme.sh:

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

Controlla la versione di Acme.sh:

/etc/letsencrypt/acme.sh --version
# v2.8.0

Ottieni RSA e ECC/ECDSA certificati per il tuo dominio/nome host:

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength ec-256

Dopo aver eseguito i comandi precedenti, i tuoi certificati e chiavi sarà in:

  • Per RSA :/etc/letsencrypt/example.com directory.
  • Per ECC/ECDSA :/etc/letsencrypt/example.com_ecc directory.

Passaggio 3:installa e configura NGINX

Installa il server web NGINX:

sudo apt install -y nginx

Controlla la versione di NGINX:

nginx -v
# nginx version: nginx/1.10.3

Esegui sudo vim /etc/nginx/sites-available/grav.conf e popolare il file con la seguente configurazione:

server {
  
  listen 80;

  server_name example.com;
  root /var/www/grav;
  
  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:/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;
  }

}

Attiva il nuovo grav.conf configurazione collegando il file a sites-enabled directory.

sudo ln -s /etc/nginx/sites-available/grav.conf /etc/nginx/sites-enabled

Controlla la configurazione di NGINX per errori di sintassi:

sudo nginx -t

Ricarica servizio NGINX:

sudo systemctl reload nginx.service

Passaggio 4: Installa Grav CMS

Crea una directory principale del documento in cui Grav dovrebbe risiedere:

sudo mkdir -p /var/www/grav

Modifica la proprietà del /var/www/grav directory in {tuo_utente}. Sostituisci {your_user} nel comando seguente con il nome utente con cui sei attualmente connesso a Debian.:

sudo chown -R {your_user}:{your_user} /var/www/grav

Vai alla directory principale del documento:

cd /var/www/grav

Scarica l'ultima versione dalla pagina ufficiale ed estrai il file zip:

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

NOTA: Aggiorna l'URL di download se è disponibile una versione più recente.

Cambia la proprietà del /var/www/grav directory in www-data:

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

Passaggio 5:completa la configurazione di Grav

Apri il tuo sito in un browser web e dovresti vedere una pagina che ti chiede di creare un account amministratore Grav. Creane uno e procedi cliccando sul pulsante "Crea utente":

Ecco fatto. L'installazione di Grav è completa.

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

Debian
  1. Come installare Nginx su Debian 9

  2. Come installare Pagekit CMS con Nginx su Fedora 29

  3. Come installare Phorum con Nginx su Debian 9

  4. Come installare Plone 4 CMS su Debian Wheezy con Nginx

  5. Come installare Magento con Nginx su Debian 10

Come installare Grav CMS con Nginx su Ubuntu 20.04

Come installare Nginx con PHP + MySQL (LEMP) su Debian 9

Come installare Bludit CMS con NGINX su Debian 9

Come installare Pico CMS con Nginx su Debian 10

Come installare Nginx su Debian 11

Come installare Nginx con PHP-FPM su Debian 10