Mi az virtuális host?

Képessé tesz agy egyedülálló gépet arra , hogy töbszörös domainnel rendelkezô web server legyen.

Példának okáért itt van egy internet szolgáltató amely több vállalatnak ad szolgáltatást. Ennek a szolgáltatónak legyen mondjuk www.serve.com nevezetû gépe. És a vállalatok szeretnék ha úgy jelennének meg a web-en mint:

Anélkül persze , hogy saját szervereket állítanának fel. Erre ad lehetôséget a virtual host .

Az egyedüli feltétele ennek , hogy a web servernek rendelkezni kell minden egyes virtual host számára külön IP címmel. Ez könnyen megoldható ha van a servernek fizikai net kapcsolata minden virtual hostnak, vagy pedig egyes op-rendszereknél virtual interface.

Még akkor lehet hasznos a virtuális host , ha egy servert több néven akarunk elérni. Peldául ha a server.com  gépet ftp.server.com néven is szeretnénk elérni akkor ez lehetséges.A módja a ServerAlias direktíva.

Pl : ServerAlias apache.org *.apache.org

A * bármilyen textet , a ? egy betût helyettesít.

How to set up Apache

Lehet single demon , vagy multiple demon konfigurációban futtatni a server demont. Mindegyiknek van elônye is , hátránya is.

Multiple demon :
A különbözô virtuális hostok különbözô beállításokat igényelnek.( ServerType, User,Group, TypesConfig, Resourceconfig). Eléggé lelassítja a rendszert.
Egy külön httpd installációt kell meinden egyes virtuális hostnak készíteni.
A BindAddress fogja beállítani minden serverre, hogy mely IP címet figyelje.
Single demon :
Megosztja a konfigurációt a virtuális hostok között. Viszont a gépünk igen nagy számú kérést tud kiszolgálni gyorsan.
Ekkor egyetlen httpd fog kiszolgálni minden kérést az összes virtuális hoston. A <VirtualHost [name]> szolgál arra hogy beállítsuk a konfig file-ban minden egyes host-ra a ServerAdmin, ServerName, DocumentRoot, TransferLog, ErrorLog direktívákat.
<VirtualHost www.smallco.com>
ServerAdmin webmaster@mail.smallco.com
DocumentRoot /groups/smallco/www
ServerName www.smallco.com
ErrorLog /groups/smallco/logs/error_log
TransferLog /groups/smallco/logs/access_log
</VirtualHost>
<VirtualHost www.baygroup.org>
ServerAdmin webmaster@mail.baygroup.org
DocumentRoot /groups/baygroup/www
ServerName www.baygroup.org
ErrorLog /groups/baygroup/logs/error_log
TransferLog /groups/baygroup/logs/access_log
</VirtualHost>