Abychom na jedné IP adrese mohli mít více webů, musí se server při přijetí požadavku také rozhodovat podle URL adresy. Přesně k tomu slouží VirtualHost, který si můžeme nastavit na Apache serveru.
Zápis VirtualHost
VirtualHostů můžeme mít samozřejmě hodně, každý se nastaví pomocí následujícího zápisu.
<VirtualHost *:80> ServerName www.kutac.cz ServerAlias kutac.cz ServerAdmin abc@def.xyz DocumentRoot D:/www/kutac.cz/ </VirtualHost>
Jak vidíte, URL může být klidně existující. Pokud ale zrovna nepoužíváte WordPress, kde je trochu těžší změnit doménu, můžete s klidem zvolit adresu mujblog.loc apod. Důležité je zapsat URL s www jako alias, nebo opačně. Fungování s www, nebo naopak bez, není automatické.
ServerAdmin povinný není, případně můžeme uvést nějaký nesmyslný email. DocumentRoot je ale povinná položka a určuje, kde je web umístěn. Může to být úplně jinde než htdocs složka pro XAMPP nebo /var/www/html pro Ubuntu.
Umístění pro Linux
Tento zápis vložíme do nového souboru do složky /etc/apache2/sites-enabled/. Na názvu souboru nezáleží, protože Apache automaticky projde všechny. Nic nám ale nebrání, vložit více zápisů do jednoho souboru.
Toto se hodí převážně pro instalaci pomocí balíčků a skriptů. Nemusíme upravovat existující soubory, jednoduše si vytvoříme nový, který při odinstalování můžeme vymazat.
Umístění pro Windows
Ve Windows s nainstalovaným XAMPPem máme připraven soubor ve složce C:/xampp/apache/config/extra/httpd-vhosts.conf a do něj vložíme zápis tolikrát, kolikrát budeme potřebovat.
Někdy se mi stalo, že poté přestala fungovat základní adresa http://localhost/. Pokud se toto stane i vám, vložte na začátek souboru následující zápis
<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs" ServerName localhost </VirtualHost>
Restart Apache
Aby Apache znova načetl konfigurační soubory, musíme jej restartovat. Na Windows jednoduše pomocí XAMPP Control Panel, na Linuxu restart provedeme příkazem
sudo service apache2 restart
Přesměrování domény na localhost
Je asi zřejmé, že počítač nebude hledat doménu kutac.cz, nebo jiné, na lokálním PC. Aby ale přesně to udělal, upravíme soubor hosts stejně jako v minulém článku Jak využít soubor hosts.
Do souboru C:\Windows\system32\etc\hosts na Windows, nebo /etc/hosts na Linuxu, vložíme následující řádky
127.0.0.1 kutac.cz 127.0.0.1 www.kutac.cz # I případné adresy s příponou .loc musíme nasměrovat 127.0.0.1 mujblog.loc 127.0.0.1 www.mujblog.loc
Pokud používáme Windows, nesmíme zapomenout vymazat lokální DNS cache. Což provedeme v příkazové řádce zadáním
ipconfig -flushdns
To je vše, pokud máte problém se zprovozněním nebo se chcete podělit se zkušenostmi, můžete tak učinit v komentářích.
K tomuto článku již není možné přidávat další komentáře