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.
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.
- Předchozí článek: Domácí webový server, část 2: Instalace Apache serveru
- Následující článek: Domácí webový server, část 4: Nastavení virtuálního hosta pro zabezpečené připojení
- Všechny články rubriky
Napište komentář
Kriminální případ: Vraždy Roberta Picktona, část 3
Upozornění: Tato epizoda obsahuje explicitní obsah týkající se vyšetřování zločinů vražd, který může být pro některé posluchače znepokojující.…
Kriminální případ: Vraždy Roberta Picktona, část 2
Upozornění: Tato epizoda obsahuje explicitní obsah týkající se vyšetřování zločinů vražd, který může být pro některé posluchače znepokojující.…
Kriminální případ: Vraždy Roberta Picktona, část 1
Upozornění: Tato epizoda obsahuje explicitní obsah týkající se vyšetřování zločinů vražd, který může být pro některé posluchače znepokojující.…
Kriminální případ: Vražda rodiny Johnson-Bentley
V srpnu 1982 se šest členů jedné rodiny vydalo na dvoutýdenní kempování na odlehlé místo ve Wells Parku v Britské Kolumbii. O měsíc později byly…
Čtyři roky s trumpetou, část 2
Výroční epizoda o mém životě s trumpetou, tentokráte již čtvrté pokračování. Dva díly shrnující rok 2023, oba napěchovány hudbou Kiksylendu a hudbou…
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.
Komentáře: 1
Wierazzz
1.března 19:58