Salta al contenuto principale

Come installare e configurare Laravel

Profile picture for user luca77king

Laravel rappresenta oggi uno dei framework PHP più apprezzati e utilizzati dalla community degli sviluppatori web. La sua elegante sintassi, la robusta architettura MVC e l'ecosistema ricco di strumenti lo rendono la scelta ideale per progetti di qualsiasi dimensione. Questa guida vi accompagnerà passo dopo passo nell'installazione di Laravel su un sistema Linux, illustrando ogni fase del processo con precisione e chiarezza.

L'obiettivo di questo capitolo è configurare correttamente Laravel sul vostro ambiente di sviluppo Linux, dalla verifica dei requisiti di sistema fino alla visualizzazione della schermata di benvenuto del framework. Installeremo l'ultima versione stabile che, nel momento in cui si scrive, è la 9.41.0. Questa versione offre numerosi miglioramenti in termini di performance, sicurezza e nuove funzionalità che rendono lo sviluppo ancora più efficiente.

Prima di procedere con l'installazione vera e propria, è fondamentale comprendere che Laravel richiede un ambiente correttamente configurato con tutte le dipendenze necessarie. Una preparazione accurata dell'ambiente eviterà problemi durante l'installazione e garantirà il corretto funzionamento del framework. Dedicate il giusto tempo alla verifica dei prerequisiti: questo investimento iniziale vi farà risparmiare ore di debugging successivo.

Verifica dei Requisiti di Sistema

Prima di iniziare l'installazione, dobbiamo assicurarci che il nostro sistema soddisfi tutti i requisiti necessari per far girare Laravel correttamente. Questi prerequisiti non sono opzionali: rappresentano la base fondamentale su cui il framework poggia le sue funzionalità.

Le dipendenze essenziali per Laravel 9 includono:

  • PHP >= 8.0.2 - La versione minima richiesta del linguaggio
  • Le librerie ctype, json, mbstring, tokenizer, xml e curl - Estensioni PHP necessarie per varie funzionalità
  • Composer - Il gestore di dipendenze per PHP
  • Un database relazionale - Per la persistenza dei dati
  • Node.js - Richiesto per la compilazione degli asset frontend
  • NPM - Il package manager di Node.js

Database Supportati

Laravel 9 offre compatibilità con 5 sistemi di gestione database relazionali (RDBMS), garantendo flessibilità nella scelta della soluzione più adatta alle vostre esigenze:

  • MariaDB >= 10.3
  • MySQL >= 5.7
  • PostgreSQL >= 10.0
  • SQLite >= 3.8.8
  • SQL Server >= 2017

In questa guida faremo riferimento a MySQL, uno dei database più diffusi e affidabili. Prima di procedere con l'installazione di Laravel, create lo schema del database per la vostra applicazione. Supponendo che abbiate già familiarità con MySQL, create un nuovo database, un utente dedicato e assegnate i permessi appropriati per garantire la sicurezza e l'isolamento della vostra applicazione.

Configurazione dei Permessi di Sistema

Uno degli aspetti più critici dell'installazione di Laravel riguarda la corretta configurazione dei permessi a livello di sistema operativo. Questa fase è spesso sottovalutata ma è essenziale per il corretto funzionamento del framework.

Perché i permessi sono così importanti? Laravel utilizza una CLI (Command Line Interface) chiamata Artisan che viene eseguita dall'utente di sistema, mentre l'applicazione web viene servita dall'utente del web server. Questa dualità richiede che entrambi gli utenti possano accedere e modificare determinati file e cartelle. La soluzione è aggiungere l'utente di sistema al gruppo del web server.

Se utilizzate Apache, la nomenclatura di utente e gruppo varia in base alla distribuzione:

  • Distribuzioni basate su Debian/Ubuntu: l'utente e il gruppo si chiamano www-data
  • Distribuzioni basate su Red Hat/CentOS: la denominazione è apache

Supponendo che stiate lavorando su Ubuntu, eseguite il seguente comando da terminale per aggiungere il vostro utente al gruppo appropriato:

sudo usermod -a -G www-data $USER

Download e Installazione di Laravel

Ora che l'ambiente è preparato, possiamo procedere con il download e l'installazione vera e propria di Laravel. Composer renderà questo processo semplice e veloce.

Aprite il terminale e navigate fino alla cartella root del vostro web server che ospiterà la nuova applicazione (tipicamente /var/www/html o una directory simile). Successivamente, scaricate l'ultima versione di Laravel utilizzando Composer:

composer create-project laravel/laravel my-app

Questo comando scaricherà Laravel e tutte le sue dipendenze, creando una nuova directory chiamata my-app con l'intera struttura dell'applicazione. Il processo potrebbe richiedere alcuni minuti a seconda della velocità della vostra connessione internet.

Impostazione dei Permessi dell'Applicazione

Terminata la procedura di download, dobbiamo configurare correttamente i permessi per l'intera applicazione Laravel. Questa fase garantisce che sia l'utente di sistema che il web server possano interagire correttamente con i file.

Impostiamo utente e gruppo per tutta l'applicazione con il seguente comando:

sudo chown -R $USER:www-data my-app/

Successivamente, dobbiamo dare al framework la possibilità di scrivere sulla cartella storage, destinata al salvataggio dei log, delle cache e dei file temporanei. Questa cartella è fondamentale per il funzionamento di Laravel:

sudo chmod -R 775 my-app/storage

Installazione dei Pacchetti

Laravel si basa su numerose librerie e componenti esterni che devono essere installati prima di poter utilizzare il framework. Questi pacchetti costituiscono l'ecosistema che rende Laravel così potente e versatile.

Navigate all'interno della directory dell'applicazione e installate tutti i pacchetti di default utilizzando Composer:

cd my-app/
composer install

Al termine della procedura, noterete la creazione di una nuova cartella chiamata vendor. Questa directory contiene tutti i package del framework, compresi quelli del core stesso che utilizzano il namespace Illuminate. È importante non modificare manualmente i contenuti di questa cartella: Composer la gestisce automaticamente.

Configurazione dell'Ambiente

Ogni installazione di Laravel necessita di un file di configurazione dell'ambiente che contenga informazioni sensibili e specifiche per il deployment corrente. Questo file, chiamato .env, non viene mai versionato in Git per ragioni di sicurezza.

All'interno dell'applicazione appena installata troverete un file modello chiamato .env.example. Createne una copia rinominandola in .env:

cp .env.example .env

Aprite il nuovo file .env con il vostro editor preferito e modificate i parametri per la connessione al database, inserendo le credenziali corrette del vostro ambiente:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password

Generazione della Application Key

Laravel utilizza una chiave di cifratura per proteggere dati sensibili come cookie, sessioni e password. Questa chiave deve essere unica per ogni installazione e sufficientemente robusta da resistere ad attacchi.

Salvate il file .env e generate una chiave sicura e casuale direttamente da terminale con il comando:

php artisan key:generate

Questo comando crea automaticamente una chiave crittograficamente sicura e la inserisce direttamente nel file .env alla voce APP_KEY. Ricordate di replicare questa operazione quando effettuerete il deploy in produzione, poiché ogni ambiente dovrebbe avere la propria chiave univoca.

Ottimizzazione e Test dell'Installazione

Siamo quasi giunti al termine del processo di installazione. Prima di visualizzare la pagina di benvenuto, è buona prassi pulire la cache del framework per garantire che tutte le configurazioni vengano caricate correttamente:

php artisan optimize

Questo comando esegue diverse operazioni di ottimizzazione, inclusa la cache delle rotte, delle configurazioni e dei file autoload di Composer.

Finalmente possiamo visualizzare la nostra pagina di benvenuto! Non avendo ancora configurato Apache o Nginx con un virtual host dedicato, utilizzeremo il web server incorporato in PHP, estremamente comodo per lo sviluppo locale:

php artisan serve

Questo comando avvierà un server di sviluppo locale, solitamente all'indirizzo http://127.0.0.1:8000. Aprite l'URL che il terminale vi ha restituito come output nel vostro browser preferito e godetevi la schermata di benvenuto del vostro nuovo framework Laravel! Se tutto è stato configurato correttamente, vedrete una pagina elegante con il logo di Laravel e alcuni link utili alla documentazione e alle risorse della community.