Come installare e configurare Laravel

In questo capitolo vedremo come installare correttamente Laravel su ambiente Linux con l’obiettivo finale di visualizzare a video la schermata di benvenuto. Installeremo l’ultima versione stabile che, nel momento in cui si scrive, è la 9.41.0

Innanzitutto, dobbiamo verificare la presenza delle dipendenze necessarie per far girare il software:

  • PHP >= 8.0.2
  • Le librerie ctype, json, mbstring, tokenizer, xml e curl
  • Composer
  • Un database relazionale
  • Node.js
  • NPM

Laravel 9 supporta 5 RDBMS:

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

In questa guida faremo riferimento a MySQL. Cominciamo proprio dal database, creando lo schema per la nostra prima applicazione Laravel. Non mi soffermo sulle varie procedure di questa fase, supponendo che sappiate come creare un database, un utente per MySQL e abbinare i relativi permessi.

Fatto questo, dobbiamo occuparci dei permessi a livello di sistema. Questo perché? Perché come abbiamo detto nel capitolo introduttivo di questa guida, Laravel dispone di una CLI di comando che viene utilizzata dall’utente di sistema, mentre l’applicazione web viene invocata dall’utente del web server. Quindi, per farla breve, dobbiamo aggiungere l’utente di sistema al gruppo del web server.

Se utilizziamo Apache, sulle distribuzioni basate su Debian, utente e gruppo si chiamano www-data, mentre sulle distro Red Hat la denominazione è apache.

Quindi, supponendo che siamo su Ubuntu, lanciamo il seguente comando da terminale

sudo usermod -a -G www-data $USER

Sempre da terminale, navighiamo fino alla cartella del web server che ospiterà la nuova applicazione e successivamente scarichiamo attraverso l’ultima versione di Laravel:

composer create-project laravel/laravel mr-webmaster

Terminata la procedura, torniamo ad occuparci dei permessi, impostando correttamente utente e gruppo per tutta l’applicazione

sudo chown -R $USER:www-data mr-webmaster/

Diamo la possibilità al software di scrivere sulla cartella destinata al salvataggio dei logs e dei files

sudo chmod -R 775 mr-webmaster/storage

Ora navighiamo all’interno dell’applicazione e installiamo i pacchetti di default, utilizzando sempre composer

cd mr-webmaster/
composer install

Al termine della procedura vedremo una nuova cartella vendor, dove sono contenuti tutti i packages del framework, compresi quelli del core stesso che hanno come namespace Illuminate.

Il prossimo step è la creazione del file di configurazione dell’ambiente. All’interno dell’applicazione che abbiamo installato c’è un modello da cui partire, .env.example. Creiamone una copia, rinominandola in .env

cp .env.example .env

Apriamo il nuovo file .env e modifichiamo i parametri per la connessione al database, impostando quelli corretti del nostro 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

Salviamo il file e da terminale generiamo una chiave sicura e casuale che verrà utilizzata dal framework per criptare elementi come cookie e sessioni dei file.

php artisan key:generate

Questo comando aggiunge la chiave direttamente nel file .env, quindi ricordiamoci di replicare l’operazione nel momento in cui si farà il deploy in produzione.

Ok, abbiamo quasi finito. Lanciamo il comando per ripulire la cache del software

php artisan optimize

E finalmente possiamo visualizzare la nostra pagina di benvenuto. Non abbiamo ancora configurato Apache, quindi useremo il web server incorporato in PHP, digitando da terminale il comando

php artisan serve

Apriamo l’url che il terminale ci ha restituito come output e godiamoci il nostro nuovo framework.