Guida Completa: Come Installare uno Stack LAMP su Ubuntu 24.04
Cos'è uno Stack LAMP e a Cosa Serve? Nel mondo dello sviluppo di applicazioni web, partire con il piede giusto è fondamentale. Uno degli ambienti di sviluppo più solidi e diffusi è lo stack LAMP, un acronimo che rappresenta un gruppo di componenti software open source, orchestrati per far funzionare siti web e servizi online. Questa guida ti mostrerà passo dopo passo come installare e configurare un server LAMP su Ubuntu 24.04 Noble Numbat.
Ma cosa significa esattamente LAMP? Analizziamo ogni lettera:
- L per Linux: In questo caso, Ubuntu 24.04. Linux è un sistema operativo robusto e flessibile, la base su cui costruiremo tutto il resto.
- A per Apache: È il server web, il software che riceve le richieste dai browser degli utenti e serve loro i contenuti, che siano semplici web statici o complesse pagine web dinamiche.
- M per MySQL (o MariaDB): È il database, uno dei più popolari sistemi di gestione di dati relazionali, indispensabile per memorizzare informazioni in modo strutturato.
- P per PHP: È il linguaggio di programmazione lato server che si interfaccia con il database e il server web per generare contenuti dinamici e costruire la logica delle tue applicazioni web.
Insieme, la triade L.A.M.P. Linux Apache Mysql PHP, costituisce una piattaforma potente e affidabile, scelta da milioni di sviluppatori per la sua stabilità e il vasto supporto della comunità open source.
1. Installare e Ottimizzare il Server Web Apache
Il primo passo è installare Apache2, il componente che gestirà le richieste HTTP. Invece di usare la configurazione di default, la ottimizzeremo subito per le massime performance utilizzando mpm_event e il protocollo HTTP/2.
Installiamo il pacchetto di Apache.
sudo apt update && sudo apt install apache2Disabilitiamo il modulo
mpm_prefork, meno performante, e abilitiamompm_event, ideale per gestire un alto numero di connessioni simultanee, insieme ahttp2per una comunicazione più veloce.sudo a2dismod mpm_prefork sudo a2enmod mpm_event http2Applichiamo le modifiche riavviando il servizio di Apache.
sudo systemctl restart apache2
2. Installare e Configurare PHP-FPM
Per eseguire il codice del nostro linguaggio di programmazione, PHP, utilizzeremo PHP-FPM (FastCGI Process Manager). È un'implementazione ad alte prestazioni che gestisce le richieste PHP in modo molto più efficiente rispetto al tradizionale mod_php, rendendola la scelta ideale per le moderne applicazioni web.
Installiamo PHP-FPM e i moduli necessari ad Apache per comunicare con esso.
sudo apt install php-fpm sudo a2enmod actions proxy_fcgi alias headersPer collegare Apache a PHP-FPM, modifica i tuoi file Virtual Host (che vedremo tra poco) aggiungendo questo blocco di codice. Indirizzerà tutte le richieste di file
.phpal servizio FPM.<FilesMatch ".+\.php$"> SetHandler "proxy:unix:/run/php/php8.3-fpm.sock" </FilesMatch>Installa i moduli PHP più comuni, necessari alla maggior parte dei sistemi di gestione di contenuti (CMS) e framework per lo sviluppo di applicazioni.
sudo apt install php-mysql php-curl php-gd php-intl php-mbstring php-xml php-zipRiavviamo sia PHP-FPM che Apache per rendere effettive tutte le modifiche.
sudo systemctl restart php8.3-fpm sudo systemctl restart apache2
3. Mettere in Sicurezza il Sito con HTTPS (Let's Encrypt)
Nessun sito moderno può fare a meno del protocollo HTTPS. Utilizzeremo Let's Encrypt e lo strumento certbot per ottenere e rinnovare automaticamente certificati SSL gratuiti e riconosciuti da tutti i browser.
Installa Certbot e il suo plugin per Apache.
sudo apt install certbot python3-certbot-apacheLancia lo strumento di configurazione guidata. Certbot rileverà i domini configurati nei tuoi Virtual Host e ti guiderà nella generazione del certificato e nella configurazione automatica di Apache per l'HTTPS.
sudo certbot --apacheVerifica che il rinnovo automatico funzioni correttamente con una simulazione.
sudo certbot renew --dry-run
Se tutto è andato a buon fine, il tuo sito sarà ora accessibile tramite https:// con un certificato valido.
4. Installare il Database: MySQL o MariaDB
L'ultimo dei componenti software del nostro stack LAMP è il database. MariaDB è un "fork" open source di MySQL, completamente compatibile e spesso preferito per le sue performance. La scelta dipende dalle tue esigenze.
Per installare MariaDB Server (scelta consigliata):
sudo apt install mariadb-serverIn alternativa, per installare MySQL Server:
sudo apt install mysql-server
Dopo l'installazione, è fondamentale mettere in sicurezza il database eseguendo lo script interattivo incluso.
sudo mysql_secure_installationQuesto script ti guiderà nella configurazione della password di root, nella rimozione degli utenti anonimi e del database di test, garantendo un livello di sicurezza base per il tuo ambiente di produzione.
Installare uno stack LAMP è solo l'inizio. Mantenerlo sicuro, ottimizzato e performante richiede tempo e competenze specifiche. Affidati a un nostro Consulente Linux esperto. Oggi 30 minuti di analisi gratuita del tuo sistema.
Domande Frequenti (FAQ)
Qual è la differenza tra LAMP e LEMP?
La differenza principale sta nel server web. LAMP usa Apache, mentre LEMP usa Nginx (la "E" sta per "Engine-X"). Nginx è noto per essere estremamente efficiente nel servire contenuti statici e nel gestire un altissimo numero di connessioni, mentre Apache è apprezzato per la sua flessibilità e i suoi potenti moduli come
.htaccess.Perché usare PHP-FPM invece del vecchio mod_php?
PHP-FPM esegue PHP come un servizio separato, permettendo una gestione delle risorse molto più granulare e performante. Questo approccio evita che il server web si blocchi sotto carico e migliora notevolmente la velocità di risposta delle applicazioni web, specialmente in combinazione con il modulo
mpm_eventdi Apache.Posso usare altri sistemi operativi al posto di Ubuntu?
Assolutamente sì. Sebbene questa guida sia specifica per Ubuntu, lo stack LAMP può essere installato su quasi tutti i sistemi operativi basati su Linux, come Debian, CentOS o Fedora. I comandi per la gestione dei pacchetti potrebbero variare (es.
yumodnfinvece diapt), ma i principi di configurazione rimangono gli stessi.