GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Craft CMS con Nginx su Ubuntu 20.04

Craft CMS è un sistema di gestione dei contenuti open source gratuito per siti Web. Supportato da una comunità ampia e in crescita di sviluppatori e designer, offre una gamma di funzionalità innovative con un design elegante che lo rende facile da usare. Ti consente inoltre di controllare ogni aspetto dello sviluppo del tuo sito.

È un'ottima alternativa a WordPress e Drupal, che sono due dei più popolari sistemi di gestione dei contenuti in uso oggi.

Un Content Management System (CMS) è un software utilizzato per semplificare la gestione dei contenuti Web, come la modifica di contenuti o l'aggiunta di nuove pagine e immagini. La gestione di un sito Web può essere difficile se è necessario creare ogni pagina singolarmente nel codice utilizzando HTML o altri linguaggi di markup; questo può causare problemi se più persone lavorano contemporaneamente sul tuo sito poiché potrebbe non esserci accordo su come dovrebbero apparire o comportarsi determinati elementi.

L'utilizzo di un CMS consente di impostare la struttura generale di ogni pagina nonché elementi specifici, come un post del blog o la descrizione di un prodotto; quindi, quando qualcun altro ha bisogno di modificare tali informazioni, deve solo utilizzare il CMS.

Questa guida mostra come installare Craft CMS su Ubuntu 20.04 LTS (Focal Fossa). Ti mostrerà come installare Craft CMS sul tuo server Ubuntu. Se desideri utilizzare il database MySQL/MariaDB, questa guida ti aiuterà a installarlo.

Il processo per l'installazione di Craft CMS su Ubuntu è simile indipendentemente dalla distribuzione e dalla versione che stai utilizzando, quindi dovresti essere in grado di seguire questa guida anche se il tuo sistema è leggermente diverso. Questo tutorial è stato creato pensando a una nuova installazione di Ubuntu; tuttavia alcuni passaggi possono variare leggermente a seconda della configurazione del server corrente.

Prerequisiti

Per seguire questa guida avrai bisogno di alcune cose:

  • Un server che esegue Ubuntu 20.04 LTS.
  • Un utente non root con privilegi sudo impostati sul tuo server Ubuntu.

Per iniziare

Aggiornamento del sistema

Innanzitutto, accedi al tuo server come utente non root eseguendo il comando seguente:

ssh [email protected]_instance_ip

Il nome utente è root, ti connetti al server 'instance_ip' usando il protocollo SSH

your_instance_ip è l'indirizzo IP privato del tuo server su cui verrà installato Craft CMS.

Aggiorna il tuo sistema operativo eseguendo il comando seguente: 

sudo apt update && sudo apt upgrade -y

sudo apt update viene eseguito per garantire che il tuo sistema Ubuntu sia aggiornato. Questo comando consentirà a Ubuntu di scaricare i nuovi pacchetti di Ubuntu dai repository di Ubuntu e di installarli sul tuo sistema operativo Ubuntu. Ubuntu utilizza un repository (o più precisamente "repository") che sono centri di distribuzione del software da cui Ubuntu ottiene tutte le sue applicazioni.

sudo apt upgrade è un comando di Ubuntu per aggiornare e aggiornare il software Ubuntu. Questo aggiorna il tuo software Ubuntu che include l'aggiornamento del core Ubuntu, i pacchetti installati e qualsiasi nuova versione del software Ubuntu.

-y è in forma abbreviata di --yes. Il comando Ubuntu 'apt upgrade -y' significa che Ubuntu risponderà automaticamente di sì a qualsiasi richiesta di aggiornamento del software Ubuntu.

Se ricevi errori durante l'esecuzione di questo comando, potrebbe essere necessario correggere gli errori con Ubuntu Software Center o tramite un terminale. Puoi farlo digitando sudo apt-get -f install e seguendo le istruzioni in Ubuntu Software Center per risolvere tutti i problemi, oppure puoi utilizzare il comando Terminale "sudo dpkg --configure -a" per correggere gli errori e quindi eseguire nuovamente il comando sopra.

sudo apt-get -f install
sudo dpkg --configure -a

Esempio di output:

Installazione delle dipendenze 

Installa le dipendenze eseguendo il comando seguente:

sudo apt install -y curl wget vim git unzip socat 

curl consente a Ubuntu di scaricare gli aggiornamenti di Ubuntu dai repository di Ubuntu. wget è un software gratuito supportato in Ubuntu e altri sistemi operativi Linux per ottenere file utilizzando i protocolli HTTP, HTTPS e FTP.

vim è un popolare editor di testo basato su Unix che funziona su quasi tutti i sistemi Unix e su Microsoft Windows.

Ubuntu usa unzip per estrarre i file da un file ZIP.

Ubuntu utilizza socat, un'utilità basata sulla riga di comando per aprire connessioni tra due diverse applicazioni mentre si utilizzano flussi o file di input e output standard.

Esempio di output:

Installa il server LEMP

Craft CMS è scritto in PHP e utilizza MySQL/MariaDB come motore di database. Configureremo Ubuntu per usarlo insieme usando "uno stack LEMP". Uno stack LEMP è l'acronimo di Linux, server web Nginx, motore di database MySQL/MariaDB e linguaggio di programmazione PHP.

Innanzitutto, installa il server Nginx e MariaDB eseguendo il seguente comando nel tuo terminale:

sudo apt-get install nginx mariadb-server -y

Esempio di output:

Una volta installati entrambi, puoi installare PHP eseguendo il seguente comando nel tuo terminale:

sudo apt-get install php php-cli php-fpm php-common php-curl php-gd php-imagick php-json php-mbstring php-mysql php-pgsql php-zip php-intl php-xml -y

php-cli è l'interfaccia della riga di comando per PHP e in passato il nome del pacchetto predefinito era "php5". Ora è rinominato in "php".

php-fpm è la versione -wait di php-cgi. Può gestire bene le richieste simultanee ed è utile per essere utilizzato dietro un server proxy.

php-common è per le librerie comuni necessarie ad altri moduli, ad esempio, php-json viene installato automaticamente quando installiamo "php".

php-curl è un modulo per accedere all'URL tramite cURL (strumento a riga di comando che invia richieste HTTP).

Nota :Ubuntu utilizza Ubuntu Software Center per installare il software Ubuntu. Tuttavia, Ubuntu Software Center non può scaricare o installare software di terze parti come alcuni pacchetti Python (virtualenv ecc.) richiesti da Craft CMS. In Ubuntu Software Center, devi copiare e incollare manualmente i comandi che si trovano qui in una finestra di Terminale e seguire le istruzioni.

Dopo aver installato tutti i pacchetti, modifica il file php.ini nella directory di Ubuntu etc/php/7.4/fpm:

sudo nano /etc/php/7.4/fpm/php.ini

Modifica le seguenti configurazioni nel file:

memory_limit = 512M
post_max_size = 32M
upload_max_filesize = 32M
date.timezone = Asia/Kolkata

memory_limit =512M è necessario per Craft CMS, in Ubuntu 20.04 LTS, PHP non può modificare memory_limit da solo, quindi dovremmo cambiarlo manualmente nel file php.ini.

post_max_size =32M e upload_max_filesize =32M sono necessari per caricare i file di immagine tramite il CMS, Ubuntu 20.04 LTS ha impostato i valori post_max_size e upload_max_filesize su 16M per impostazione predefinita nel file php.ini di Ubuntu, Craft CMS richiede 32M.

Craft CMS richiede anche date.timezone =Asia/Kolkata per visualizzare correttamente l'ora in Ubuntu 20.04 LTS. Ubuntu 20.04 LTS utilizza UTC-5 come fuso orario per impostazione predefinita, Craft CMS richiede il fuso orario in UTC+05:30 (India Standard Time).

Dopo aver modificato il file php.ini, salva e chiudi il file, quindi riavvia il servizio PHP-FPM di Ubuntu:

sudo systemctl restart php7.4-fpm

Per controllare lo stato del servizio PHP-FPM di Ubuntu, inserisci il comando seguente:

sudo systemctl status php7.4-fpm

Esempio di output:

Ora che hai il server LEMP pronto, andiamo al passaggio successivo.

Creazione del database

Ora creeremo un database per Craft CMS. Apri la console MySQL di Ubuntu:

sudo mysql -u root -p

-p significa password. Se vuoi connetterti dall'utente root, scrivi semplicemente -u root e premi Invio senza digitare altre informazioni specifiche.

Inserisci la password che hai impostato durante l'installazione di Ubuntu. Quindi esegui i comandi seguenti per creare un database chiamato 'craftdb':

CREATE DATABASE craftdb;
GRANT ALL ON craftdb.* TO 'craftuser' IDENTIFIED BY 'mypassword';
FLUSH PRIVILEGES;
EXIT;

Per utilizzare questo database, dobbiamo connetterci ad esso. Quindi abbiamo creato un utente chiamato 'craftuser'. Usiamo IDENTIFIED BY invece di VALUES perché diciamo a MySQL di usare solo il database e non altri dati. Sostituisci la parola mypassword con una password sicura a tua scelta.

FLUSH PRIVILEGES consiste nell'eliminare tutte le transazioni non vincolate in questa sessione.

Installazione di Craft CMS

Per installare Craft CMS, dobbiamo prima installare l'ultima versione di Composer. Perché Ubuntu non supporta l'uso di gem nel suo sistema. Possiamo installare Craft CMS solo usando Composer. Eseguendo il comando seguente per installare Composer:

sudo curl -sS https://getcomposer.org/installer -o composer-setup.php

-s attiva la modalità silenziosa. Per impostazione predefinita, curl non mostra l'output mentre va lungo -s, puoi passare un URL da analizzare. In questo caso stiamo dicendo a curl di ottenere l'URL https://getcomposre the -s, aggiungiamo il flag per scaricare un file (che è https://getcomposer.org/installer) e salviamo l'URL, il flag -o dice a curl di scrivere il file scaricato su composer-setup.php

Quindi, installa Composer eseguendo il comando seguente:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Il comando php è necessario per dire al computer che vuoi eseguire questo script PHP sudo composer-setup.php --install-dir=/usr/local/bin --filename=composer

La directory di installazione è il percorso di destinazione del Composer. In questo caso è /usr/local/bin. Se non vuoi che il file sia accessibile a tutti gli utenti, usa ./ o ./. Inoltre, questa directory deve disporre dei permessi di esecuzione.

Il flag --filename è il nome del file con cui Composer verrà installato.

Se non sai dove metterlo, puoi copiare il file in qualsiasi directory di tua scelta o specificarlo dopo --filename

Una volta installato Composer, verifica la versione installata utilizzando il comando seguente:

composer --version

Esempio di output:

Quindi, crea una directory per il tuo progetto Craft CMS. Creiamo una directory denominata craft nella directory /var/www/html/. Useremo questa directory come nostra radice web. Cioè, tutti i file che creiamo o le pagine servite da Craft CMS saranno accessibili dalla radice web.

mkdir /var/www/html/craft

Quindi, spostati nella directory craft e installa Craft CMS usando Composer:

cd /var/www/html/craft
composer create-project craftcms/craft

Nota :se stai utilizzando una versione di Craft inferiore alla 0.97, sostituisci create-project con install.

Attenzione :Questo sovrascriverà tutti i file esistenti nella directory.

Se desideri avere una directory diversa per il tuo CMS Craft, puoi specificare l'opzione --prefer-dist.

Se i tuoi provider di hosting non consentono di modificare la root del documento in /var/www, ti consigliamo vivamente di installare Craft in una sottodirectory della webroot come:mkdir craft e running composer create-project craftcms/craft craft.

Esempio di output:

Ti verrà chiesto di fornire i dettagli del database, un nome utente e una password per l'amministrazione.

Devi fornire alcune credenziali utente per il database MYSQL in modo che Craft possa configurare le sue chiavi di sicurezza interne! Il nome host è 'localhost', il nome utente è 'craftuser' e la password è quella che hai scelto al momento della creazione del database MySQL sopra.

A questo punto, Composer dovrebbe essere in grado di compilare e installare Craft in una directory chiamata craft all'interno della tua struttura webroot /var/www. Per impostazione predefinita, non è accessibile su Internet a meno che tu non abbia abilitato l'accesso HTTP.

Quindi, imposta la proprietà corretta per la directory Craft appena installata:

chown -R www-data:www-data /var/www/html/craft

Configurazione di Nginx

Nginx viene utilizzato per soddisfare le richieste dei client che vi accedono direttamente. Fornisce alcuni vantaggi extra come servire molto bene i file statici, memorizzare nella cache le pagine e compressione gzip di queste pagine.

sudo nano /etc/nginx/conf.d/craft.conf

Compila il file con le seguenti righe:

server {
listen 80;
server_name craft.example.com;
root /var/www/html/craft/web;
index index.php;
location / {
  try_files $uri/index.html $uri $uri/ /index.php?$query_string;
  }
location ~ [^/]\.php(/|$) {
 try_files $uri $uri/ /index.php?$query_string;
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
 fastcgi_index index.php;
 include fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param PATH_INFO $fastcgi_path_info;
 fastcgi_param HTTP_PROXY "";
}
}

Nome del server:questo è il nome di dominio o l'indirizzo IP del tuo server, i client lo utilizzeranno per risolvere a chi devono richiedere i file (nel nostro caso è craft.example.com).

Radice dei documenti:è qui che risiedono le risorse principali di Craft CMS, incluse le cartelle Web e principali che si trovano in /var/www/html/craft. Il percorso che vedi qui potrebbe essere diverso, a seconda della versione dell'imbarcazione che stai utilizzando o se la struttura delle cartelle è stata modificata.

Try_files $uri $uri/$uri :per qualsiasi richiesta a un URI relativo come http://craft.example.com/index.php restituirà il file index.php che si trova in genere nella radice del documento dell'installazione craft.

Posizione ~ [^/]\.php(/|$) :L'espressione regolare per i file PHP significa fondamentalmente cercare qualsiasi richiesta che termini con un .php o corrisponda a tutto tranne / e $ (cerca ricorsivamente).

Posizione del socket PHP-FPM:viene utilizzato dalle richieste di asset core di Craft CMS, questo valore dovrebbe corrispondere al nome del file socket php-fpm nel file di configurazione principale /etc/php/7.4{5,6}-fpm.conf

Salva e chiudi il file, quindi verifica che funzioni eseguendo:

sudo nginx -t

Esempio di output:

Se non ci sono errori puoi riavviare Nginx con il comando seguente:

sudo systemctl reload nginx

Accesso a Craft CMS

Ora che i file sono configurati, possiamo accedere alla nostra installazione di Craft CMS. Punta il tuo browser su http://craft.example.com e dovresti vedere la schermata di benvenuto:

Fai clic su 'vai al tuo pannello di controllo', compila i dettagli del tuo amministratore e fai clic su "accedi". Dovresti vedere la dashboard predefinita.

Se hai riscontrato un messaggio con la scritta "503 non disponibile" come questo:

Assicurati di avere gli ultimi aggiornamenti del plugin Craft, Craft e Craft. Se ciò non aiuta, prova i passaggi successivi:assicurati che le autorizzazioni della cartella di Craft siano corrette come descritto in questo articolo. Questi file dovrebbero essere di proprietà di root e craft non dovrebbe avere il permesso di scrittura in nessuna delle sue cartelle.

Conclusione

Congratulazioni! Ora hai installato correttamente CraftCMS su Ubuntu 20.04. Facciamo dei siti web! Come sempre, non esitare a lasciare commenti o suggerimenti qui sotto.


Ubuntu
  1. Come installare WordPress con Nginx su Ubuntu 18.04

  2. Come installare phpMyAdmin con Nginx su Ubuntu 18.04

  3. Come installare MediaWiki con Nginx su Ubuntu 16.04

  4. Come installare Grav CMS con Nginx su Ubuntu 16.04

  5. Come installare SuiteCRM con Nginx su Ubuntu 16.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 Craft CMS su Ubuntu 18.04 LTS

Come installare Craft CMS su Ubuntu 20.04 LTS

Come installare Bludit CMS con NGINX su Ubuntu 20.04