GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Grav CMS con Nginx su Ubuntu 16.04

Grav è una moderna applicazione web che non richiede database. È una piattaforma web basata su file semplice, veloce e che non richiede installazione. Grav utilizza moderne tecnologie tra cui Twig Templating per la creazione di modelli, Markdown per la creazione di contenuti, YAML per una configurazione semplice, Parsedown e Doctrine cache per il livello delle prestazioni, ecc. Lo strumento è scritto in PHP e viene fornito con il potente sistema di gestione dei pacchetti che consente di gestire il Sistema Grav, inclusa l'installazione e l'aggiornamento di Grav stesso, nonché temi e plugin.

In questo tutorial, ti mostrerò passo dopo passo come installare e configurare Grav CMS su Ubuntu 16.04. Poiché Grav è basato su applicazioni Web PHP, è necessario installare PHP sul sistema e, per ottenere maggiori prestazioni, utilizzeremo PHP-FPM con il browser Web Nginx.

Prerequisiti

  • Ubuntu 16.04
  • Privilegi di root

Cosa faremo:

  1. Installa Nginx
  2. Installa e configura PHP-FPM
  3. Installa PHP Composer
  4. Scarica e installa Grav CMS
  5. Configura Nginx Virtual Host per Grav
  6. Test

Passaggio 1:installazione del server Web Nginx

In questo primo passaggio, installeremo il server web Nginx dal repository di Ubuntu. Prima di farlo, abbiamo bisogno di aggiornare tutti i pacchetti e il repository usando i seguenti comandi apt.

sudo apt update
sudo apt upgrade

Ora installa il server web Nginx.

sudo apt install nginx -y

Al termine dell'installazione, avvia il servizio e abilitalo all'avvio all'avvio del sistema, operazione che puoi eseguire utilizzando i seguenti comandi systemctl.

systemctl start nginx
systemctl enable nginx

Il server web Nginx è stato installato su Ubuntu 16.04 ed è in esecuzione sulla porta HTTP predefinita 80. Verificalo usando il comando netstat nel modo seguente.

netstat -plntu

E otterrai il risultato come mostrato di seguito.

Fase 2 - Installa e configura PHP-FPM

Ora installeremo e configureremo PHP-FPM per la nostra installazione Grav. Installa i pacchetti PHP e PHP-FPM (incluse tutte le estensioni richieste) utilizzando il comando seguente.

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

Ora dobbiamo configurare PHP-FPM.

- Installa estensioni aggiuntive

Questo è opzionale, ma è meglio per le prestazioni Grav. Installeremo manualmente alcune estensioni aggiuntive dal repository delle estensioni PHP utilizzando il comando PECL.

Installa l'estensione 'apcu' (per aumentare le prestazioni della cache) utilizzando il comando 'pecl' di seguito.

sudo pecl install apcu

Ora crea una nuova configurazione dell'estensione 'apcu.ini' nella directory '/etc/php/7.0/mods-available/'.

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

Incolla lì la seguente configurazione.

extension=apcu.so

Salva ed esci.

Successivamente, attiva l'estensione utilizzando i comandi seguenti.

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

Ora installeremo l'estensione "YAML" per migliorare ulteriormente le prestazioni di Grav. Ma prima di installare l'estensione, dobbiamo installare alcuni pacchetti usando il seguente comando apt.

sudo apt install libyaml-dev unzip -y

Quindi, installa le estensioni yaml usando il comando pecl.

sudo pecl install yaml-2.0.0

Al termine dell'installazione, crea un nuovo file di configurazione 'yaml.ini'.

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

Incolla lì la seguente configurazione.

extension=yaml.so

Salva ed esci.

Ora attiva l'estensione YAML.

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

Sono state aggiunte nuove estensioni PHP aggiuntive per Grav.

- Configura il pool PHP-FPM per Grav

Prima di creare una nuova configurazione del pool PHP-FPM, dobbiamo aggiungere al sistema un nuovo utente chiamato 'grav', cosa che puoi fare usando il comando useradd.

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

Ora vai alla directory '/etc/php/7.0/fpm/pool.d' ed esegui il backup della configurazione predefinita 'www.conf'.

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

Quindi, crea una nuova configurazione del pool PHP-FPM - 'grav.conf' - per Grav.

vim grav.conf

Incolla lì la seguente configurazione.

[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 = /

Salva ed esci.

Riavvia il servizio PHP-FPM e abilitalo all'avvio all'avvio del sistema.

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

PHP-FPM è ora in esecuzione nel file 'php7.0-fpm.sock':controllalo usando il comando netstat nel modo seguente.

netstat -pl | grep php

E dovresti ottenere il risultato come mostrato di seguito.

Nota:

Se vuoi controllare le estensioni apcu e yaml, puoi usare i seguenti comandi php.

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

L'installazione e la configurazione per PHP-FPM sono state completate.

Fase 3 - Installa PHP Composer

Il compositore è un gestore di pacchetti a livello di applicazione per PHP. Viene utilizzato per la gestione delle dipendenze PHP.

Installa PHP Composer usando il seguente comando.

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

Al termine dell'installazione, prova a eseguire il comando composer nel modo seguente.

composer --version

PHP Composer è stato installato.

Fase 4:scarica e installa Grav

Installeremo ed eseguiremo lo strumento come utente "grav". L'utente è stato creato in uno dei passaggi precedenti.

Innanzitutto, accedi come utente "grav".

su - grav

Ora crea una nuova directory 'www'.

mkdir -p ~/www
cd ~/www

Scarica l'ultima versione grav usando wget e aggiungi un'estensione '.zip' al nome del file.

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

Estrai il file 'latest.zip' e rinomina la directory 'grav' in 'html'.

unzip latest.zip
mv grav/ html/

Ora torna ai privilegi di root e cambia il proprietario del gruppo in "www-data".

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

Grav è ora scaricato e installato dall'utente 'grav' nella directory '/home/grav/www/html'.

Fase 5:configura l'host virtuale Grav

In questo passaggio, configureremo l'host virtuale Nginx per Grav. Creeremo un nuovo file host virtuale denominato "grav" all'interno della directory "sites-available" e quindi attiveremo l'host virtuale Grav.

Vai alla directory di configurazione '/etc/nginx' e crea un nuovo file 'grav' usando l'editor vim.

cd /etc/nginx
vim sites-available/grav

Incolla lì la seguente configurazione dell'host virtuale Grav Nginx.

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
}

Salva ed esci.

Quindi, attiva l'host virtuale e verifica la configurazione di nginx.

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

Nota: Assicurati di non ricevere alcun errore Nginx dopo aver testato la configurazione.

Ora riavvia i servizi Nginx e PHP-FPM.

systemctl restart nginx
systemctl restart php7.0-fpm

La configurazione per l'host virtuale Nginx Grav è stata completata.

Fase 6 - Test

Apri il tuo browser web e digita il nome di dominio del tuo sito Grav, il mio è http://grav.hakase-labs.co/

E otterrai la home page di Grav predefinita, come mostrato di seguito.

L'installazione di Grav Flat CMS utilizzando PHP-FPM e il server web Nginx su Ubuntu 16.04 è stata completata con successo.


Ubuntu
  1. Come installare WordPress con Nginx su Ubuntu 18.04

  2. Come installare MediaWiki con Nginx su Ubuntu 16.04

  3. Come installare Magento con Nginx su Ubuntu 15.10

  4. Come installare Grav CMS su Ubuntu 15.04

  5. Come installare Grav CMS su Ubuntu 18.04

Come installare Craft CMS con Nginx su Ubuntu 20.04

Come installare Nginx con ModSecurity su Ubuntu 15.04

Come installare Grav CMS con Nginx su Ubuntu 20.04

Come installare Nextcloud 13 su Ubuntu 16.04 con Nginx

Come installare Nginx su Ubuntu 15.04

Come installare Bludit CMS con NGINX su Ubuntu 20.04