Quando utilizziamo Apache come webserver, può esserci richiesto di ospitare più siti sullo stesso server; qualora questi abbiano nomi a dominio completamente diversi il farli coesistere diventa un problema. All’interno di Apache possiamo risolvere questo problema ricorrendo all’utilizzo dei VirtualHost. Apache dal canto suo ci mette a disposizione due metodi di gestione dei Virtual Host uno basato sull’utilizzo degli IP e uno basato sull’utilizzo dei nomi a dominio.
Quindi la configurazione dei VirtualHost può essere di due tipi:
- Ip-based ( più domini su IP diversi)
- Name-based (più domini sullo stesso IP)
L’ IP-Based prevede che ogni sito sia collegato a un IP differente, questa soluzione è se pur la più semplice difficilmente utilizzabile in quanto spesso non si hanno a disposizione molti IP liberi e renderebbe comunque il server più complesso da gestire.
Invece la soluzione che prevede l’utilizzo dei VirtualHost Name-Based permette di utilizzare un solo IP ma ci obbliga a una configurazione di Apache che introduce elemente non sempre noti anche se facilmente assimilabili.
VirtualHost Name-Based
Apache supporta anche il virtual-hosting basato sul nome del server, quindi più domini possono puntare allo stesso indirizzo IP.
Il vantaggio di questa tecnica è quello di risparmiare molti IP, in quanto è possibile avere centinaia e centinaia di domini sullo stesso indirizzo.
Questa seconda tecnica, secondo me più utilizzata prevede di:
- creare una cartella in ../httpd/conf.d chiamata virtualhost così siamo più ordinati…
- abilitare all’interno del file httpd.conf la seguente direttiva riportando l’IP attivo sul server e il path con le configurazioni supplementari che punti alla cartella creata nel passo precedente.
NameVirtualHost 192.168.101.21
Include conf.d/virtualhost/*.conf
- a questo punto nella cartella ../httpd/conf.d andremo a creare dei file chiamati con il nome del sito e con estensione .conf ( es. www.pippo.it.conf ) con la seguente forma:
<VirtualHost 192.168.101.21>
ServerAdmin pcasarin@libero.it
DocumentRoot /var/www/html/pippo
ServerName www.pippo.it
</VirtualHost>
Ora potremmo lanciare
service httpd reload
le configurazioni date saranno prese e apache non si sarà riavviato!!!
Gestione avanzata del log nell'utilizzo dei VirtualHost al'interno di Apache - ConsulentiIT: Consulenze informatiche.
[…] VirtualHost Name-based (più domini sullo stesso IP) che abbiamo visto in passato […]