GNU/Linux >> Linux Esercitazione >  >> Fedora

Come installare Grav CMS con Nginx su Fedora 30

Grav è una piattaforma CMS basata su file veloce, semplice e flessibile. Grav viene fornito con un potente sistema di gestione dei pacchetti per consentire una semplice installazione e aggiornamento di plugin 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 controllo affidabile 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 di iniezione a dipendenza semplice: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 questo tutorial, esamineremo l'installazione e la configurazione di Grav CMS sul sistema Fedora 30 utilizzando NGINX come server Web e, facoltativamente, puoi proteggere il livello di trasporto utilizzando il client Acme.sh e l'autorità di certificazione Let's Encrypt per aggiungere il supporto SSL .

Requisiti

Grav è progettato intenzionalmente con pochi requisiti. Grav è costruito con file di testo normale per i tuoi contenuti. Non è necessario alcun database.

Assicurati che il tuo sistema soddisfi i seguenti requisiti:

  • Server Web (Apache, Nginx, LiteSpeed, Lightly, IIS, ecc.) Utilizzeremo NGINX.
  • Versione PHP 7.1.3 o successiva

Prerequisiti

  • Un sistema operativo che esegue Fedora 30.
  • Un utente non root con privilegi sudo.

Passaggi iniziali

Controlla la tua versione di Fedora:

cat /etc/fedora-release
#

Imposta il fuso orario:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

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 dnf update -y

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

sudo dnf install -y curl wget vim git unzip socat bash-completion epel-release

Passaggio 1:installa PHP e le estensioni PHP necessarie

Installa PHP e le estensioni PHP richieste:

sudo dnf install -y php-cli php-fpm php-common php-curl php-gd php-json php-mbstring php-xml php-zip php-opcache php-pecl-apcu

Per mostrare PHP compilato nei moduli, puoi eseguire:

php -m

ctype
curl
exif
fileinfo
. . .
. . .

Controlla la versione PHP:

php --version

# PHP 7.3.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

Avvia e abilita il servizio PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

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

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

Scarica e installa acme.sh:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail [email protected]
source ~/.bashrc
cd ~

Controlla la versione di acme.sh:

acme.sh --version
# v2.8.2

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

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

Se desideri certificati falsi per il test, puoi aggiungere --staging flag ai comandi precedenti.

Dopo aver eseguito i comandi precedenti, i tuoi certificatichiavi sarà in:

  • Per RSA :/home/username/example.com directory.
  • Per ECC/ECDSA :/home/username/example.com_ecc directory.

Per elencare i certificati emessi puoi eseguire:

acme.sh --list

Crea una directory in cui archiviare i tuoi certificati. Useremo /etc/letsencrypt directory.

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

Installa/copia i certificati nella directory /etc/letsencrypt.

# 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"

Tutti i certificati vengono rinnovati automaticamente ogni 60 giorni.

Dopo aver ottenuto i certificati, esci dall'utente root e torna all'utente sudo normale:

exit

Passaggio 3:installa e configura NGINX

Installa NGINX:

sudo dnf install -y nginx

Controlla la versione di NGINX:

nginx -v
# nginx version: nginx/1.14.2

Avvia e abilita il servizio NGINX:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Configura NGINX per Grav. Esegui sudo vim /etc/nginx/conf.d/grav.conf e aggiungi la seguente configurazione.

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 unix:/run/php-fpm/www.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; } }

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:

sudo mkdir -p /var/www/grav

Cambia la proprietà del /var/www/grav directory all'utente a cui hai effettuato l'accesso al momento, nel mio caso, l'utente è johndoe:

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

Vai alla cartella principale del documento:

cd /var/www/grav

Scarica e decomprimi 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

NOTA: La versione 1.6.9 è la versione corrente e potrebbe essere diversa nel momento in cui lo leggerai. Si prega di controllare il sito web di Grav per le informazioni più recenti.

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

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

Esegui sudo vim /etc/php-fpm.d/www.conf e imposta utente e gruppo su nginx . Inizialmente, è impostato su utente e gruppo apache:

sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx

Riavvia il servizio PHP-FPM.

sudo systemctl restart php-fpm.service

Crea /var/lib/php/session/ directory e cambia la proprietà in nginx:

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

Apri http://example.com nel tuo browser web e segui le istruzioni sullo schermo. Per accedere all'amministratore di Grav, aggiungi /admin al tuo URL.

Passaggio 5:completare la configurazione di Grav

Crea un utente amministratore Grav:

Dopo la creazione, verrai reindirizzato alla dashboard dell'amministratore:

Link

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

Fedora
  1. Come installare Grav CMS con Nginx su Ubuntu 16.04

  2. Come installare Bolt CMS su Fedora 29

  3. Come installare Phorum con Nginx su Fedora 30

  4. Come installare Grav CMS su Ubuntu 18.04

  5. Come installare PHP 7.4 con Nginx su Ubuntu 20.04

Come installare Grav CMS con Nginx e Lets Encrypt su Ubuntu 18.04 LTS

Come installare Fork CMS con NGINX su CentOS 8

Come installare Fuel CMS con Nginx su Fedora 31

Come installare Grav CMS con Nginx su Ubuntu 20.04

Come installare Bludit CMS con NGINX su Debian 9

Come installare Grav CMS con Nginx su Debian 9