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.