Installazione Apache su Ubuntu

Il server Apache HTTP è il server web più utilizzato al mondo. Fornisce molte potenti funzionalità tra cui moduli caricabili dinamicamente, robusto supporto multimediale e ampia integrazione con altri software popolari.

Fase 1: Installazione di Apache

Apache è disponibile all’interno dei repository software predefiniti di Ubuntu, rendendo possibile l’installazione utilizzando gli strumenti di gestione dei pacchetti convenzionali.

Aggiornare l’indice del pacchetto locale:

sudo apt update

Successivamente eseguire l’installazione del pacchetto apache2:

sudo apt install apache2

Dopo aver confermato l’installazione, apt installerà Apache e tutte le dipendenze.

Fase 2: Regolazione del firewall

Prima di testare Apache, è necessario modificare le impostazioni del firewall per consentire l’accesso esterno alle porte web predefinite. Dovrebbe essere presente un firewall UFW configurato per limitare l’accesso al server.

Durante l’installazione, Apache si registra con UFW per fornire alcuni profili di applicazione che possono essere utilizzati per abilitare o disabilitare l’accesso ad Apache attraverso il firewall.

Elenca i profili contenuti all’interno dell’applicazione ufw:

sudo ufw app list

Un esempio di output potrebbe essere quanto segue:

Applicazioni disponibili: Apache Apache Full Apache Secure

APACHE

Come indicato dall’output, sono disponibili tre profili per Apache:

  • Apache: questo profilo apre solo la porta 80 (traffico web normale e non crittografato)
  • Apache Full: questo profilo apre sia la porta 80 che la porta 443 (traffico crittografato TLS/SSL)
  • Apache Secure: questo profilo apre solo la porta 443 È consigliabile abilitare il profilo più restrittivo che consentirà comunque il traffico dati, poiché non è presente ancora una configurazione SLL per il server, quindi si dovrà consentire solo il traffico sulla porta 80:
sudo utf allow 'Apache'

È possibile verifica la modifica controllando lo stato con il seguente comando:

sudo utf status

APACHE

Fase 3: Verifica del server Web

Dopo la procedura di installazione, si avvia in automatico Apache, quindi il server web sarà da subito attivo e funzionante.

Per essere sicuri che il servizio sia attivo basta eseguire il comando:

sudo systemctl status apache2

L’output confermerà che il servizio è già stato avviato correttamente. Tuttavia il modo migliore per verificarlo è richiedere una pagina ad Apache.

È possibile accedere alla pagina di destinazione predefinita di Apache per confermare che il software funzioni correttamente tramite il proprio indirizzo IP. Se non si conosce l’indirizzo del proprio server, è possibile ottenerlo nel seguente modo:

hostname -I

APACHE

Come output si otterranno alcuni indirizzi separati da spazi. In genere dovrebbe essere il primo se così non fosse si procede con l’effettuare un controllo sugli altri indirizzi.

Ottenuto l’indirizzo IP del server, basterà inserirlo nella barra degli indirizzi del proprio browser:

http://{ip_server}

Sarà possibile visualizzare la pagina Web predefinita di Ubuntu 22.04 Apache

Questa pagina indica che Apache funziona correttamente. Include anche alcune informazioni di base si importanti file Apache e posizioni di directory.

Fase 4: Gestione del processo Apache

Dopo aver rese il server web attivo e funzionante, bisogna esaminare alcuni comandi di gestione di base utilizzando systemctl.

Per fermare il server web:

sudo systemctl stop apache2

Per avviare il server web quando è spento:

sudo systemctl start apache2

Per interrompere e riavviare il servizio:

sudo systemctl restart apache2

Se si stanno apportando modifiche alla configurazione, Apache può ricaricare senza interrompere le connessioni:

sudo systemctl reload apache2

Per impostazione predefinita, Apache è configurato per avviarsi automaticamente all’avvio del server. Se si vuole cambiare la regola:

sudo systemctl disable apache2

Per riattivare il servizio all’avvio

sudo systemctl enable apache2

Fase 5: Familiarità con file e directory Apache importanti

CONTENUTO

/var/www/html: il contenuto web effettivo, che per impostazione predefinita consiste solo nella pagina Apache predefinita (precedentemente presentata). Questa impostazione può essere modificata alterando i file di configurazione di Apache.

CONFIGURAZIONE DEL SERVER

  • /etc/apache2: La directory di configurazione di Apache. Tutti i file di configurazione risiedono qui.
  • /etc/apache2/apache2.config: il file di configurazione principale di Apache. Questo può essere modificato per apportare modifiche alla configurazione globale di Apache. Questo file è responsabile del caricamento di molti altri file nella directory di configurazione.
  • /etc/apache2/ports.conf: Questo file specifica le porte su cui Apache ascolterà. Per impostazione predefinita, Apache è in ascolto sulla porta 80e inoltre è in ascolto sulla porta 443quando è abilitato un modulo che fornisce funzionalità SSL.

REGISTRI DEL SERVER

  • /var/log/apache2/access.log: Per impostazione predefinita, ogni richiesta al tuo server web viene registrata in questo file di registro a meno che Apache non sia configurato per fare diversamente.
  • /var/log/apache2/error.log: Per impostazione predefinita, tutti gli errori vengono registrati in questo file. La LogLevel direttiva nella configurazione di Apache specifica quanti dettagli conterranno i log degli errori.

Fase 6: Personalizzare lo spazio Web

Per poter modificare la pagina che si presenta all’accesso all’indirizzo IP indicato prima bisogna effettuare alcuni passaggi molto semplici. Tutti i tuoi file HTML devono essere inseriti nella directory /var/www/html/, se non sono state effettuate modifiche con le cartelle.

COSA FARE

  • Elimina o rinomina quel index.html in quella directory. (Probabilmente dovrai farlo in modalità sudo tramite terminale, altrimenti ti basta accedere a leggere/scrivere/eseguire tutti i file all’interno della directory html).
  • Posiziona il file HTML desiderato che deve essere la “Homepage” e assicurarsi che sia chiamato index.html
  • Ora basterà inserire l’IP nel browser per vedere il file HTML.