Come configurare gli host virtuali Apache su Ubuntu 22.04
Apache Virtual Hosts è una funzionalità che consente a un singolo server Web Apache di servire più siti Web contemporaneamente. Inoltre, ogni sito web, noto come host virtuale, ha la sua configurazione separata, consentendo maggiore flessibilità e organizzazione. Gli host virtuali Apache offrono un modo potente per gestire più siti Web su un singolo server, consentendo di ospitare più domini su una macchina fisica. Questo articolo ti guiderà attraverso il processo di configurazione degli host virtuali Apache su Ubuntu 22.04, assicurandoti di poter gestire in modo efficiente il tuo ambiente di hosting web.
Apache2 generalmente viene preinstallato su Ubuntu e puoi verificarne la versione eseguendo il comando seguente:
apache2 -v
Se per qualsiasi motivo non è installato, puoi installarlo utilizzando il seguente comando:
sudo apt install apache2
Successivamente, puoi controllare lo stato del server web apache2 se è attivo e funzionante eseguendo:
systemctl status apache2
Nell’immagine sopra puoi vedere che il server web apache2 è attualmente attivo.
Quando visiti “localhost” nel tuo browser, il server Apache2 risponde alla tua richiesta fornendo la sua pagina web predefinita. Quindi, vedere Apache2 significa che il server è attivo e funzionante correttamente e pronto a servire pagine web.
Come configurare l’host virtuale Apache su Ubuntu 22.04
Quando configuri un server web utilizzando Apache2, spesso vorrai mettere i file del tuo sito web in una posizione in cui il server possa accedervi. Navigando verso “/var/www”, ti posizioni nella directory in cui Apache2 si aspetta di trovare contenuto web. Ciò significa che quando aggiungi o crei file web qui, Apache2 può servirli ai visitatori che accedono al tuo sito web tramite i loro browser web.
Passaggio 1: creazione di una struttura di directory
Esegui il seguente comando per navigare lì:
cd /var/www
Devi creare una directory per ogni sito web che desideri ospitare. Per esempio:
sudo mkdir -p /var/www/example.com/
Lo scopo di questo comando è creare una directory denominata “example.com” all’interno della directory “/var/www” sul file system. L’opzione “-p” garantisce che se la directory “/var/www” non esiste, verrà creata questa e tutte le directory intermedie necessarie per raggiungerla.
Creando la directory “/var/www/example.com/”, stai preparando una posizione in cui archiviare i file specifici di quel dominio all’interno del file system del server web.
Passaggio 2: modifica della proprietà
Successivamente, è necessario modificare la proprietà della directory “/var/www/example.com” e di tutti i suoi contenuti nell’utente e nel gruppo “www-data”. In questo modo, ti assicuri che il processo del server web Apache2 in esecuzione sul tuo sistema disponga delle autorizzazioni necessarie per accedere e servire i file all’interno di questa directory.
sudo chown -R www-data:www-data /var/www/example.com
Passaggio 3: creazione di una pagina Web
Successivamente, è necessario impostare la home page HTML per il server Web Apache2, che in questo caso è “index.html”.
sudo nano /var/www/example.com/index.html
A questo scopo è stato utilizzato l’editor di testo nano e quindi dobbiamo scrivere il seguente codice HTML all’interno di questo file:
<html> <head> <title>Welcome</title> </head> <body> <h1> This guide is about setting up apache2 web server</h1> </body> </html>
Passaggio 4: creazione di un file host virtuale Apache
Quando si configura un sito Web su un server Web Apache2, è essenziale configurare Apache2 per servire correttamente il sito Web. Ciò include la definizione di come Apache2 dovrebbe gestire le richieste per domini specifici, come “example.com” in questo caso:
$ sudo nano /etc/apache2/sites-available/example.com.conf
<VirtualHost *:80> ServerAdmin [email protected] ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Il file di configurazione specificato da questo comando consente di definire impostazioni come la directory root del documento, il nome del server, gli host virtuali e altre direttive relative a come Apache2 dovrebbe servire il sito web.
Passaggio 5: configurare il file Apache2 principale
Successivamente, devi aprire il file di configurazione di Apache con privilegi di superutente, che ti consente di visualizzare e modificare le impostazioni globali per il tuo server web Apache:
sudo nano /etc/apache2/apache2.conf
Dopo aver aperto questo file aggiungi la seguente riga ed esci dal file dopo averlo salvato:
ServerName example.com
L’aggiunta di ServerName example.com garantisce che Apache si identifichi accuratamente e gestisca le richieste in modo appropriato. Qui devi fornire il nome desiderato al posto di example.com.
Passaggio 6: abilitazione della configurazione dell’host virtuale
Ora devi abilitare un file di configurazione dell’host virtuale che consenta ad Apache di fornire contenuti per il dominio o il sito web associato. Una volta abilitato, Apache leggerà le impostazioni di configurazione da questo file durante l’avvio o il ricaricamento del server:
sudo a2ensite example.com.conf
Passaggio 7: disabilitazione della configurazione host virtuale predefinita
È inoltre necessario disabilitare la configurazione dell’host virtuale predefinito per impedire ad Apache di fornire contenuti per il dominio o il sito Web associato:
sudo a2dissite 000-default.conf
Dopo aver disabilitato un file di configurazione di un host virtuale, in genere è necessario ricaricare Apache affinché le modifiche abbiano effetto:
sudo systemctl reload apache2
Passaggio 8: test degli errori
Infine, se devi verificare che tutte le configurazioni che hai effettuato siano corrette e che non si possano verificare errori, puoi farlo eseguendo:
sudo apache2ctl configtest
Si consiglia di eseguire questo comando dopo aver modificato i file di configurazione di Apache per garantire il funzionamento regolare e continuo del server Web.
Puoi vedere che non viene visualizzato alcun errore nell’output, il che significa che l’host virtuale Apache è stato configurato correttamente su Ubuntu 22.04. La configurazione degli host virtuali Apache su Ubuntu 22.04 consente la gestione efficiente di più siti Web su un singolo server, ottimizzando l’utilizzo delle risorse. Inoltre, ogni sito web può avere la propria configurazione, migliorando flessibilità e organizzazione. Inoltre, gli host virtuali Apache facilitano l’hosting continuo di più domini, semplificando le attività di gestione dei siti Web.