Tutorial > Come installare Laravel con LAMP e Composer su Ubuntu 20.04

Come installare Laravel con LAMP e Composer su Ubuntu 20.04

Pubblicato il: 29 settembre 2020

LAMP Laravel PHP Sviluppo Ubuntu

Introduzione

LAMP è un insieme di software che ti permettono di preparare un web server in grado di ospitare siti web dinamici o statici. L’acronimo LAMP prevede l’installazione, su sistemi Linux, del web server Apache, del database MySQL e del linguaggio PHP.

Laravel è il framework open source di tipo MVC più utilizzato per lo sviluppo di siti web e applicazioni in PHP.

In questo tutorial vedremo come installare questo insieme di software su Ubuntu 20.04, e in seguito come installare nel sistema il framework PHP Laravel tramite il gestore di pacchetti “Composer”.

Per iniziare dovrai connetterti al tuo server tramite una connessione SSH. Se non l’hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in sicurezza con il protocollo SSH. In caso di server locale puoi passare al punto successivo e aprire il terminale del tuo server.

Installazione di Apache

Prima di procedere, aggiorna i repository ufficiali dei pacchetti Ubuntu utilizzando il comando apt:

sudo apt update

Una volta completato, puoi procedere con l’installazione di Apache:

sudo apt install apache2 -y

Assicurati di abilitare il traffico sulla porta 80 utilizzata da Apache, usando il firewall UFW:

sudo ufw allow in "Apache Full"

A questo punto il server è pronto con le configurazioni di default: per verificare il suo corretto funzionamento ti basta collegarti all’indirizzo IP pubblico del tuo server attraverso qualunque browser:

http://<INDIRIZZO_IP_SERVER>

Ricorda che, qualora dovessi modificare la configurazione di Apache, è necessario riavviare il servizio attraverso il comando:

sudo service apache2 reload

In alternativa puoi riavviare completamente il servizio usando:

sudo service apache2 restart

Per fermare o avviare il servizio puoi usare i comandi “start” o “stop”:

sudo service apache2 stop
sudo service apache2 start

Installazione di MySQL

Per installare il database MySQL, utilizza il comando apt indicando il pacchetto “mysql-server” come segue:

sudo apt install mysql-server -y

Una volta completato il servizio MySQL è disponibile all’interno del sistema. Come tutti gli altri servizi, qualora fosse necessario (ad esempio dopo aver modificato la configurazione dello stesso), puoi riavviare MySQL attraverso il comando:

sudo service mysql restart

Prima di procedere è necessario “mettere in sicurezza” l’attuale installazione: ovvero avviare una procedura che ti guiderà nel rimuovere tutti gli utenti anonimi, disabilitare il login amministratore (root) da remoto e rimuovere i database di test pre-installati di default:

sudo mysql_secure_installation

La prima domanda che ti viene fatta è se utilizzare il “VALID PASSWORD COMPONENT”, un tool in grado di rifiutare eventuali password non sicure durante la creazione degli utenti:

VALIDATE PASSWORD COMPONENT can be used to test passwords
…
Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:

Per abilitare il componente, digita Y e scegli un livello di sicurezza fra 0: Basso, 1: Medio o 2: Alto.

Ti verrà inoltre chiesto di inserire una nuova password per l'utente root, che utilizzerai per accedere al servizio solo attraverso connessioni effettuate dalla stessa macchina.

Dopo aver inserito la nuova password, prosegui rispondendo “y” a tutte le domande che ti verranno poste.

Verifica quindi la corretta installazione, effettuando il login come utente amministratore:

mysql -u root -p

Inserendo la password di root indicata precedentemente, dovresti accedere alla console di gestione.

Per uscire digita “exit:”

mysql> exit;

Installazione di PHP

Per procedere con un'installazione minimale di PHP, puoi installare i pacchetti “php”, “libapache2-mod-php” e “php-mysql” attraverso il comando:

sudo apt install php libapache2-mod-php php-mysql -y 

Tuttavia se ritieni di dover utilizzare software complessi, come ad esempio WordPress o altri CMS, potrebbe tornare utile installare anche altri pacchetti di supporto attraverso:

sudo apt install php-xml php-intl php-gd php-mbstring -y

Dopo aver completato è necessario riavviare Apache per applicare le modifiche fatte:

sudo service apache2 restart

Per verificare la corretta installazione di PHP crea un file “info.php” nella cartella /var/www/html/ utilizzando un editor di testo (ad esempio, nano):

sudo nano /var/www/html/info.php

Copia all’interno del file appena aperto la seguente stringa:

<?php phpinfo(); ?>

Salva il file e apri con il browser l’indirizzo del file:

http://<INDIRIZZO_IP_SERVER>/info.php

Se tutto funziona correttamente dovresti visualizzare l’attuale versione di PHP installata, le estensioni presenti e tutti i dati della configurazione attuale.

Installazione di Composer

Prima di proseguire assicurati di avere a disposizione il comando “curl”:

sudo apt install curl -y

Utilizza quindi curl per scaricare il software di installazione ufficiale:

curl -sS https://getcomposer.org/installer -o composer-setup.php

A questo punto puoi decidere se installare Composer a livello globale nel sistema, oppure se installarlo come script locale, da richiamare occasionalmente quando richiesto.

Installazione globale di Composer

Per effettuare l’installazione globale di Composer utilizza il seguente comando:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Dopo aver digitato questo comando, verrà creato un file nella cartella attuale chiamato “composer”.

Per verificare la sua installazione e visualizzare la versione installata, utilizza il comando:

composer -v

Installazione locale di Composer

In alternativa, per effettuare l’installazione locale di Composer utilizza:

sudo php composer-setup.php

Per verificare la sua installazione e visualizzare la versione installata, usa il comando:

php ./composer.phar -v

Installazione di Laravel

Completata l’installazione di Composer, puoi procedere con l’installazione di Laravel entrando prima nella directory principale di Apache e rimuovendo i file di esempio presenti:

cd /var/www/html/
rm ./*

Utilizza quindi il comando create-project di Composer per installare Laravel nella directory attuale (utilizzando il carattere “.” presente alla fine del comando):

composer create-project --prefer-dist laravel/laravel .

Procedi impostando correttamente i permessi per le cartelle appena create:

chown www-data:www-data ./* -R

Una volta completato non ti resta che correggere la configurazione di Apache, impostando come cartella da servire quella denominata “public”, appena creata da Laravel. Apri quindi il file:

vim /etc/apache2/sites-available/000-default.conf

All’interno troverai la voce “DocumentRoot” con il valore di default “/var/www/html/“, cambialo come segue:

DocumentRoot /var/www/html/public

Salva le modifiche e riavvia il servizio:

sudo service apache2 reload

Configurazione del database

Per permettere a Laravel di accedere a un database, è necessario creare un’utenza e assegnarle dei permessi. Avvia la console MySQL inserendo la password indicata in fase di installazione:

mysql -u root -p 

Quindi crea il database e l’utente:

CREATE DATABASE laravel;
CREATE USER 'laravel_user'@'%' IDENTIFIED BY 'z98seQsXSn7711f';

Completa assegnando i permessi sul database appena creato:

GRANT ALL PRIVILEGES ON laravel. * TO 'laravel_user'@'%';

FLUSH PRIVILEGES;

exit

A questo punto non ti resta che modificare il file contenente le variabili d’ambiente “.env” (punto compreso) presente nella directory di Laravel:

nano .env

Apporta le modifiche al file come indicato sotto e salva:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel_user
DB_PASSWORD=z98seQsXSn7711f

Una volta completato, visitando l’indirizzo del tuo server, dovresti visualizzare la pagina di esempio installata da Laravel:

http://<INDIRIZZO_IP_SERVER>/info.php

Conclusione

Se hai seguito correttamente tutti i passaggi di questa guida, l’installazione di Laravel appena completata dovrebbe permetterti di avviare una nuova applicazione. Per eventuali approfondimenti ti consigliamo di consultare la documentazione ufficiale, presente all’indirizzo https://laravel.com/docs/8.x.

La maggior parte dei servizi installati in questo tutorial non richiedono un’ulteriore configurazione o messa in sicurezza, tuttavia, un’attenzione particolare va dedicata alla configurazione di Apache.

In questo tutorial abbiamo modificato solo leggermente le configurazioni di default, che non prevedono l’utilizzo degli Host Virtuali, necessari per configurare web server con più di un dominio. Se hai bisognodi ospitare diversi siti web all’interno del tuo server, puoi consultare la nostra guida su Come creare Virtual Host con Apache.