Torna al blog

Installazione e configurazione di Laravel con Nginx su Ubuntu 20.04

Installazione e configurazione di Laravel con Nginx su Ubuntu 20.04

Introduzione

Laravel è un framework per applicazioni web che include un set di strumenti e risorse integrati per sviluppare moderne applicazioni PHP. È noto per la sua affidabilità, prestazioni, efficienza, modularità e sicurezza. Grazie alle sue varie funzionalità integrate, Laravel ha registrato un'incredibile crescita di popolarità. Molti sviluppatori stanno adottando Laravel per semplificare il processo di sviluppo web.

Questa guida mostrerà come installare e configurare una nuova applicazione Laravel su Ubuntu 20.04.

Laravel su Ubuntu

Useremo Composer, un gestore delle dipendenze PHP, per scaricare e gestire Laravel. Per installare Composer segui le istruzioni di questo tutorial. Il server Nginx servirà l'applicazione. Creerà un'applicazione Laravel dimostrativa utilizzando il database MySQL.

Questa guida richiede alcuni prerequisiti. Assumiamo che tu abbia già un server Ubuntu 20.04 configurato correttamente e funzionante. Come riferimento, ecco una guida rapida su come configurare un server Ubuntu. È inoltre richiesto di avere lo stack LEMP (Linux, Nginx, MySQL e PHP) installato e configurato. Abbiamo una guida dettagliata su come installare e configurare lo stack LEMP.

Poiché installeremo vari pacchetti, sono richiesti i permessi di root. Nel caso di Ubuntu, l'utente root è disabilitato per impostazione predefinita. Pertanto, abbiamo bisogno di accedere a un utente non root con privilegi sudo. Ecco come concedere i permessi sudo ad altri utenti.

Passo 1 – Installazione dei moduli PHP

Prima di installare Laravel, abbiamo bisogno di alcuni importanti moduli PHP per il framework. Questi moduli sono direttamente disponibili nei repository dei pacchetti predefiniti di Ubuntu. Questi moduli supportano funzionalità come la codifica dei caratteri, XML e la matematica di precisione.

Per prima cosa, aggiorna la cache di APT e installa i pacchetti:

Passo 2 – Creazione di un database per l'applicazione

Per dimostrare la funzionalità di Laravel, creeremo un'applicazione per una lista di viaggi che mostra l'elenco dei luoghi che l'utente vorrebbe visitare e un elenco di luoghi che sono già stati visitati. Possiamo memorizzare questi dati in una tabella place con i campi name (nome della località) e visited (che contrassegna come visited o nonvisited). Un campo aggiuntivo presenterà un identificativo univoco per ogni voce. Per connettere i dati con la nostra applicazione Laravel, creeremo un utente MySQL dedicato e gli concederemo i permessi completi sul database travellist.

La libreria nativa PHP di MySQL mysqlnd non supporta più caching_sha2_authentication. Pertanto, dobbiamo impostare il nostro database con il metodo di autenticazione mysql_native_password. Accedi alla shell di MySQL come utente root:

Successivamente, crea un nuovo database chiamato travellist:

Dopodiché, crea un utente dedicato travellist_user con una password adeguata:

Assegna all'utente travellist_user i permessi completi sul database travellist. Questo impedirà inoltre all'utente di creare e modificare qualsiasi altro database sul server:

Esci dalla shell di MySQL:

exit

Mettiamo alla prova il nuovo utente. Il seguente comando effettuerà l'accesso alla shell di MySQL come utente travellist_user. Il flag -p richiederà la password dell'utente:

Stampa tutti i database disponibili. Come configurato in precedenza, dovrebbe mostrare solo travellist e information_schema solo:

Successivamente, dobbiamo creare la tabella dei dati places. Esegui la seguente istruzione MySQL:

Popoliamo la tabella con alcuni dati di esempio:

Vediamo se i dati sono stati memorizzati con successo nel database:

Come possiamo vedere, la tabella di test è popolata con dati validi. Ora possiamo uscire dalla shell di MySQL:

MySQL shell

Passaggio 3 – Creazione di una nuova app Laravel

Siamo ora pronti a creare una nuova applicazione Laravel utilizzando Composer. Useremo travellist come applicazione demo. Questa applicazione mostrerà l'elenco delle località dal database MySQL, dimostrando la configurazione di base di Laravel. Vai alla directory home dell'utente:

Il passo successivo consiste nel creare una nuova applicazione Laravel utilizzando Composer. Verrà creata una directory dedicata travellist con un'applicazione Laravel essenziale con le impostazioni predefinite. Esegui il seguente comando:

composer create-project

Una volta creata l'app, possiamo verificare se tutti i componenti sono stati installati con successo:

php artisan

L'output verifica che tutti i file dell'applicazione siano al loro posto. Assicura inoltre che tutti gli strumenti da riga di comando di Laravel siano funzionanti. Tuttavia, richiede ancora la configurazione dell'app per impostare il database e alcune modifiche extra.

Passaggio 4 – Configurazione di Laravel

Tutti i file di configurazione di Laravel sono memorizzati all'interno di una directory denominata config all'interno della directory principale dell'app. Inoltre, quando si installa Laravel con Composer, viene creato anche un file di ambiente. Questo contiene varie impostazioni specifiche per l'ambiente corrente. I valori dichiarati al suo interno avranno la precedenza sui valori impostati nei normali file di configurazione in config.

Ogni installazione unica richiederà il proprio file di ambiente per definire valori come le impostazioni di connessione al database, l'URL dell'app, le opzioni di debug, ecc. Nota che il file di ambiente contiene informazioni sensibili come le credenziali del database, le chiavi di sicurezza, ecc. Ecco perché si raccomanda vivamente di non condividere mai questo file pubblicamente.

Apri il file di ambiente con un editor di testo:

Ecco un codice di ambiente di esempio:

DB_PASSWORD=password123

Analizziamo i valori:

  • APP_NAME: Questo campo descrive il nome dell'applicazione. Questo nome verrà utilizzato per notifiche e messaggi.
  • APP_ENV: L'ambiente corrente dell'applicazione.
  • APP_KEY: Questa chiave viene generata automaticamente durante l'installazione di Laravel tramite Composer. Viene utilizzata per generare salt e hash. Non è necessario modificarla.
  • APP_DEBUG: Attivazione/disattivazione della modalità di debug. Quando è attiva, mostrerà le informazioni di debug sul lato client.
  • APP_URL: URL di base dell'app. Viene utilizzato anche per generare i link dell'applicazione.
  • DB_DATABASE: Il nome del database. In questo caso, sarà il database dedicato che abbiamo creato.
  • DB_USERNAME: Il nome utente per connettersi al database.
  • DB_PASSWORD: La password per connettersi al database.

Una volta apportate le modifiche, salva il file e chiudi l'editor.

Passaggio 5 – Configurazione di Nginx

Abbiamo installato con successo Laravel in una cartella locale della directory home dell'utente. Questa configurazione funziona bene per l'ambiente di sviluppo locale. Tuttavia, non è consigliabile implementarla per i server web aperti a internet pubblico.

Il nostro prossimo passo è spostare l'applicazione in /var/www in quanto è la posizione abituale per le app web in esecuzione su Nginx. Usa il comando mv per spostare travellist in /var/www/travellist:

Successivamente, assegna all'utente l'accesso in scrittura alle cartelle storage e cache . Queste sono le posizioni dei file generati dall'app Laravel:

I file dell'applicazione sono ora al loro posto. Tuttavia, dobbiamo dire a Nginx di servire il contenuto. Crea un nuovo file di configurazione del virtual host:

Ecco un esempio di impostazioni consigliate per un'applicazione Laravel in esecuzione su Nginx:

È il momento di attivare il nuovo file di configurazione del virtual host. Crea un collegamento simbolico alla directory sites-enabled :

Il seguente comando Nginx verificherà la presenza di errori di sintassi nei file di configurazione:

Quindi, ricarica Nginx:

L'applicazione dovrebbe ora essere disponibile utilizzando il nome di dominio o l'indirizzo IP (come definito dalla direttiva server_name):

Installing Laravel image 3

Passo 6 – Personalizzazione della pagina principale

Con l'applicazione Laravel configurata, possiamo ora iniziare a lavorarci. A scopo dimostrativo, è giunto il momento di creare una pagina di esempio che mostri i dati di esempio della tabella del database places. Per prima cosa, apri il file delle rotte principali in un editor di testo:

Il file conterrà alcuni contenuti per impostazione predefinita. Qui, le rotte sono definite utilizzando il metodo statico (Route::get). Riceve un path e una funzione di callback come argomenti.

Sostituisci il codice con il seguente:

Installing Laravel image 2

Salva il file e chiudi l'editor. Successivamente, creeremo il layout per mostrare all'utente i risultati della query del database. Crea un nuovo file all'interno di resource/views:

Nel codice seguente, abbiamo creato due liste di luoghi a seconda del valore di visited e togo:

Installing Laravel image 1

Salva il file e chiudi l'editor. Ora, accedi nuovamente alla pagina dell'app web:

Travel list

Voilà! Ora abbiamo un'applicazione Laravel funzionante che utilizza un database MySQL per i contenuti.

Considerazioni finali

In questo tutorial, abbiamo mostrato come configurare un'applicazione Laravel su uno stack LEMP in esecuzione su un server Ubuntu 20.04. Abbiamo anche mostrato come personalizzare la rotta predefinita per interrogare il contenuto del database e visualizzare i risultati in una vista personalizzata. Per ulteriori informazioni su Laravel, consulta la documentazione ufficiale su views, routes, e supporto al database.

L'installazione di questo tutorial viene eseguita su una macchina virtuale standalone. Tuttavia, puoi anche distribuire Laravel su stack LEMP su Docker.

Buona programmazione!

author

Hark Labs

Autore · CloudSigma

Preslav Dobrev è un designer creativo presso CloudSigma, con un focus su un'identità aziendale coerente attraverso l'uso di canali di marketing tradizionali e innovativi. È abile nel fondere la visione artistica con il marketing strategico per creare narrazioni di brand di grande impatto.

Commenti

Ancora nessun commento. Scrivi il primo.