© 2013 All rights reserved.
2

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.

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:

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:

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:

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.

Comments are closed for this page

Gratuluji k AsusEEE a vítám tě zpět na tvé doméně 🙂

Diky.
Dal budu psat i na zive, kam budu davat jenom zajimave clanky. Ale vsechny budu davat i na svuj blog.

About
Hi, i am programmer from the Czech Republic. I love web development (Ruby, Ruby on Rails, PHP, Nette) and iOS development (Objective-C, Cocoa).
To cooperate, here is my phone:
+420 608 836