back to top

Domini virtuali di Apache

Introduzione ai Domini Virtuali di Apache

Con il nome โ€œdomini virtualiโ€, o Virtual Hosts, si identificano tutti gli hosts configurati in un server web in aggiunta allโ€™host originario. Grazie ai โ€œdomini virtualiโ€, รจ possibile far operare separatamente piรน server su una stessa macchina, ognuno con un proprio dominio, come โ€œwww.primo_server.extโ€ e โ€œwww.secondo_server.extโ€.

Tipologie di Domini Virtuali

Esistono due tipologie di Virtual Hosts: quelli che fanno capo a differenti indirizzi IP (IP Based Virtual Hosts) e quelli che vengono distinti sulla base del nome (Host-Based Virtual Hosts o non IP virtual hosts). In entrambi i casi, possiamo far convivere piรน siti internet, ognuno con il proprio โ€œwww.dominio.extโ€, su una stessa macchina. Per chi fa โ€œhostingโ€, cioรจ coloro che vendono porzioni di spazio web destinate a ospitare siti internet, la possibilitร  di creare Virtual Hosts rappresenta un indubbio vantaggio sia a livello operativo che economico.

Pubblicitร 

Configurazione di Domini Virtuali IP Based

Se disponiamo di piรน indirizzi IP possiamo configurare dei โ€œdomini virtualiโ€ IP Based. Dal punto di vista di Apache, questo tipo di configurazione puรฒ essere effettuata in due modi: utilizzare un unico processo http per tutti i domini, oppure dedicarne uno per ognuno di essi. Se disponiamo di una macchina abbastanza potente in termini di risorse, la seconda opzione รจ certamente preferibile. La scelta dipenderร  dal numero di domini che desideriamo ospitare sul nostro server.

Se decidiamo di concedere ad ogni dominio un proprio httpd, dovremo modificare il file httpd.conf intervenendo sullโ€™istruzione Listen; ad essa vanno passati come parametri un indirizzo IP (o un nome di dominio) e il numero della porta utilizzata per ascoltare le richieste provenienti dai client. Un esempio potrebbe essere questo:

Listen 111.111.1.1:80
Listen 111.111.1.2:81

oppure

Listen www.nome_dominio.ext:80
Listen www.altro_nome_dominio.ext:81

Come avrete notato, ad ogni dominio viene dedicata una porta diversa.

Configurazione di Domini Virtuali con Unico httpd

Se invece vogliamo configurare un solo httpd per tutti i โ€œdomini virtualiโ€, dovremo indicare in httpd.conf un container per ogni dominio, simile a questo:

<VirtualHost www.nome_dominio.ext> 
ServerAdmin email@nome_dominio.ext 
DocumentRoot /PATH/nome_cartella
ServerName www.nome_dominio.ext
ErrorLog /PATH/error.log
CustomLog /PATH/nome_access_log 
</VirtualHost>

Niente di particolarmente complesso. Dallโ€™esempio si comprende facilmente che per costruire il container sono necessari:

  1. La direttiva VirtualHost seguita dal nome del โ€œdominio virtualeโ€ da configurare.
  2. Lโ€™indirizzo e-mail dellโ€™amministratore del dominio.
  3. Il percorso completo verso la DocumentRoot del nuovo dominio.
  4. Il nome del server (ServerName).
  5. Il percorso in cui si trovano i file di log di errore.
  6. Il percorso in cui si trovano i log sul traffico delle risorse.

Configurazione di Domini Host-Based

Nel caso dei domini host-based, il processo รจ altrettanto semplice. Nel file httpd.conf dovremo indicare innanzitutto lโ€™indirizzo IP come parametro allโ€™istruzione NameVirtualHost, dopo di che costruiremo un container in cui dovremo indicare lโ€™IP e il nome del ServerName:

NameVirtualHost 111.111.1.1

<VirtualHost 111.111.1.1> 
ServerName www.nome_server.ext 
DocumentRoot /PATH/nome_cartella
</VirtualHost> 

<VirtualHost 111.111.1.1> 
ServerName www.altro_nome_server.ext 
DocumentRoot /PATH/nome_cartella 
</VirtualHost>

Questa configurazione permetterร  al server Apache di gestire piรน nomi di dominio utilizzando lo stesso indirizzo IP.

Pubblicitร 
Claudio Garau
Claudio Garau
Web developer, programmatore, Database Administrator, Linux Admin, docente e copywriter specializzato in contenuti sulle tecnologie orientate a Web, mobile, Cybersecurity e Digital Marketing per sviluppatori, PA e imprese.