Domácí webový server, část 3: Nastavení http virtuálního hosta

Pokud byste chtěli nastavit svůj počítač v prostředí Windows jako domácí server a provozovat na něm svoje webové stránky, nebo jej třeba využít jako vzdálené úložiště, anebo si to prostě jen vyzkoušet, nabízím v tomto článku návod, jak na to. V tomto článku se budu věnovat nastavení virtuálního hosta přes nezabezpečený protokol http.

Apache virtual hosts - Vytvořeno pomocí DALL·E

Nastavení virtuálního hosta

Posledním krokem, který je nutný pro zprovoznění našeho serveru je nastavení virtuálního hosta. Virtuální host v Apache HTTP Serveru je mechanismus, který umožňuje jednomu serveru hostit více webových stránek nebo aplikací na jednom fyzickém stroji. Tento mechanismus je užitečný pro sdílení serverových prostředků mezi více webovými stránkami nebo aplikacemi a umožňuje správu různých domén nebo subdomén na jednom serveru.

Existují dva hlavní typy virtuálních hostů v Apache:

1. IP-based virtual host: Každý virtuální host má vlastní IP adresu, na které naslouchá. Tento typ virtuálního hostu umožňuje hostit různé webové stránky na různých IP adresách na stejném serveru. To může být užitečné, pokud máte k dispozici více veřejných IP adres.

2. Name-based virtual host: V tomto případě jeden fyzický server naslouchá na jedné IP adrese a podle doménového jména, které klient posílá ve svém požadavku, rozhoduje, kterou webovou stránku nebo aplikaci zobrazit. To znamená, že více domén může být hostováno na jedné IP adrese. Tento typ virtuálního hostu je častější, protože je ekonomičtější a umožňuje efektivnější využití IP adres.

Konfigurace virtuálních hostů se provádí v konfiguračních souborech Apache, obvykle v souboru `httpd.conf` nebo v oddělených souborech pro jednotlivé virtuální hosty. Každý virtuální host je definován pomocí direktivy `VirtualHost`, ve které jsou specifikovány IP adresa nebo doménové jméno, kterému host chce naslouchat a konfigurační direktivy pro daný virtuální host, jako je DocumentRoot (adresář, ve kterém jsou uloženy soubory webové stránky), přístupová práva, logování a další. Soubor, který budeme editovat je tedy ` httpd-vhosts.conf` a najdeme jej v adresáři `xampp\apache\conf\extra` a vložíme do něj tento kód:

<VirtualHost *:80>

    DocumentRoot "D:/project/webserver/www"

    ServerName 48.15.158.160

    <Directory "D:/project/webserver/www">

     #use mod_rewrite for pretty URL support

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

    </Directory>

<Location />

    Require all granted

</Location>

</VirtualHost>

Tato konfigurace Apache definuje virtuálního hostitele pro webový server. Pojďme ji rozebrat krok za krokem:

1. `<VirtualHost *:80>`: Tato direktiva začíná definici bloku pro virtuálního hostitele, který naslouchá na všech dostupných rozhraních (`*`) na portu 80, což je standardní port pro HTTP komunikaci. Tímto se říká Apache, že veškerý provoz na portu 80 by měl být zpracováván podle konfigurace uvedené v tomto bloku.

2. `DocumentRoot "D:/project/webserver/www"`: Určuje kořenový adresář dokumentů pro tohoto virtuálního hostitele. Všechny požadavky na tohoto virtuálního hostitele budou slouženy z tohoto adresáře, pokud není uvedeno jinak. V tomto případě je kořenovým adresářem `D:/project/webserver/www`. Cestu ke svému projektu si samozřejmě zvolte svoji vlastní.

3. `ServerName 48.15.158.160`: Definuje název serveru, který je použit k identifikaci tohoto virtuálního hostitele. Zde je použita IP adresa, tato direktiva ovšem obvykle obsahuje doménové jméno, například `example.com`. Jelikož pro svůj domácí server nemám doménové jméno, použil jsem zde svoji veřejnou IP adresu. Svoji vlastní IP adresu můžete zjistit třeba tady: https://www.mojeip.cz/.

4. `<Directory "D:/project/webserver/www">`: Tento blok umožňuje konfiguraci specifických direktiv pro určený adresář. V tomto případě se nastavení vztahuje na kořenový adresář dokumentů virtuálního hostitele.

• `RewriteEngine on`: Zapíná modul pro přepisování URL, `mod_rewrite`, který umožňuje přizpůsobit, jak jsou URL adresy interpretovány a zpracovány serverem.

• `RewriteCond %{REQUEST_FILENAME} !-f`: Tato podmínka říká, že následující pravidlo pro přepisování se použije pouze v případě, že požadovaný soubor (`%{REQUEST_FILENAME}`) fyzicky neexistuje na disku (`!-f`).

`RewriteCond %{REQUEST_FILENAME} !-d`: Podobně tato podmínka říká, že následující pravidlo pro přepisování se použije pouze v případě, že požadovaný adresář (`%{REQUEST_FILENAME}`) fyzicky neexistuje na disku (`!-d`).

• `RewriteRule . /index.php [L]`: Toto pravidlo pro přepisování říká, že pokud požadavek neodpovídá existujícímu souboru nebo adresáři, měl by být veškerý provoz přesměrován na `index.php`. `[L]` znamená, že toto je poslední pravidlo, které má být v tomto běhu aplikováno.

5. `<Location />`: Tento blok umožňuje nastavení direktiv specifických pro určitou cestu. V tomto případě `/` značí kořenový adresář.

•`Require all granted`: Tato direktiva říká, že všem požadavkům na toto umístění je povoleno přistupovat k obsahu, což znamená, že nejsou aplikována žádná další omezení přístupu.

6. `</VirtualHost>`: Uzavírá blok konfigurace pro virtuálního hosta.

Po uložení konfigurace virtuálního hosta a restartu Apache, by se po zadání Vaší veřejné IP adresy do prohlížeče měl úspěšně rozjet Váš webový projekt.

V příštím článku se budu věnovat přesměrování na port 443 pro zabezpečený provoz přes https, nastavení virtuálního hosta pro zabezpečené připojení a tvorbě certifikátů pomocí Open SSL.


Komentáře: 1
Wierazzz
1.března 19:58
Celkově je text dobře napsaný a poskytuje hodnotné informace pro každého, kdo má zájem o nastavení domácího webového serveru pomocí Apache na Windows. S drobnými vylepšeními, zejména v oblasti bezpečnosti a přístupnosti pro začátečníky, by mohl být ještě užitečnější
Napište komentář

Výlet do neznáma

Píseň z alba Rozpaky, inspirovaná neznámou dívkou v modrém... Text i hudba byli napsány 9. 12. 2018.

Podzim

Báseň a píseň z alba Rozpaky vydaná v roce 2019. Báseň byla napsána za letní noci 21. 8. 2016, nevzpomínám si přesně, ale myslím, že nad sklenkou whisky.

Třešně a led

Píseň z alba Rozpaky inspirovaná událostmi prvních lednových dní roku 2003. Píseň patří všem, kteří toho roku tragicky zahynuli... Text byl napsán 4. 7. 2016. Hudba byla napsána 27. 8. 2016.

Světem vcelku

Píseň z alba Rozpaky. Inspirace všeobímající, tak trochu osobní výpověď. Pojednání o věcech těžko pochopitelných. Text byl napsán 29. 11. 2015. Hudba byla napsána v lednu 2016.

Změna

Píseň z alba Rozpaky inspirovaná podzimními událostmi roku 2003. Text byl napsán 24. 8. 2016. Hudba byla napsána 20. 12. 2018.

Čumísek

Píseň z alba Rozpaky inspirovaná událostmi roku 2003. Text byl napsán 9. 7. 2016. Hudba byla napsána 17. 12. 2018.

Takový jako tento

Píseň z alba Rozpaky inspirovaná jak jinak nešťastnou láskou. Hudba původně z anglickým textem byla napsána v září 2003. Text byl napsán 20. 2. 2016.

Služby zdarma

Píseň z alba Rozpaky inspirovaná nehynoucí touhou všelijakých obchodníků prodat vám cokoli. Text i hudba byli napsány 10. 5. 2017.

Málem omylem

Vzpomínka na první červencové dny roku 2003. Pokud se vám náhodou něco někdy nepovede, nesahejte na alkohol, je to velice zlý pán a nemá slitování. Text písně byl napsán 8. 5. 2017.

Tak dávno

Vzpomínka na první červencové dny roku 2003. Text i hudba byli napsány 10. 5. 2017.

Video

Zbyněk Sklenský na vernisáži v Knížecím domě v Moravském Krumlově

Populární epizody

Všechny podcasty
Přísloví pro každý den

Bez peněz do hospody nelez

Pročpak asi není dobré jíti do hospody bez peněz? Přece tam jistě bude spousta lidí, kteří za vás rádi zaplatí, nebo ne?

Zbyněk Sklenský

Zbyněk Sklenský

Přísloví pro každý den

Bez práce nejsou koláče

Že bez práce nejsou koláče je myslím dobře známo snad každému. Je však v tomto přísloví schováno ještě něco dalšího?

Kiksylend

Kapelní novinky, nové písně a nahrávky, aktualizace a mnoho dalšího. Sledujte na www.kiksylend.cz

Upovídaný podcast

Tři roky s trumpetou

Již třetí pokračování o mé hře na trumpetu, nové poznatky, úsměvné příhody a také nějaké nahrávky

Kriminální případ: Vražda Samanthy Walsh

První kriminální případ v mém podání. Jedná se o převyprávění případu z roku 2000, kdy se ztratila a později byla nalezena mrtvá třináctiletá Samantha Walsh. Originál a zdroj naleznete zde: https://canadiantruecrime.ca/episodes/120

Čím výše vystoupíš, tím máš větší rozhled

Jak je to možná s rozhledem? Co byste mysleli, že je dobré míti, abyste viděli opravdu dále? Třeba může pomoci dnešní krátké zamyšlení.

jaký šel, takového potkal

Je odrazem tohoto světa náhoda, nebo je vše výsledkem předem daným? Je osudu možné vzdorovat, nebo je lépe jen dobře pozorovat?

Kiksylend na Portě

Jaké to bylo na letošní portě? Působení Kiksylendu na legendárním hudebním festivalu, nahrávky písní Kavárenský povaleč, Kateřina a MDŽ a dále kratičké představení celkového vítěze Porty.

Nech žít, co miluješ

Je umění nechat žít projevem skutečné lásky? Nebo se má láska projevovat touhou po kontrole druhých? Krátké zamyšlení nad tím naleznete v tomto dnešním díle.

Vzpomínky nejen školní, část 1: Gymnázium

Úsměvné vzpomínky na léta nejen školní. Přeji příjemný poslech

Přísloví pro každý den

Všechny díly podcastu
Přísloví pro každý den

Drzé čelo lepší než poplužní dvůr

Co je vlastně drzé čelo a co přesně poplužní dvůr? A proč by mělo býti lepší? Málo známé přísloví ovšem opět velmi aktuální

Zbyněk Sklenský

Zbyněk Sklenský

Podzim v Moravském Krumlově, část I.

Jak se do lesa volá, tak se z něho ozývá

Krátké zamyšlení o aplikaci přísloví v každodenním životě a také o tom, jak může sloužit jako cenná životní moudrost.

Dobrý nápad chodívá málokdy sám

Pocházejí veliké myšlenky jen od velikých lidí, nebo jsou veliké myšlenky vždy jen fúzí myšlenek lidí předešlých?

Podzim v Moravském Krumlově, část I.

Devatero řemesel, desátá bída

Jestliže desátá by měla být bída, pak je lépe devatero řemesel nezkoušet, ale co když desátý by mohl být ten pravý poklad? Kdo to ví? Krátké zamyšlení nad známým příslovím

Jedna vlaštovka jaro nedělá

Že jedna vlaštovka jaro nedělá sice víme, ale proč vlastně? Drobné zamyšlení nad známým příslovím

jaký šel, takového potkal

Je odrazem tohoto světa náhoda, nebo je vše výsledkem předem daným? Je osudu možné vzdorovat, nebo je lépe jen dobře pozorovat?

Ježek sám sobě kadeřav

Přestože ježek kadeřemi neoplývá, občas se s nimi chlubí. Znáte nějakého takového?

Čím méně víš, tím lépe spíš

Přemýšleli jste někdy, zda by nebylo lépe některé věci neřešit, anebo jim prostě přestat věnovat méně času a věnovat se věcem důležitějším? Možná, že byste pak mohli spát spánkem spravedlivých, ale kdo ví?

Chybami se člověk učí

Je možné učit se z chyb druhých, anebo jen z chyb vlastních? Je dobré chyby dělat, nebo jim předcházet? Kéž by existovala jednoduchá odpověď...

Bez peněz do hospody nelez

Pročpak asi není dobré jíti do hospody bez peněz? Přece tam jistě bude spousta lidí, kteří za vás rádi zaplatí, nebo ne?