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
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
bashSecondo passaggio: installazione del pacchetto Apache
Successivamente, installa il pacchetto Apache e tutte le relative dipendenze utilizzando il comando APT “install”.
$ sudo apt install apache2
bashTerzo 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
bashIl risultato mostra tre profili 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'
bashCon il comando “status” puoi controllare se le impostazioni sono corrette.
$ sudo ufw status
bashQuarto passaggio: test dello stato di Apache
Utilizza lo strumento System Manager “systemd” per controllare se il servizio Apache è attivo.
$ sudo systemctl status apache2
bashQuinto 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
bashIn alternativa puoi utilizzare lo strumento icanhazip.
$ curl -4 icanhazip.com
bashQuindi, 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:
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
bashPer arrestare il web server Apache:
$ sudo systemctl stop apache2
bashPer arrestare e riavviare il web server Apache:
$ sudo systemctl restart apache2
bashPer riavviare Apache e ricaricare la configurazione:
$ sudo systemctl reload apache2
bashQuando 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
bashPer riattivare l’avvio automatico di Apache durante la fase di boot, digita il seguente comando:
$ sudo systemctl enable apache2
bashSettimo 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
bashSostituisci “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
bashOttavo 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
bashScegli 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>
htmlNono 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
bashInserisci 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
bashDisattiva la vecchia pagina predefinita:
$ sudo a2dissite 000-default.conf
bashProva la configurazione per controllare se contiene errori:
$ sudo apache2ctl configtest
bashSe tutto è corretto, riavvia Apache:
$ sudo systemctl restart apache2
bashVai alla tua pagina iniziale:
http://your_domain
Ora dovresti riuscire a vedere la tua pagina di esempio:
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.