Come installare il web server Apache su Ubuntu

Spesso si utilizza Apache in combinazione con i sistemi Linux. In particolare, Ubuntu è l’ideale per l’installazione del web server grazie alla sua solida community e alla documentazione disponibile. In questo articolo ti spieghiamo tutti i passaggi per installare e configurare Apache su Ubuntu.

Apache su Ubuntu: i requisiti

Apache è uno dei web server più stabili e disponibili da più tempo. La sua popolarità deriva dalla scalabilità e dalla facilità di configurazione. Per installare Apache su Ubuntu 22.04, il processore non deve soddisfare particolari requisiti. La maggior parte dei processori moderni dovrebbe essere in grado di far girare Apache su Ubuntu. Aspetti fondamentali da rispettare sono soprattutto la memoria RAM disponibile e la capacità del disco fisso.

Apache utilizza una quantità minima di risorse di sistema ed è configurabile su sistemi di vario tipo, compresi i computer desktop, i computer portatili, i server e le macchine virtuali. Per l’hosting di un sito web o di un’applicazione con molte funzionalità potrebbero essere necessarie più risorse per ottenere prestazioni ottimali. In questi casi ricordati che l’utilizzo di moduli potrebbe far salire i requisiti di sistema. Ad esempio, se desideri integrare un modulo per migliorare le prestazioni del web server Apache, il tuo sistema avrà bisogno di più spazio di archiviazione per il caching e altre ottimizzazioni.

Per poter configurare il web server Apache è necessario soddisfare le seguenti caratteristiche:

  • Memoria RAM: 4 gigabyte
  • Sistema operativo: Ubuntu, utente con permessi di accesso sudo
  • Spazio su disco fisso: 5 gigabyte
  • Firewall: per il traffico HTTP e per bloccare le porte non necessarie
  • Connessione internet: per il download di pacchetti
Consiglio

L’hosting Linux ti offre traffico illimitato, massime prestazioni e i più elevati standard di sicurezza. Crea subito il tuo sito web con i server Linux di IONOS!

Guida: installazione di Apache su Ubuntu

Per l’installazione di Apache, Ubuntu 22.04 utilizza lo strumento di gestione dei pacchetti APT. Per prima cosa, aggiorna l’indice dei pacchetti sul tuo sistema Ubuntu per assicurarti che tutte le dipendenze necessarie siano aggiornate.

Se l’installazione non è di tipo locale, accedi tramite SSH al tuo server Ubuntu.

Primo passaggio: aggiornamento della lista dei pacchetti

Apri il terminale ed esegui un aggiornamento.

$ sudo apt update
bash

Secondo passaggio: installazione del pacchetto Apache

Successivamente, installa il pacchetto Apache e tutte le relative dipendenze utilizzando il comando APT “install”.

$ sudo apt install apache2
bash

Terzo passaggio: modifica delle impostazioni del firewall

Per configurare Apache è necessario abilitare Uncomplicated Firewall (UFW) su Ubuntu. Dopo aver installato Apache su Ubuntu, Apache configura i profili applicazione in UFW che è possibile utilizzare per gestire il traffico verso le porte web.

Il seguente comando permette di visualizzare l’elenco dei profili applicazione:

$ sudo ufw app list
bash

Il risultato mostra tre profili per Apache:

Terminale Linux: elenco dei profili applicazione per Apache
Terminale: elenco dei profili applicazione per Apache
  • Apache: apre la porta TCP 80 per HTTP (connessione non crittografata)
  • Apache Full: apre le porte TCP 80 (HTTP, non crittografata) e 443 (HTTPS, con crittografia TLS/SSL)
  • Apache Secure: apre solo la porta HTTPS 443 per una connessione crittografata

Poiché non abbiamo ancora configurato SSL, possiamo aprire solo la porta 80.

$ sudo ufw allow 'Apache'
bash

Con il comando “status” puoi controllare se le impostazioni sono corrette.

$ sudo ufw status
bash

Quarto passaggio: test dello stato di Apache

Utilizza lo strumento System Manager “systemd” per controllare se il servizio Apache è attivo.

$ sudo systemctl status apache2
bash

Quinto passaggio: apertura della pagina predefinita di Apache

Digita l’indirizzo IP nella barra degli indirizzi del browser per aprire la pagina predefinita di Apache. Se non conosci il tuo indirizzo IP, puoi visualizzarlo con il comando “hostname”.

$ hostname -I
bash

In alternativa puoi utilizzare lo strumento icanhazip.

$ curl -4 icanhazip.com
bash

Quindi, apri la pagina predefinita di Apache nel tuo browser e incolla il tuo indirizzo IP al posto di “server_ip”.

http://server_ip

La figura seguente mostra una parte della pagina su Ubuntu:

Browser: pagina predefinita di Apache su Ubuntu
Browser: pagina predefinita di Apache su Ubuntu

Sesto passaggio: gestione del demone Apache

È possibile gestire il demone o il servizio del web server Apache con “systemctl”.

Per avviare il web server Apache:

$ sudo systemctl start apache2
bash

Per arrestare il web server Apache:

$ sudo systemctl stop apache2
bash

Per arrestare e riavviare il web server Apache:

$ sudo systemctl restart apache2
bash

Per riavviare Apache e ricaricare la configurazione:

$ sudo systemctl reload apache2
bash

Quando installi Apache su Ubuntu, il web server parte automaticamente dopo la configurazione durante la fase di boot. In alternativa, puoi disattivare questa funzione:

$ sudo systemctl disable apache2
bash

Per riattivare l’avvio automatico di Apache durante la fase di boot, digita il seguente comando:

$ sudo systemctl enable apache2
bash

Settimo passaggio: utilizzo di host virtuali

Per impostazione predefinita, Apache utilizza il percorso /var/www/html per l’hosting dei documenti. Per utilizzare più domini su un server è possibile configurare degli host virtuali. All’interno di /var/www/ creiamo una struttura di cartelle per il nostro dominio.

$ sudo mkdir /var/www/your_domain
bash

Sostituisci “your_domain” con il tuo dominio.

Assegna le proprietà della cartella con la variabile di ambiente $USER:

$ sudo chown -R $USER:$USER /var/www/your_domain
bash

È possibile assegnare permessi di lettura, scrittura ed esecuzione anche espressamente in modalità ottale:

$ sudo chmod -R 755 /var/www/your_domain
bash

Ottavo passaggio: creazione della pagina di prova

Crea un file index.html come pagina iniziale per il tuo dominio. A tal fine puoi utilizzare ad esempio l’editor di testo nano.

$ sudo nano /var/www/your_domain/index.html
bash

Scegli una frase e inseriscila nel file HTML:

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Here you can see that your_domain virtual host is successfully working!</h1>
    </body>
</html>
html

Nono passaggio: creazione del file di configurazione per l’host virtuale

Per visualizzare la pagina di esempio, è necessario configurare Apache in modo adeguato per il dominio. Crea un file di configurazione personalizzato per il tuo dominio e lascia invariato il file di configurazione predefinito di Apache.

$ /etc/apache2/sites-available/your_domain.conf
bash

Inserisci il blocco seguente e sostituisci “your_domain” con il nome del tuo dominio. Digita inoltre un indirizzo e-mail per l’amministratore in “ServerAdmin”:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Attiva il file di configurazione con “a2ensite”:

$ sudo a2ensite your_domain.conf
bash

Disattiva la vecchia pagina predefinita:

$ sudo a2dissite 000-default.conf
bash

Prova la configurazione per controllare se contiene errori:

$ sudo apache2ctl configtest
bash

Se tutto è corretto, riavvia Apache:

$ sudo systemctl restart apache2
bash

Vai alla tua pagina iniziale:

http://your_domain

Ora dovresti riuscire a vedere la tua pagina di esempio:

Browser: pagina di esempio per un host virtuale
Browser: pagina di esempio per un host virtuale

Decimo passaggio: file e cartelle importanti di Apache

Per un utilizzo efficiente del web server Apache è utile conoscere alcuni file e alcune cartelle utilizzati di frequente:

  • /var/www/html: Apache pone i documenti in questa cartella come impostazione predefinita. È comunque possibile cambiare la cartella nei file di configurazione.
  • /etc/apache2: Apache conserva qui tutti i file di configurazione.
  • /etc/apache2/apache2.conf: questo è il file di configurazione principale. Questo file permette di modificare la configurazione nel suo insieme.
  • /etc/apache2/ports.conf: questo file contiene l’elenco delle porte aperte. Di solito si tratta della porta 80 e/o della porta 443.
  • /etc/apache2/sites-available/: in questa cartella si trovano gli host virtuali configurati. I file di configurazione al suo interno devono essere collegati con la cartella “site-enabled” per poter funzionare.
  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/: questa cartella contiene ulteriori file di configurazione che non fanno parte degli host virtuali. Per attivare la configurazione puoi utilizzare “a2enconf”; per la disattivazione, “a2disconf”.
  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: queste cartelle contengono i moduli disponibili e attivati. È possibile attivare un modulo con “a2enmod” e disattivarlo con “a2dismod”.
  • /var/log/apache2/access.log: questo file di log contiene tutte le richieste inviate al web server.
  • /var/log/apache2/error.log: questo file contiene un registro di tutti i messaggi di errore. L’informazione LogLevel indica la gravità degli eventi.
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.