1. Introduction
About Installing Apache on Ubuntu
Apache è il software per server web più diffuso al mondo. Essendo un software open source, è altamente stabile e ricco di funzionalità, rendendolo adatto a tutto, dai progetti personali ai siti web aziendali su larga scala. Specialmente su distribuzioni Linux come Ubuntu, l’installazione e la configurazione di Apache è relativamente semplice, offrendo un ambiente adatto ai principianti.
In questo articolo forniremo una guida passo‑passo su come installare Apache su Ubuntu. Tratteremo anche la configurazione di base, la risoluzione dei problemi e le migliorie di sicurezza, per garantire che anche i principianti possano configurare senza difficoltà il proprio server web.
Why Choose Apache?
Apache è ampiamente utilizzato per i seguenti motivi:
- Open Source: Libero da usare e continuamente migliorato da una comunità attiva.
- Personalizzazione flessibile: Il suo sistema modulare consente agli utenti di aggiungere solo le funzionalità necessarie.
- Alta compatibilità: Funziona bene con molti linguaggi di programmazione e middleware (come PHP e MySQL), rendendolo ideale per configurare un stack LAMP.
Ubuntu è molto apprezzato sia dai principianti che dagli esperti, e si sposa bene con Apache, rendendolo una scelta eccellente per le prime configurazioni di un server.

2. Che cos’è Apache? Panoramica e casi d’uso
Panoramica di base di Apache
Apache è stato rilasciato per la prima volta nel 1995 e da allora è diventato il server web più popolare su Internet. Come software open source, è liberamente disponibile per chiunque possa scaricarlo e usarlo. Apache è noto per la sua stabilità e affidabilità, e molti siti web di grandi dimensioni in tutto il mondo si affidano a esso per l’hosting.
Casi d’uso di Apache
Apache è principalmente utilizzato come server web per servire file HTML, immagini, video, script PHP e altri contenuti web. I casi d’uso più comuni includono:
- Hosting di siti web: Usato per ospitare siti web aziendali, blog personali, siti di notizie e altri contenuti web.
- Esecuzione di applicazioni PHP: Supporta applicazioni web dinamiche costruite con PHP e MySQL (ad es. WordPress).
- Supporto SSL: Abilita HTTPS per fornire comunicazione sicura.
Apache utilizza una struttura modulare, consentendo agli utenti di aggiungere funzionalità secondo necessità. Ad esempio, mod_ssl
abilita la crittografia SSL/TLS, mentre mod_rewrite
permette la riscrittura e il reindirizzamento degli URL.
Confronto con altri server web
I principali concorrenti di Apache includono Nginx e LiteSpeed. Nginx eccelle nella gestione delle connessioni concorrenti ed è spesso utilizzato per siti ad alto traffico. Tuttavia, Apache ha una lunga storia, un ampio supporto e una ricca documentazione, rendendo facile la sua configurazione e gestione.
3. Prerequisiti e Preparazione
Configurazione Iniziale per Ubuntu
Prima di installare Apache su Ubuntu, sono necessarie alcune preparazioni iniziali. Prima di tutto, assicurati che Ubuntu funzioni correttamente e aggiorna il sistema all’ultima versione. Questo aiuta a prevenire problemi di installazione e garantisce l’accesso agli ultimi pacchetti.
Aggiornamento del Sistema
- Aggiorna l’elenco dei pacchetti eseguendo il seguente comando:
sudo apt update
- Aggiorna tutti i pacchetti di sistema:
sudo apt upgrade
Seguendo questi passaggi si garantisce che tutte le dipendenze necessarie siano installate correttamente per Apache.
Connessione via SSH
In molti casi, dovrai accedere al tuo server Ubuntu da remoto. Il metodo più comune è utilizzare SSH (Secure Shell), che consente una gestione sicura del server. Connettiti al server usando il seguente comando:
ssh username@server-ip-address
Una volta connesso via SSH, puoi procedere con l’installazione di Apache.

4. Installazione di Apache
Come installare Apache
Installare Apache su Ubuntu è semplice usando il gestore di pacchetti apt package manager. Segui questi passaggi:
1. Installazione di Apache
Esegui il seguente comando nel terminale per installare Apache2:
sudo apt install apache2
Questo comando installa Apache2 insieme a tutte le dipendenze necessarie.
2. Verifica dell’installazione
Dopo l’installazione, verifica se Apache è in esecuzione correttamente usando il seguente comando:
sudo systemctl status apache2
Se l’output mostra active (running)
, Apache è in esecuzione correttamente.
Abilitare l’avvio automatico
Per garantire che Apache si avvii automaticamente dopo il riavvio del server, abilita il servizio usando questo comando:
sudo systemctl enable apache2
Ora, Apache si avvierà automaticamente ogni volta che il server verrà riavviato.
Configurazione del firewall (UFW)
Se il tuo firewall è attivo, devi consentire il traffico HTTP (porta 80) e HTTPS (porta 443). Usa lo strumento firewall di Ubuntu, UFW, per aprire queste porte:
sudo ufw allow 'Apache'
Ciò garantisce che Apache possa accettare connessioni esterne.
5. Configurare e Gestire Apache
Gestire i Servizi Apache
Una volta installato Apache, è utile sapere come avviare, arrestare e riavviare il servizio secondo necessità.
Avvio del Servizio
Per avviare manualmente il servizio Apache, usa il seguente comando:
sudo systemctl start apache2
Arresto del Servizio
Se devi arrestare Apache, esegui questo comando:
sudo systemctl stop apache2
Riavvio del Servizio
Per riavviare Apache dopo aver apportato modifiche alla configurazione, usa:
sudo systemctl restart apache2
Verifica del Server Web
Per verificare che Apache funzioni correttamente, apri un browser web e accedi al tuo server usando il seguente URL:
http://localhost
Se accedi a un server remoto, sostituisci “localhost” con l’indirizzo IP del server.

6. Impostare i permessi e migliorare la sicurezza
Impostare i permessi dei file
Dopo aver installato Apache, è necessario configurare i permessi corretti per la directory radice del sito /var/www/html
. Questo garantisce che l’utente Apache (www-data
) possa accedere ai file correttamente.
sudo chown -R www-data:www-data /var/www/html
Impostazioni di sicurezza di base
Quando si rende un server web accessibile al pubblico, la sicurezza dovrebbe essere una priorità assoluta. Ecco alcune misure di sicurezza fondamentali:
- Disabilitazione dell’elenco delle directory: Previeni l’esposizione non intenzionale dei file modificando
/etc/apache2/apache2.conf
e aggiungendo la seguente riga:
Options -Indexes
- Configurazione del Firewall: Come menzionato in precedenza, assicurati che UFW sia configurato correttamente per consentire solo le porte necessarie.
- Abilitazione di SSL/TLS: Usa
Let's Encrypt
per ottenere un certificato SSL gratuito e proteggere le connessioni HTTPS.
7. Risoluzione dei problemi e problemi comuni
Problemi comuni e soluzioni
Anche con un’installazione corretta, i principianti possono incontrare alcuni problemi. Di seguito sono riportati alcuni problemi comuni e le relative soluzioni.
1. Apache non si avvia
Problema: L’esecuzione di sudo systemctl start apache2
non avvia Apache.
Causa: Un altro servizio potrebbe già utilizzare la porta 80.
Soluzione: Verifica quale processo sta usando la porta 80:
sudo lsof -i :80
Se un altro processo sta usando la porta 80, fermalo:
sudo kill [process ID]
Quindi riavvia Apache:
sudo systemctl start apache2
2. Impossibile accedere ad Apache da un browser
Problema: Apache è in esecuzione, ma il browser non riesce ad accedere a localhost
o all’indirizzo IP del server.
Causa: Il firewall potrebbe bloccare la porta 80 (HTTP) o la porta 443 (HTTPS).
Soluzione: Verifica le impostazioni del firewall:
sudo ufw status
Se le porte 80 e 443 non sono consentite, abilitarle:
sudo ufw allow 'Apache'
3. Errori di permessi
Problema: Il caricamento di file nella directory radice del sito genera errori di permessi.
Causa: La directory radice del sito (/var/www/html
) non ha i permessi necessari.
Soluzione: Assicurati della corretta proprietà:
sudo chown -R www-data:www-data /var/www/html
Se sono necessari permessi di scrittura aggiuntivi:
sudo chmod -R 755 /var/www/html
4. Errori di configurazione di Apache
Problema: Apache è in esecuzione ma non funziona correttamente a causa di errori di configurazione.
Causa: Potrebbero esserci errori nel file apache2.conf
o nei file dei virtual host.
Soluzione: Verifica la presenza di errori di sintassi:
sudo apache2ctl configtest
Se vengono rilevati errori, correggili secondo l’output, quindi riavvia Apache:
sudo systemctl restart apache2
8. Conclusione e Prossimi Passi
Riepilogo di questa Guida
In questo articolo, abbiamo coperto l’intero processo di installazione di Apache su Ubuntu e della sua corretta configurazione. Ecco i passaggi chiave:
- Preparazione di Ubuntu: Aggiornamento del sistema e configurazione dell’accesso SSH.
- Installazione di Apache: Utilizzando
apt
per installare Apache facilmente. - Configurazione del Firewall: Consentendo le porte necessarie (80 e 443).
- Gestione di Apache: Avvio, arresto e riavvio del servizio.
- Impostazione dei permessi e della sicurezza: Garantire la corretta proprietà dei file e migliorare la sicurezza.
- Risoluzione dei problemi: Risoluzione dei problemi comuni che possono verificarsi.
Prossimi Passi
Dopo aver installato Apache, il passo successivo è migliorare la sicurezza. Se prevedi di gestire un server web pubblico, considera quanto segue:
- Abilitazione di SSL/TLS: Proteggi il tuo sito web con HTTPS utilizzando
Let's Encrypt
per un certificato SSL gratuito. - Configurazione di uno stack LAMP: Installa MySQL e PHP per supportare applicazioni web dinamiche.
- Aggiungere Moduli: Estendere la funzionalità di Apache abilitando moduli come
mod_rewrite
per la riscrittura degli URL emod_ssl
per il supporto SSL/TLS.
Seguendo questi passaggi, avrai un server web completamente funzionante pronto per il deployment. Congratulazioni per aver configurato Apache su Ubuntu!