La piattaforma LAMP (Linux, Apache, MySQL, PHP) è uno degli stack più diffusi per lo sviluppo web e l’hosting di siti dinamici. È stabile, gratuito e ampiamente supportato. In questa guida ti mostrerò come installare e configurare **LAMP su Debian o Ubuntu** in modo sicuro e professionale, passo dopo passo.
Al termine, avrai un server web locale pronto per ospitare WordPress, Laravel, Joomla o qualsiasi applicazione PHP.
Prerequisiti
- Un sistema Debian 11/12 o Ubuntu 20.04/22.04/24.04 aggiornato.
- Accesso con un utente non root con privilegi
sudo. - Connessione Internet attiva.
Passo 1: Aggiorna il sistema
Prima di tutto, assicurati che il sistema sia aggiornato:
Passo 2: Installa Apache
Apache è il server web che gestirà le richieste HTTP.
Abilita e avvia il servizio:
Verifica che funzioni aprendo il browser e visitando:
O, da remoto, usa l’indirizzo IP del server:
Dovresti vedere la pagina predefinita di Apache “It works!”.
Passo 3: Installa MySQL (o MariaDB)
MySQL è il database relazionale. Su Debian/Ubuntu, spesso si installa MariaDB (un fork compatibile e open source).
Avvia e abilita il servizio:
Proteggi l’installazione di MySQL/MariaDB
Esegui lo script di sicurezza incluso:
Rispondi alle domande:
- Imposta la password per l’utente root? → Sì (scegli una password forte).
- Rimuovi utenti anonimi? → Sì
- Disabilita l’accesso root da remoto? → Sì (a meno che tu non ne abbia bisogno)
- Rimuovi il database di test? → Sì
- Ricarica le tabelle dei privilegi? → Sì
Passo 4: Installa PHP
PHP elabora il codice lato server. Installa PHP e i moduli più comuni:
Riavvia Apache per caricare il modulo PHP:
Passo 5: Verifica il funzionamento di PHP
Crea un file di prova nella directory web predefinita:
Inserisci questo codice:
Salva e chiudi (Ctrl+O, Invio, Ctrl+X).
Ora apri il browser e visita:
Dovresti vedere una pagina con tutte le informazioni sulla configurazione di PHP. Se vedi il codice sorgente, il modulo PHP non è attivo: controlla i passaggi precedenti.
Importante: Per sicurezza, elimina questo file dopo il test:
Passo 6: Configurazione base di sicurezza
- Non usare l’utente root di MySQL per le applicazioni. Crea un utente dedicato:
sudo mysql -u root -pPoi in MySQL:CREATE DATABASE miosito; CREATE USER 'utente_web'@'localhost' IDENTIFIED BY 'password_sicura'; GRANT ALL PRIVILEGES ON miosito.* TO 'utente_web'@'localhost'; FLUSH PRIVILEGES; EXIT;
- Limita l’accesso alla directory web: assicurati che i permessi siano corretti:
sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html
- Abilita il firewall (UFW):
sudo ufw allow OpenSSH sudo ufw allow 'Apache Full' sudo ufw enable
Passo 7: Gestire i tuoi siti (opzionale)
Per ospitare più siti, crea virtual host. Esempio per miosito.local:
Crea un file di configurazione:
Contenuto:
Abilita il sito e ricarica Apache:
Aggiungi il dominio al file hosts (solo per testing locale):
Aggiornamenti e manutenzione
Mantieni il sistema aggiornato regolarmente:
Monitora i log in caso di errori:
- Apache:
/var/log/apache2/error.log - MySQL:
/var/log/mysql/error.log - PHP: abilita
log_errors = Onin/etc/php/*/apache2/php.ini
Alternative e note
- NGINX invece di Apache? Usa lo stack LEMP (Linux, NGINX, MySQL, PHP).
- PostgreSQL invece di MySQL? Installa
postgresqle il modulo PHP corrispondente. - PHP versioni multiple? Su Ubuntu, puoi usare
ppa:ondrej/phpper versioni aggiornate.
Ora hai un ambiente LAMP completamente funzionante! Puoi installare WordPress, sviluppare applicazioni PHP o testare script in locale. Ricorda: un server web esposto a Internet richiede **sicurezza avanzata** — questa guida è pensata per ambienti controllati.
Pc Facile !