Come installare Laravel PHP Framework con Nginx su Ubuntu 20.04
Laravel è il framework PHP più popolare, gratuito e open source al mondo, noto per la sua sintassi espressiva ed elegante. Laravel è accessibile, potente e offre alcuni dei migliori strumenti di sviluppo web necessari per applicazioni grandi, robuste e moderne.
In questo articolo imparerai come installare Laravel PHP Framework sul server Ubuntu 20.04 in esecuzione sul server web Nginx.
Prerequisiti
- Come installare lo stack LEMP con PhpMyAdmin in Ubuntu 20.04
Passaggio 1: installazione dei moduli PHP richiesti
Dopo aver configurato lo stack LEMP sul tuo server Ubuntu 20.04 come descritto nella guida nel link sopra, devi installare le estensioni PHP aggiuntive richieste da Laravel come segue:
sudo apt update
sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer
Passaggio 2: creazione di un database per Laravel
Successivamente, devi creare un database MySQL per la tua applicazione Laravel. Quindi, accedi alla tua shell mysql e crea il database come segue.
sudo mysql
MariaDB [(none)]> CREATE DATABASE laraveldb;
MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit
Passaggio 3: installazione di Composer in Ubuntu 20.04
Laravel utilizza il compositore (un gestore delle dipendenze per PHP) per gestire le sue dipendenze. Pertanto, prima di utilizzare Laravel, assicurati di avere Composer installato sul tuo sistema come mostrato.
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
Passaggio 4: installazione di Laravel in Ubuntu 20.04
Dopo aver installato il compositore, utilizzalo per installare i file Laravel. Spostati nella directory /var/www/html
dove sono archiviati i file web, quindi installa Laravel utilizzando il compositore come mostrato. Ricordati di sostituire example.com
con il nome della directory in cui verranno archiviati i file Laravel.
cd /var/www/html
composer create-project --prefer-dist laravel/laravel example.com
Passaggio 5: configurazione di Laravel in Ubuntu 20.04
Per elencare i contenuti della nuova installazione Laravel, esegui il seguente comando ls. Noterai che è stato creato automaticamente un file .env
che in passato avrebbe dovuto essere creato manualmente.
ls -la /var/www/html/example.com/
Successivamente, imposta le autorizzazioni appropriate sulla directory Laravel come segue.
sudo chown -R :www-data /var/www/html/example.com/storage/
sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/
sudo chmod -R 0777 /var/www/html/example.com/storage/
sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/
Successivamente, Laravel utilizza una chiave dell'applicazione per proteggere le sessioni utente e altri dati crittografati. Il .env
predefinito contiene una chiave dell'applicazione predefinita ma è necessario generarne una nuova per la distribuzione laravel per motivi di sicurezza.
sudo php artisan key:generate
La chiave generata verrà aggiunta al file .env
come valore di APP_KEY
. È possibile visualizzare la chiave aggiunta utilizzando il comando grep.
grep -i APP_Key /var/www/html/example.com/.env
È inoltre necessario configurare i dettagli della connessione al database Laravel in .env
come mostrato nello screenshot seguente.
sudo nano /var/www/html/example.com/.env
Passaggio 6: configurazione di NGINX per servire l'applicazione Laravel
Affinché NGINX possa servire la tua nuova applicazione, devi creare un blocco server all'interno della configurazione NGINX, nella directory /etc/nginx/sites-available/
.
sudo nano /etc/nginx/sites-available/example.com.conf
Nella configurazione seguente, aggiorna la direttiva root alla directory pubblica dell'applicazione Laravel e assicurati di sostituire www.example.com
con il nome di dominio del tuo sito web come mostrato.
Inoltre, imposta la direttiva fastcgi_pass
affinché punti al mezzo su cui PHP-FPM è in ascolto per le richieste (ad esempio fastcgi_pass unix:/run/php/php7.4 -fpm.sock
):
server{
server_name www.example.com;
root /var/www/html/example.com/public;
index index.php;
charset utf-8;
gzip on;
gzip_types text/css application/javascript text/javascript application/x-javascript image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php {
include fastcgi.conf;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
Salvare il file e quindi abilitare la configurazione del sito Laravel creando un collegamento da /etc/nginx/sites-available/example.com.conf
a /etc/nginx/sites-enabled/ directory . Inoltre, rimuovi la configurazione di blocco del server predefinita.
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
Successivamente, controlla se la sintassi di configurazione di NGINX è corretta eseguendo il comando seguente prima di riavviare il servizio.
sudo nginx -t
sudo systemctl restart nginx
Passaggio 7: accesso all'applicazione Laravel da un browser Web
In questa fase, devi verificare se la tua distribuzione Laravel funziona correttamente e se è possibile accedervi da un browser. Per utilizzare il dominio fittizio, example.com
, utilizziamo il file /etc/hosts
sul tuo computer locale per creare DNS locale.
Esegui i seguenti comandi per ottenere l'indirizzo IP del server Laravel e aggiungerlo al file /etc/hosts
(sostituisci il valore in base alle tue impostazioni).
$ip annuncio
$echo “192.168.56.11 esempio.com” | sudo tee -a /etc/hosts
Ora apri un browser web sul computer locale e utilizza il seguente indirizzo per navigare.
http://www.example.com/
Ora che hai installato Laravel, puoi iniziare a creare la tua applicazione web o il tuo sito. Per ulteriori informazioni, consultare la documentazione di Laravel.