Installazione Laravel · 9 min read · Nov 01, 2025
Come installare il framework PHP Laravel con Nginx e SSL gratuito di Let's Encrypt su AlmaLinux 8

Laravel è un framework web PHP gratuito, open-source e leggero utilizzato per costruire applicazioni web basate su PHP. È popolare grazie alla sua sintassi elegante, alle funzionalità avanzate e al robusto set di strumenti. È basato sul framework Symfony e aiuta gli sviluppatori a semplificare lo sviluppo di applicazioni web. Fornisce anche un’interfaccia a riga di comando Artisan per eseguire operazioni per le tue applicazioni. Offre funzionalità potenti tra cui Artisan, architettura MVC, mappatura oggetto-relazionale, motore di template, test unitari e sistema di migrazione del database.
In questo post, ti mostreremo come installare Laravel con Nginx su Alma Linux 8.
Prerequisiti
- Un server che esegue Alma Linux 8.
- Un nome di dominio valido puntato all’IP del tuo server.
- Una password di root configurata sul tuo server.
Installare il server LEMP
Prima di tutto, dovrai installare Nginx, MariaDB, PHP e altre estensioni PHP richieste sul tuo server. Puoi installarli tutti eseguendo il seguente comando:
dnf install nginx mariadb-server php php-fpm php-common php-xml php-mbstring php-json php-zip php-mysqlnd curl unzip -yDopo aver installato tutti i pacchetti, modifica il file di configurazione di php-fpm e configurarlo per utilizzare Nginx:
nano /etc/php-fpm.d/www.confCambia le seguenti righe:
listen.owner = nginx
listen.group = nginx
Salva e chiudi il file, quindi modifica il file di configurazione PHP e cambia i valori predefiniti:
nano /etc/php.iniCambia le seguenti righe:
date.timezone = Asia/Kolkata
cgi.fix_pathinfo=1
Salva e chiudi il file, quindi avvia e abilita i servizi Nginx, MariaDB e PHP-FPM utilizzando il seguente comando:
systemctl start nginx
systemctl start mariadb
systemctl start php-fpm
systemctl enable nginx
systemctl enable mariadb
systemctl enable php-fpmUna volta terminato, puoi procedere al passaggio successivo.
Installare Composer
In questo post, installeremo Laravel utilizzando Composer. Quindi dovrai installare Composer sul tuo sistema. Puoi installarlo eseguendo il seguente comando:
curl -sS https://getcomposer.org/installer | phpOtterrai il seguente output:
All settings correct for using Composer
Downloading...
Composer (version 2.2.3) successfully installed to: /root/composer.phar
Use it: php composer.phar
Successivamente, sposta il binario di Composer nel percorso di sistema e imposta i permessi corretti con il seguente comando:
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composerSuccessivamente, verifica la versione di Composer con il seguente comando:
composer --versionOtterrai il seguente output:
Composer version 2.2.3 2021-12-31 12:18:53
Installare Laravel su Alma Linux 8
Successivamente, cambia la directory nella directory radice web di Nginx e installa Laravel utilizzando Composer:
cd /var/www/html/
composer create-project --prefer-dist laravel/laravel laravelOtterrai il seguente output:
Discovered Package: facade/ignition
Discovered Package: fideloper/proxy
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
69 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan key:generate --ansi
Application key set successfully.
Successivamente, imposta la proprietà e i permessi corretti per Laravel:
chown -R nginx:nginx /var/www/html/laravel/
chown -R nginx:nginx /var/www/html/laravel/storage/
chown -R nginx:nginx /var/www/html/laravel/bootstrap/cache/
chmod -R 0777 /var/www/html/laravel/storage/
chmod -R 0775 /var/www/html/laravel/bootstrap/cache/Una volta terminato, puoi procedere al passaggio successivo.
Creare un host virtuale Nginx per Laravel
Successivamente, dovrai creare un file di configurazione Nginx per Laravel. Puoi crearlo utilizzando il seguente comando:
nano /etc/nginx/conf.d/laravel.confAggiungi le seguenti righe:
server {
listen 80;
server_name laravel.exampledomain.com;
root /var/www/html/laravel/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-fpm/www.sock;
}
location ~ \.ht {
deny all;
}
}
Salva e chiudi il file, quindi verifica Laravel per eventuali errori di configurazione:
ginx -tDovresti ottenere il seguente output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Successivamente, riavvia i servizi Nginx e PHP-FPM per applicare le modifiche:
systemctl restart php-fpm
systemctl restart nginxPuoi anche verificare lo stato di Nginx utilizzando il seguente comando:
systemctl status nginxOtterrai il seguente output:
? nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/nginx.service.d
??php-fpm.conf
Active: active (running) since Fri 2022-01-07 08:29:11 UTC; 4s ago
Process: 8186 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 8184 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 8182 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 8188 (nginx)
Tasks: 2 (limit: 11411)
Memory: 3.7M
CGroup: /system.slice/nginx.service
??8188 nginx: master process /usr/sbin/nginx
??8189 nginx: worker process
Jan 07 08:29:11 linux systemd[1]: nginx.service: Succeeded.
Jan 07 08:29:11 linux systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Jan 07 08:29:11 linux systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 07 08:29:11 linux nginx[8184]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 07 08:29:11 linux nginx[8184]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 07 08:29:11 linux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jan 07 08:29:11 linux systemd[1]: Started The nginx HTTP and reverse proxy server.
Configurare il firewall per Laravel
Successivamente, dovrai consentire le porte 80 e 443 attraverso il firewall firewalld. Puoi consentirle con il seguente comando:
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=httpsSuccessivamente, ricarica il firewalld per applicare le modifiche:
firewall-cmd --reloadAccedere all’interfaccia web di Laravel
Ora, apri il tuo browser web e accedi all’interfaccia web di Laravel utilizzando l’URL http://laravel.exampledomain.com. Dovresti vedere la pagina predefinita di Laravel sullo schermo seguente:

Abilitare SSL sul sito web di Laravel
Si consiglia di abilitare SSL sul sito web di Laravel per proteggere la connessione. Let’s Encrypt fornisce un SSL gratuito per ottenere, rinnovare e gestire certificati SSL/TLS per il tuo dominio. Prima di tutto, installa il client Certbot con il seguente comando:
dnf install epel-release -y
dnf install certbot -ySuccessivamente, esegui il seguente comando per scaricare SSL di Let’s Encrypt per il tuo dominio Laravel:
certbot --nginx -d laravel.exampledomain.comTi verrà chiesto di fornire la tua email valida e accettare i termini di servizio come mostrato di seguito:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for laravel.exampledomain.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/laravel.conf
Successivamente, seleziona se reindirizzare o meno il traffico HTTP a HTTPS:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Digita 2 e premi invio per avviare il processo. Una volta installato il certificato, dovresti vedere il seguente output:
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/laravel.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://laravel.exampledomain.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=laravel.exampledomain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/laravel.exampledomain.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/laravel.exampledomain.com/privkey.pem
Your cert will expire on 2022-04-11. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
- We were unable to subscribe you the EFF mailing list because your
e-mail address appears to be invalid. You can try again later by
visiting https://act.eff.org.
A questo punto, il tuo sito web Laravel è protetto con SSL di Let’s Encrypt. Puoi ora accedervi in modo sicuro utilizzando l’URL https://laravel.exampledomain.com.
Conclusione
Congratulazioni! hai installato con successo Laravel con Nginx e SSL di Let’s Encrypt su Alma Linux 8. Puoi ora iniziare a sviluppare applicazioni basate su PHP utilizzando il framework Laravel. Sentiti libero di chiedermi se hai domande.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.