www.www.zaachi.com »  Blog/Software  »  Apache: Virtual Host

Apache: Virtual Host



Virtuální hostování je způsob, který serverům umožní hostovat na jednom počítači více domén, popřípadě hostovat více domén na stejné IP adrese.

 

Reklama

Pokud mě chcete podpořit a jste milovník jedné stopy, navštivte můj projekt: MotoArena.cz

Ve článku si ukážeme jednoduché nastavení Apache, pomocí nějž můžete vytvořit více doménových jmen na jednom počítači. Toto nastavení se označuje názvem Name-based a znamená, že pro jednu IP adresu používáte více hostitelských názvů.

Způsob Name-based je vhodný hlavně pro nastavení lokálního počítače a vytvoření subdomén pro localhost.

V praxi to zjednodušeně funguje virtual host tak, že pomocí podpory HTTP / 1.1 je možno serveru poslat přímo adresu, kterou uživatel zadal do adresního řádku, tedy kterou adresu si přímo vyžádal.

Tyto informace jsou serverem zpracované a uživateli je zobrazen na výstup ten adresář, který je pro danou adresu nastaven.

Například si uživatel vyžádá dvě domény: site1.cz a site2.cz, a my jsme schopni mu pro každou doménu nastrčit jiný lokální adresář a tím pádem pod každou z těchto dvou domén jiný obsah.

Konfigurace Virtual Hostů se provádí v souboru httpd.conf, popřípadě, v některých linuxových distribucích, v jiném souboru, který je do httpd.conf přilinkovaný.

Pro konfiguraci Virtual Hostu budeme používat direktivy:

  • VirtualHost (uvozuje celé nastavení každého z virtuálních adres)
  • SeverAdmin (email pro administrátora serveru)
  • DocumentRoot (adresář, který se bude pro dané doménové jméno zobrazovat)
  • ServerName (doménový název daného virtuálního serveru)
  • ErrorLog (adresa k chybovým logům pro daný virtual host)

Celý zápis VirtualHostu bude vypada například takto:

<VirtualHost *:80>
ServerAdmin admin@mysite.cz
DocumentRoot /var/www/mysite
ServerName mysite.local
ServerAlias mysite.localhost
ErrorLog /var/logs/error.log
</VirtualHost>

Důležitý je hned první řádek zápisu, direktiva VirtualHost, která obsahuje zápis *:80, kdy hvězdička representuje IP adresu – tedy v tomto případě 127.0.0.1 a 80 značí číslo portu – 80 pro HTTP.

Druhý řádek – ServerAdmin není nutný a udává pouze email pro administrátora, který se bude na serveru zobrazovat například při nedostupnosti v chybových hlášeních.

Důležitý je ovšem řádek pro DocumentRoot, který udává lokální adresář pro daný VirtualHost. Obsah tohoto adresáře bude načítán pro zadání doménového jména z direktivy ServerName, popřípadě ServerAlias, která je taky nepovinná.

Další věc, kterou je nutné pro vytvoření lokálního VirtualHostu udělat je přidat je do seznamu v hosts (ve windows je to soubor /windows/system32/drivers/etc/hosts). Zápis v něm bude vypadat například takto:

127.0.0.1       localhost
::1             localhost
127.0.0.1   mysite.local    mysite.localhost

Nyní nám budou na našem localhostu fungovat dvě domény, a to klasická http://localhost a nová http://mysite.local.

Virtuálních adres můžete vytvořit neomezeně mnoho, záleží pouze na vašich potřebách. Ještě jednou uvedu celé nastavení httpd.conf pro VirtualHost:

# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#

NameVirtualHost *:80

#virtual host pro domemu local – stejna jako localhost
<VirtualHost *:80>
ServerAdmin admin@localhost
DocumentRoot /var/www
ServerName local
ErrorLog /var/logs/error.log
</VirtualHost>

#virtual host pro domenu mysite.local
<VirtualHost *:80>
ServerAdmin admin@mysite
DocumentRoot /var/www/mysite
ServerName mysite.local
ServerAlias mysite.localhost
ErrorLog /var/logs/error.log
</VirtualHost>

#virtual host pro domenu mysite2.local
<VirtualHost *:80>
ServerAdmin admin@mysite2
DocumentRoot /var/www/mysite2
ServerName mysite2.local
ServerAlias mysite2.localhost
ErrorLog /var/logs/error.log
</VirtualHost>

Závěrem

Používání VirtualHostů je v Apache nutnost i na localhostu. Bez jejich používání není možné funkčně spravovat více projektů a jednoduše je na lokálním počítači provozovat.

 

 


linkuj topclanky
Komentáře (2)

Autor: Zaachi
Publikováno: 16.10.2008 18:45:39
TOPLIST.cz

rss coments img img img