Il server HTTP Apache è uno dei server web più utilizzati e affidabili al mondo. Questa soluzione open-source fornisce funzionalità avanzate, tra cui moduli caricabili dinamicamente, un eccellente supporto multimediale e una perfetta integrazione con altri software popolari. Per approfondimenti tecnici, puoi fare riferimento alla documentazione ufficiale di Apache.
Fase 1: Installazione di Apache su Ubuntu
Apache è disponibile direttamente all’interno dei repository software predefiniti di Ubuntu Server, rendendo l’installazione rapida e sicura tramite i classici strumenti di gestione dei pacchetti.
Per iniziare, è fondamentale aggiornare l’indice locale dei pacchetti per assicurarsi di scaricare l’ultima versione disponibile:
sudo apt update Successivamente, procedi con l’installazione del pacchetto apache2:
sudo apt install apache2 Dopo aver confermato l’operazione, il gestore di pacchetti apt installerà automaticamente Apache insieme a tutte le dipendenze di sistema necessarie.
Fase 2: Regolazione del firewall UFW
Prima di testare il corretto funzionamento di Apache, è indispensabile configurare le impostazioni del firewall per consentire l’accesso esterno alle porte web predefinite. Su Ubuntu, si utilizza generalmente UFW (Uncomplicated Firewall) per limitare gli accessi al server.
Durante la fase di installazione, Apache registra automaticamente alcuni profili applicazione all’interno di UFW. Questi profili semplificano l’abilitazione o la disabilitazione del traffico web attraverso il firewall.
Per visualizzare l’elenco dei profili configurati nell’applicazione ufw, esegui il comando:
sudo ufw app list
Un tipico output del terminale sarà simile al seguente:
Applicazioni disponibili: Apache Apache Full Apache Secure
Configurazione dei Profili Apache
Come evidenziato dall’output, il sistema mette a disposizione tre profili principali per la gestione di Apache:
- Apache: questo profilo apre esclusivamente la porta 80 (destinata al traffico web standard e non crittografato).
- Apache Full: apre simultaneamente la porta 80 e la porta 443 (necessaria per il traffico web protetto e crittografato tramite certificato TLS/SSL).
- Apache Secure: apre unicamente la porta 443. Fino a quando non avrai configurato correttamente un certificato SSL per il tuo server, è consigliabile abilitare solo il profilo di base per consentire il traffico HTTP sulla porta 80:
sudo ufw allow 'Apache' Puoi verificare istantaneamente l’avvenuta modifica controllando lo stato del firewall con questo comando:
sudo ufw status Traffico web ora abilitato per Apache.
Fase 3: Verifica dello stato del server Web
Al termine della procedura di installazione, il demone di Apache si avvia automaticamente. Di conseguenza, il tuo nuovo server web risulterà da subito attivo e funzionante in background.
Per avere la certezza assoluta che il servizio sia in esecuzione, utilizza l’apposito comando di stato:
sudo systemctl status apache2 L’output del terminale ti confermerà che il servizio è avviato in modo corretto. Tuttavia, il metodo pratico migliore per validare l’installazione è richiedere la renderizzazione di una pagina direttamente ad Apache.
Puoi accedere alla pagina di atterraggio predefinita per confermare che il software risponda alle chiamate HTTP, inserendo il tuo indirizzo IP pubblico. Se non conosci l’indirizzo IP del tuo server, puoi ottenerlo in modo rapido digitando:
hostname -I
Recupero Indirizzo IP
Come risultato, otterrai una sequenza di indirizzi di rete separati da spazi. In genere il primo è quello corretto; se non dovesse caricarsi la pagina, procedi testando gli altri indirizzi indicati.
Una volta individuato l’indirizzo IP del tuo server, inseriscilo semplicemente nella barra degli indirizzi del tuo browser preferito in questo formato:
http://{il_tuo_indirizzo_ip}
A questo punto, dovresti visualizzare la pagina web predefinita Ubuntu 22.04 Apache Default Page.
Questa interfaccia grafica indica che Apache funziona senza errori. Include, inoltre, preziose informazioni di base riguardo alle directory operative e ai file di configurazione essenziali da conoscere.
Fase 4: Gestione dei processi di Apache
Ora che il tuo ambiente web è in esecuzione, è fondamentale padroneggiare alcuni comandi di gestione basilari utilizzando i servizi systemd tramite systemctl.
Per fermare in modo sicuro il server web:
sudo systemctl stop apache2 Per avviare il server web quando il servizio è attualmente inattivo:
sudo systemctl start apache2 Per interrompere del tutto e riavviare forzatamente il servizio:
sudo systemctl restart apache2 Se stai semplicemente aggiornando la configurazione, Apache può essere ricaricato in modo fluido senza far cadere le connessioni attive degli utenti:
sudo systemctl reload apache2 Per impostazione predefinita, Apache è programmato per avviarsi automaticamente ad ogni accensione del server. Se desideri disabilitare questa regola automatica:
sudo systemctl disable apache2 Per ripristinare il comportamento originale e riattivare l’auto-avvio al boot:
sudo systemctl enable apache2 Fase 5: Directory e File cruciali di Apache
ROOT DEL CONTENUTO WEB
• /var/www/html: È la directory principale dedicata ai contenuti web. Per impostazione predefinita, custodisce esclusivamente il documento di benvenuto predefinito di Apache. Puoi modificare il percorso d’origine intervenendo sui file di configurazione dei Virtual Host.
FILE DI CONFIGURAZIONE DEL SERVER
- /etc/apache2: La directory contenitore per le configurazioni. Tutti i documenti chiave di Apache risiedono al suo interno.
- /etc/apache2/apache2.conf: Rappresenta il file di configurazione globale del server. Ogni alterazione apportata influisce sull’ambiente Apache in toto. Questo file orchestra il caricamento modulare di molti altri documenti cruciali.
- /etc/apache2/ports.conf: Regola le porte di rete su cui Apache si manterrà in ascolto. Tipicamente punta sulla porta 80 e, se combinato a moduli per funzionalità SSL, estende l’ascolto alla porta 443.
REGISTRI DEL SERVER (LOGS)
- /var/log/apache2/access.log: Di default, memorizza dettagliatamente ogni singola richiesta in entrata indirizzata al server web, a meno che non si personalizzi una direttiva diversa.
- /var/log/apache2/error.log: L’hub per il tracciamento degli errori. Qualsiasi anomalia operativa viene schedata in questo documento. Il livello di dettaglio analitico è stabilito dalla direttiva LogLevel configurata in Apache.
Fase 6: Personalizzare e Ospitare il Tuo Sito Web
Per pubblicare le tue pagine e sostituire la schermata di default visitata in precedenza, dovrai eseguire alcuni semplici passaggi. I file nativi del tuo sito (documenti HTML, fogli di stile CSS, immagini) dovranno essere caricati, salvo diverse configurazioni virtuali, all’interno della root /var/www/html/.
PROCEDURA OPERATIVA
- Elimina o rinomina il file index.html preesistente presente in quella directory (potrebbe essere richiesto l’uso del prefisso
sudotramite terminale, oppure dovrai prima impostare i permessi corretti di lettura/scrittura sui file della cartella). - Carica il tuo file HTML personalizzato che fungerà da “Homepage” o pagina di atterraggio. Assicurati che sia stato nominato esattamente
index.html. - Inserisci l’IP nel browser (oppure ricarica la pagina web) per ammirare il tuo nuovo sito online.
FAQ: Domande Frequenti su Apache
1. Qual è la principale differenza tra Apache e Nginx?
Entrambi sono web server molto potenti e diffusi, ma presentano differenze sostanziali a livello architettonico. Apache si basa su un approccio orientato ai processi/thread, offrendo flessibilità elevata e l’uso del celebre file .htaccess per le configurazioni locali. Nginx utilizza invece un’infrastruttura event-driven, risultando spesso più efficiente nel servire asset statici pesanti e gestire volumi elevati di traffico simultaneo.
2. Come posso abilitare l’HTTPS (SSL) su Apache?
Per dotare il tuo sito di un certificato SSL gratuito, è consigliabile affidarsi a un’Authority certificata e automatizzata come Let’s Encrypt usando Certbot. Alternativamente, puoi generare manualmente un certificato, attivare il modulo SSL nativo (sudo a2enmod ssl), configurare un Virtual Host per smistare il traffico della porta 443 e riavviare il servizio Apache.
3. Cosa sono i Virtual Host e come li utilizzo?
I Virtual Host (Host Virtuali) sono direttive di configurazione che permettono a una singola macchina o server web (tramite un singolo IP) di ospitare contemporaneamente molteplici siti web o domini (es. sito-a.com e sito-b.com). È possibile definire file separati per ogni Virtual Host nella directory /etc/apache2/sites-available/ per differenziare log, root folder e permessi per ogni dominio caricato.






