PELMEL
domashneeporevo1.ru

Virtuální servery v Apache

25. 12. 2007

Každý se jednou setká s tím, že přehazovat umístění aliasu localhost mezi více adresáři (projekty) je nepraktické. Ještě méně praktické je zakládat pro tyto projekty adresáře typu localhost/projekt1/ , resp. projekt2, atd. Nemůžete pak linkovat soubory absolutně, ale musíte počítat s tím, že od rootu vás dělí ještě adresář s názvem projektu.

Nejelegantnějším a nejpraktičtějším řešením je založení aliasu – adresy pro každý projekt.

Postup je jednoduchý.

Neprve si otevřete soubor httpd.conf (nachází se ve složce, kde máte nainstalovaný apache, resp. v podsložce conf. Některé instalační balíčky obsahující apache + php + mysql, jako například wamp server, mají odkaz na httpd.conf v menu).

V httpd.conf najděte a odkomentujte (smažte #) řádek „#Include conf/extra/httpd-vhosts.conf“. Zápis virtuálních serverů by byl možný i do samotného httpd.conf, ale zápis by byl velmi nepřehledný. Tímto povolíte vložení pravidel, která budou v souboru httpd-vhosts.conf, který se nachází ve složce, kde máte nainstalovaný apache, resp. v podsložce conf/extra/. Jako výchozí je v tomto souboru nějaký příklad. Moc použitelný ovšem není. Obsah proto smažte a vložte něco na způsob kódu, který je na konci článku (v případě, že jej čtete z kategorie, tak pak rozklikněte na detail) – vzorové nastavení 3 virtuálních serverů – localhost, projekt1 a projekt2

Po tomto nastavení je třeba restartovat Apache. Aliasy těchto serverů je potřeba nastavit také v souboru hosts, který se nachází ve složce Windows, resp. podsložkách system32/drivers/etc/ (na linuxu ve složce /etc/hosts). V tomto souboru je několik příkladů. Pro výše zmíněné nastavení upravte řádek s adresou 127.0.0.1 (případně ho přidejte) takto:

127.0.0.1 localhost projekt1 projekt2

Poznámka: Na konci souboru hosts by měl být z nějakých důvodů 1 prázdný řádek

Tímto máte nastavený Apache a své 3 servery.

Vzorové nastavení 3 virtuálních serverů – localhost, projekt1 a projekt2

#
# Virtual Hosts
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# Use name-based virtual hosting.
#
NameVirtualHost 127.0.0.1:80
#
# localhost
#
<VirtualHost 127.0.0.1:80>
DocumentRoot "C:/www"
ServerName localhost
<Directory "C:/www">
AllowOverride Options FileInfo AuthConfig
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
AddHandler type-map var
IndexOptions VersionSort XHTML FancyIndexing FoldersFirst
</Directory>
</VirtualHost>
#
# projekt 1
#
<VirtualHost 127.0.0.1:80>
DocumentRoot "C:/www/projekt1"
ServerName projekt1
<Directory "C:/www/projekt1">
AllowOverride Options FileInfo AuthConfig
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
AddHandler type-map var
IndexOptions VersionSort XHTML FancyIndexing FoldersFirst
</Directory>
</VirtualHost>
#
# projekt 2
#
<VirtualHost 127.0.0.1:80>
DocumentRoot "C:/www/projekt2"
ServerName projekt2
<Directory "C:/www/projekt2">
AllowOverride Options FileInfo AuthConfig
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
AddHandler type-map var
IndexOptions VersionSort XHTML FancyIndexing FoldersFirst
</Directory>
</VirtualHost>


Linkuj.cz Jagg.cz


Komentáře » přidat

[1] AdamMichnik, 10. 1. 2010 v 10.45

Pěkný článek a i celkově máte hodně zajímavé stránky. Jen tak dál. Dobře se to čte a je to inteligentní – to se často na internetu nevidí.


Přidat komentář

(povinné)
(nebude zobrazen) (povinné)

RSS