Apache: virtuální servery na localhostu a logování
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Apache: virtuální servery na localhostu a logováníApache: virtuální servery na localhostu a logování

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

Apache: virtuální servery na localhostu a logování

Google       Google       1. 8. 2007       39 958×

Mnoho programátorských nováčků má problémy s vytvářením virtuálních serverů (VirtualHost) na platformě Windows. Pro ně je určený tento článek, který popisuje krok za krokem, jak docílit vytvoření vlastních virtuálních serverů, včetně různých možností nastavení.

Reklama
Reklama

Tento článek nepřímo navazuje na návod popisující instalaci nejnovější verze Apache 2, PHP 5 a MySQL 5. Máte-li vše správně nainstalováno a nakonfigurováno, zajisté jste se ponořili do práce na projektech. Pokud ale pracujete na více projektech současně, nebude vám zpravidla jeden kořenový adresář serveru dostačovat. Důvodem může být soubor .htaccess a pravidla modulu mod_rewrite pro SEO adresy, nebo požadavky na specifická nastavení (logování, aj.). Řešením problému jsou virtuální servery, nebo-li tzv. VirtualHost.

Virtuální servery a subdomény?

U placených webhostingů je většinou běžné, že si můžete vytvářet subdomény (http://prvni.example.com, http://druha.example.com, …). Kořenový adresář každé subdomény směřuje do zvolené složky, takže původní doména http://example.com je na ostatních nezávislá (má určený jiný kořenový adresář). Jinými slovy, na každé (sub)doméně můžete mít jiný obsah. Ukážeme si, jak toho docílit i na localhostu.

Příprava adresářů

Nejprve si řekněme, že budeme chtít vytvořit dvě subdomény. Jednu budeme využívat například pro školní potřeby a druhou pro práci. Školní bude na adrese http://skola.localhost a pracovní na http://prace.localhost.

Abychom měli subdomény kam nasměrovat, musíme nejprve vytvořit adresáře. Přejděte do kořenového adresáře vašeho serveru (vycházíme z umístění adresáře dle článku o instalaci Apache, PHP a MySQL).

C:\dev\www\

A vytvořte zde dvě složky, pojmenované stejně jako názvy subdomén.

C:\dev\www\skola
C:\dev\www\prace

V obou složkách vytvořte soubor index.html, avšak každý se specifickým (odlišným) obsahem.

Úprava DNS záznamů

Nyní je třeba upravit DNS záznamy ve vašem operačním systému Microsoft Windows XP / Vista. Otevřete v textovém editoru soubor:

C:\windows\system32\drivers\etc\hosts

Soubor hosts obsahuje kromě několika komentářů také řádek určující IP adresu a název domény localhostu.

127.0.0.1       localhost

Přidejte na konec souboru další dva řádky určující IP adresy a názvy nových domén.

127.0.0.1       skola.localhost
127.0.0.1       prace.localhost

Konfigurační soubor Apache

V textovém editoru otevřete konfigurační soubor httpd.conf, který se (dle článku o instalaci Apache, MySQL a PHP) nachází:

C:\dev\prog\Apache2\conf\httpd.conf

Téměř na samém konci souboru httpd.conf je zakomentovaná část o virtuálních serverech:

### Section 3: Virtual Hosts
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs/2.0/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
#NameVirtualHost *:80

#
# 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.
#
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

Přejdeme pod zakomentovanou část a nadefinujme si vlastní virtuální servery:

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot "C:/dev/www/skola"
    ServerName skola.localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/dev/www/prace"
    ServerName prace.localhost
</VirtualHost>

Pomocí NameVirtualHost určujeme IP adresu a port, na kterém budou přijímány požadavky. Dále máme nadefinovány dva virtuální servery, které budou naslouchat na všech IP adresách portu  80. Také jsme zvolili kořenový adresář (DocumentRoot) a název domény (ServerName).

Nyní stačí soubor httpd.conf uložit a nastartovat (případně restartovat) server Apache.

Do webového prohlížeče zadejte adresy http://skola.localhost a http://prace.localhost. Měli byste vidět obsah vašich index.html souborů. Pokud není zobrazen správný obsah, zkuste obnovit stránky (Ctrl + F5), případně restartovat počítač.

Další možnosti nastavení virtuálních serverů

Pro běžnou práci stačí nastavení uvedené výše. Avšak pokud se něco nedaří, je třeba zaznamenávat logy (ErrorLog).

<VirtualHost *:80>
    DocumentRoot "D:/_localhost_www/skola"
    ServerName skola.localhost
    #
    ErrorLog logs/skola.localhost-error_log
</VirtualHost>

Zvláště pokud pracujete s mod_rewrite pravidly, oceníte i jejich logování (RewriteLogLevel a RewriteLog).

<VirtualHost *:80>
    DocumentRoot "D:/_localhost_www/skola"
    ServerName skola.localhost
    ErrorLog logs/skola.localhost-error_log
    #
    RewriteLogLevel 3
    RewriteLog logs/skola.localhost-rewrite.log
</VirtualHost>

Další možnost, leč na localhostu zcela zbytečná, je uvedení e-mailu administrátora (ServerAdmin).

<VirtualHost *:80>
    DocumentRoot "D:/_localhost_www/skola"
    ServerName skola.localhost
    ErrorLog logs/skola.localhost-error_log
    RewriteLogLevel 3
    RewriteLog logs/skola.localhost-rewrite.log
    #
    ServerAdmin webmaster@dummy-host.example.com
</VirtualHost>

Dokumentace

Verze Apache Dokumentace
Apache 1.3 http://httpd.apache.org/docs/1.3/vhosts/
Apache 2.0 http://httpd.apache.org/docs/2.0/vhosts/
Apache 2.2 http://httpd.apache.org/docs/2.3/vhosts/

Veškeré možnosti nastavení naleznete v oficiální dokumentaci pro příslušnou verzi vašeho Apache.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Zdeněk VečeřaAutor publikuje na Programujte.com a Živě.cz, zabývá se vývojem a použitelností internetových aplikací a stará se o spokojenost návštěvníků Laser Game v Brně.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Lepší hosting chrání i vaše data

Lepší hosting chrání i vaše data

Kybernetických útoků na webové stránky rok od roku přibývá, jsou čím dál důmyslnější a páchají stále větší škody. Možná si říkáte, že vás se to netýká, opak je ale pravdou. Jeden z nejčastějších typů útoku využívá zranitelnosti samotných webových stránek a spočívá v umístění škodlivé části programového kódu (tzv. malware) přímo do jejich těla. 

Reklama
Reklama
Obrázek ke článku Spotřebitelé důvěřují novým technologiím při péči o seniory, ale správu financí by jim nesvěřili

Spotřebitelé důvěřují novým technologiím při péči o seniory, ale správu financí by jim nesvěřili

 71 % vítá nové technologie ke sledování zdravotního stavu postarších příbuzných, které jim umožňují žít déle doma

 Pouhých 7 % by svěřilo správu svých financí umělé inteligenci, i kdyby to znamenalo rychleji naspořit prostředky na pořízení bydlení

 64 % respondentů nemá dojem, že firmy a stát dostatečně informují o tom, jaké technologie a jak užívají

Obrázek ke článku Mobilní operátoři využívají digitální modely terénů a kvůli stavebnímu boomu i 3D modely budov

Mobilní operátoři využívají digitální modely terénů a kvůli stavebnímu boomu i 3D modely budov

Mít pokrytí co nejširšího území Česka a nabízet svým zákazníkům co nejlepší signál je společným cílem všech mobilních operátorů. Při plánování sítí proto využívají aktualizovaných digitálních modelů terénu, jež jim umožňují přesně si vypočítat pokrytí a šíření signálu. V hustě zastavěných oblastech a s ohledem na stavební boom jim pak pomáhají také 3D modely budov, které by jim při nesprávném umístění vysílače mohly signál blokovat.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032019 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý