Salta al contenuto principale

Installare Laravel in locale su ambiente Linux

Profile picture for user luca77king

Laravel è un framework PHP open-source creato da Taylor Otwell per sviluppare applicazioni web veloci e sicure. Segue il modello architettonico MVC (Model-View-Controller) e fornisce funzionalità integrate per il routing, la gestione dei database, la mappatura oggetti-relazionali, l'autenticazione e il caching.

Laravel utilizza Composer per gestire le dipendenze e include diverse librerie e moduli utilizzati nello sviluppo web. Attualmente, Laravel è uno dei framework più popolari per lo sviluppo in PHP 

Il framework vanta una grande comunità con oltre 43.000 membri sul suo sito web principale e quasi 600.000 sul suo canale Slack. Il sito web di Laravel fornisce un'ampia documentazione e video tutorial per aiutare gli sviluppatori neofiti a iniziare rapidamente. Inoltre, sono disponibili molti libri e corsi online per aiutare gli sviluppatori a imparare a usare il framework in modo efficace 

Che si stia iniziando un nuovo progetto o si stia cercando una soluzione più robusta per applicazioni web preesistenti, Laravel è sicuramente una scelta da prendere in considerazione. Grazie alla sua attenzione alla sicurezza e alla velocità, Laravel può aiutarti a creare applicazioni web di alta qualità che siano sicure e reattive.

In questo articolo, parleremo di come installare Laravel su Ubuntu 22.04 con PHP 8

Per installare Laravel su Ubuntu con PHP 8, dobbiamo seguire i seguenti passaggi:

Aggiornare l'ambiente

Se vuoi installare Laravel 9, devi avere installato le seguenti librerie PHP: ctype, json, mbstring, tokenizer, xml e curl. Puoi verificare se queste librerie sono installate eseguendo php -m dalla riga di comando. Se una di queste librerie manca, dovrai installarla prima di procedere.

Ad esempio, nel redigere questo tutorial ho testato l’installazione in un ambiente “vergine”. Le librerie mancanti rilevate risultano essere ext-dom e curl. Quindi installiamole con questi due comandi

sudo apt install php-xml 
sudo apt install php-curl

Una volta installate le librerie necessarie, puoi procedere all'installazione di Laravel 9 seguendo le istruzioni successive.
 

Installare Composer a livello globale

Per installare Laravel è necessario che Composer sia installato sul tuo computer. Se non hai installato Composer, puoi consultare la documentazione ufficiale o seguire un mio precedente tutorial.

Installare Laravel

Una volta installato Composer, apri il tuo terminale e naviga nella directory in cui desideri installare Laravel. Quindi esegui il seguente comando 

composer create-project laravel/laravel example-app

In questo modo verrà creata una nuova directory all'interno della directory specificata, denominata example-app, all'interno della quale verranno scaricate e installati tutti i file necessari per un nuovo progetto Laravel che, al momento di questo articolo, è Laravel 9.2

A questo punto dobbiamo installare le dipendenze del progetto che saranno collocate all'interno della cartella vendor. Entriamo all’interno della root del progetto e lanciamo il composer install

cd example-app
composer install

Impostare i permessi

Adesso andiamo ad occuparci dei permessi. Nel tutorial relativo all’installazione di LAMP ho scritto di aggiungere l’utente corrente al gruppo www-data, gruppo predefinito di Apache. Questo perché? Perché i framework come Laravel dispongono di una CLI che può eseguire i vari scripts php del progetto. Scripts che a loro volta sono invocati da Apache.

Quindi impostiamo il proprietario e il gruppo per tutta l’applicazione:

cd ..
sudo chown -R $USER:www-data /example-app

Ora assegniamo la modalità 775 per la cartella storage, dove Laravel salva tutti i files generati, compresi i logs.

La modalità 775 assegna all'utente i permessi di lettura, scrittura ed esecuzione (7). Al gruppo i permessi di lettura, scrittura ed esecuzione (7). Agli altri utenti i permessi di lettura ed esecuzione (5).

sudo chmod -R 775 /example-app/storage

Creazione del virtual host

Con pochi semplici passaggi, possiamo configurare il server web Apache per utilizzare correttamente Laravel su Ubuntu. 

Il file di configurazione che c’interessa è collocato nel sistema secondo questo percorso: /etc/apache2/sites-available/000-default.conf

Apriamolo con i permessi di root e aggiungiamo il seguente blocco

<VirtualHost *:80>
        ServerAdmin webmaster@laravel.loc
        ServerName  wwww.laravel.loc
        ServerAlias laravel.loc
        DirectoryIndex index.html index.htm index.php
        DocumentRoot /var/www/html/example-app/public
        <Directory /var/www/html/example-app/public>
            Options FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
        </Directory>
</VirtualHost>

Salviamo e modifichiamo il file hosts in modo che quando sarà invocato il DNS "laravel.loc", risponderà il nostro localhost

Il file si trova al seguente percorso /etc/hosts e al suo interno dobbiamo aggiungere questa riga

127.0.0.1    laravel.loc

Salviamo e riavviamo apache

sudo service apache2 restart

Laravel dispone anche del comando serve, una scorciatoia per il server web incorporato in PHP, che ha lo scopo di testare la propria applicazione il più velocemente possibile. ma se si ha già Apache installato, non c'è motivo di usarlo.

Creazione del database

Abbiamo bisogno di un database, non credo che serva scrivere come se ne crea uno. Anche perchè l’ho già fatto nel tutorial relativo a LAMP.

Do per scontato che lo sappiate di fare e per intenderci nei passaggi successivi, chiameremo questo database laravel_db

Modificare il file env

Il file .env è un file che contiene le variabili specifiche dell'ambiente. In genere viene utilizzato nello sviluppo per memorizzare credenziali, chiavi API e altre informazioni riservate. 

Il file .env non viene impegnato nel controllo di versione, quindi può essere utilizzato per memorizzare informazioni sensibili che non dovrebbero essere accessibili al pubblico. Quando l'applicazione viene distribuita, il file .env può essere sostituito con un file .env specifico per la produzione. 

Il file .env di Laravel si trova nella directory principale dell'applicazione e viene utilizzato per caricare le variabili d'ambiente. 

Laravel fornisce anche un comando artisan per generare un nuovo file .env: 

php artisan env:generate

Questo comando creerà un nuovo file .env con tutte le variabili richieste, che potranno poi essere popolate con i tuoi valori. In alternativa è possibile anche copiare il file .env.example e rinominarlo in .env

In ogni modo, ora settiamo i parametri per la connessione al db

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

Ora lanciamo il comando per ripulire la cache

php artisan optimize

Ultimo passaggio consiste nel lanciare il comando

php artisan key:generate

Questo comando serve a generare una chiave sicura e casuale che viene poi utilizzata per criptare varie parti del framework, come i cookie e le sessioni dei file. Il comando key:generate aggiunge la chiave direttamente nel file .env. Si tratta di una parte importante del processo di installazione di Laravel ed è essenziale per garantire la sicurezza della tua applicazione.

Rilanciamo il comando per ripulire la cache e inseriamo nella barra degli indirizzi del browser l’url http://laravel.loc per goderci il nostro framework.