Decorazione geometrica nera formata da diversi strati a forma di rombo, separati tra loro da ombreggiature di un nero più scuro

Come installare Laravel su Ubuntu 20.04 LTS

Laravel un framework in PHP

Tempo di lettura stimato: 6m

6m

Come installare Laravel su Ubuntu 20.04 LTS

Laravel un framework in PHP

2023-09-05

Laravel è un framework di applicazioni web PHP open source con sintassi espressiva ed elegante. Laravel ti consente di creare facilmente applicazioni web scalabili e flessibili, API riposanti e soluzioni di e-commerce.

Con funzionalità integrate come routing, autenticazione, sessioni, memorizzazione nella cache e unit test, Laravel è un framework di scelta per molti sviluppatori PHP.

In questo tutorial ti mostreremo come installare Laravel su un sistema Ubuntu 20.04. Le stesse istruzioni valgono per Ubuntu 18.04 e qualsiasi distribuzione basata su Ubuntu, inclusi Linux Mint, Kubuntu ed Elementary OS.

Prerequisiti

Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.

Aggiorna i pacchetti di sistema alle ultime versioni:

sudo apt update && sudo apt upgrade

Installare PHP PHP 7.4, che è la versione PHP predefinita in Ubuntu 20.04 LTS, è pienamente supportata da Laravel.

PHP 7.4, che è la versione PHP predefinita in Ubuntu 20.04 LTS, è pienamente supportata da Laravel.

Passo 4 — Configurazione di Laravel

I file di configurazione di Laravel si trovano in una directory chiamata "config", all'interno della directory principale dell'applicazione. Inoltre, quando installi Laravel con Composer, viene creato un file di ambiente. Questo file contiene impostazioni specifiche per l'ambiente corrente in cui l'applicazione è in esecuzione e avrà la precedenza sui valori impostati nei normali file di configurazione situati nella directory "config". Ogni installazione in un nuovo ambiente richiede un file di ambiente personalizzato per definire cose come le impostazioni di connessione al database, le opzioni di debug, l'URL dell'applicazione, tra le altre cose che possono variare a seconda dell'ambiente in cui l'applicazione è in esecuzione.

Attenzione: Il file di configurazione dell'ambiente contiene informazioni sensibili sul tuo server, tra cui credenziali del database e chiavi di sicurezza. Per questo motivo, non dovresti mai condividere questo file pubblicamente.

Ora modificheremo il file .env per personalizzare le opzioni di configurazione per l'ambiente applicativo corrente.

Apri il file .env utilizzando l'editor di linea di comando di tua scelta. Qui utilizzeremo nano:

nano .env

Passaggio 5 - Configurazione di Nginx

Abbiamo installato Laravel in una cartella locale della directory home del tuo utente remoto e, anche se funziona bene per gli ambienti di sviluppo locali, non è una pratica consigliata per i server web aperti su internet pubblico. Sposteremo la cartella dell'applicazione in /var/www, che è la posizione abituale per le applicazioni web in esecuzione su Nginx.

Prima di tutto, usa il comando mv per spostare la cartella dell'applicazione con tutti i suoi contenuti in /var/www/travellist:

sudo mv ~/travellist /var/www/travellist

Ora dobbiamo dare all'utente del server web l'accesso in scrittura alle cartelle di storage e cache, dove Laravel memorizza i file generati dall'applicazione:

sudo chown -R www-data.www-data /var/www/travellist/storage
sudo chown -R www-data.www-data /var/www/travellist/bootstrap/cache

I file dell'applicazione sono ora in ordine, ma dobbiamo ancora configurare Nginx per servire il contenuto. Per fare ciò, creeremo un nuovo file di configurazione del virtual host in /etc/nginx/sites-available:

sudo nano /etc/nginx/sites-available/travellist

Il file di configurazione seguente contiene le impostazioni consigliate per le applicazioni Laravel su Nginx:

server {
    listen 80;
    server_name server_domain_or_IP;
    root /var/www/travellist/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

Copia questo contenuto nel tuo file /etc/nginx/sites-available/travellist e, se necessario, adatta i valori evidenziati in base alla tua configurazione. Salva e chiudi il file quando hai finito di modificare.

Per attivare il nuovo file di configurazione del virtual host, crea un collegamento simbolico a travellist in sites-enabled:

sudo ln -s /etc/nginx/sites-available/travellist /etc/nginx/sites-enabled/

Nota: se hai un altro file virtual host che era stato precedentemente configurato con lo stesso server_name usato nel virtual host di travellist, potresti dover disattivare la vecchia configurazione rimuovendo il collegamento simbolico corrispondente all'interno di /etc/nginx/sites-enabled/.

Per confermare che la configurazione non contenga errori di sintassi, puoi usare:

sudo nginx -t

Dovresti vedere un output simile a questo:

Output:

nginx: il file di configurazione /etc/nginx/nginx.conf ha una sintassi corretta
nginx: il test del file di configurazione /etc/nginx/nginx.conf è andato a buon fine

Per applicare le modifiche, ricarica Nginx con:

sudo systemctl reload nginx

Ora vai al tuo browser e accedi all'applicazione usando il nome di dominio del server o l'indirizzo IP, come definito dalla direttiva server_name nel tuo file di configurazione:

http://nome_dominio_server_o_IP

Vedrai una pagina simile a questa:

Ciò conferma che il tuo server Nginx è configurato correttamente per servire Laravel. Da questo punto, puoi iniziare a costruire la tua applicazione sulla base dello scheletro fornito dall'installazione predefinita.

Nel passaggio successivo, modificheremo la route principale dell'applicazione per interrogare i dati nel database utilizzando la facciata DB di Laravel.

 


 

Autore:

Staff Smabits

Smabits è un'azienda leader nello sviluppo software, con una specializzazione nelle web app e mobile app. Con una profonda comprensione delle esigenze del mercato digitale, offre soluzioni innovative e su misura. La passione per la tecnologia e l'attenzione ai dettagli rendono Smabits un partner ideale per progetti digitali. Affidati a Smabits per trasformare le tue idee in realtà digitali d'eccellenza.

Commenti

Novità di tendenza

Cos’è l’intelligenza artificiale (IA)?

View more

Primo progetto in React: come iniziare!

View more

Dolphin il CMS by Smabits

View more

Categorie

  • Laravel
  • Ubuntu
  • Backend Dev