Pojem virtuální hostitel označuje způsob provozování více než jednoho webu, jako je host1.domain.com, host2.domain.com nebo www.domain1 .com, www.domain2.com atd., v jednom systému. V Apache existují dva typy virtuálního hostingu, jmenovitě virtuální hosting založený na IP a virtuální hosting založený na názvu. S virtuálním hostingem založeným na IP můžete hostovat více webových stránek nebo domén na stejném systému, ale každý web/doména má jinou IP adresu. S virtuálním hostingem založeným na názvu můžete hostovat více webových stránek/domén na stejné IP adrese. Virtuální hosting může být užitečný, pokud chcete hostovat více webových stránek a domén z jednoho fyzického serveru nebo VPS. Doufám, že máte základní představu o virtuálních hostitelích Apache. Dnes se podíváme, jak nakonfigurovat virtuální hostitele Apache v Ubuntu 18.04 LTS.
IP adresa mého testovacího boxu je 192.168.225.22 a název hostitele je ubuntuserver.
Nejprve uvidíme, jak nakonfigurovat virtuální hostitele založené na názvech na webovém serveru Apache.
Konfigurace virtuálních hostitelů založených na názvech1. Nainstalujte webový server ApacheUjistěte se, že jste nainstalovali webový server Apache. Chcete-li jej nainstalovat na Ubuntu, spusťte:
$ sudo apt-get install apache2Jakmile je apache nainstalován, otestujte, zda funguje nebo ne, procházením testovací stránky apache v prohlížeči.
Otevřete webový prohlížeč a nasměrujte jej na http://IP_Address nebo http://localhost. Měli byste vidět stránku jako níže.
Výborně! Webový server Apache je funkční!!
2. Vytvořte webový adresář pro každého hostiteleVytvořím dva virtuální hostitele, konkrétně ostechnix1.lan a ostechnix2.lan.
Vytvořme adresář pro prvního virtuálního hostitele ostechnix1.lan. Tento adresář je nutný pro ukládání dat našich virtuálních hostitelů.
Chcete-li tak učinit, zadejte:
$ sudo mkdir -p /var/www/html/ostechnix1.lan/public_htmlPodobně vytvořte adresář pro druhého virtuálního hostitele ostechnix2.lan, jak je znázorněno níže.
$ sudo mkdir -p /var/www/html/ostechnix2.lan/public_htmlVýše uvedené dva adresáře vlastní uživatel root. Musíme změnit vlastnictví na běžného uživatele.
Chcete-li tak učinit, spusťte:
$ sudo chown -R $USER:$USER /var/www/html/ostechnix1.lan/public_html$ sudo chown -R $USER:$USER /var/www/html/ostechnix2.lan/public_htmlZde, $ USER odkazuje na aktuálně přihlášeného uživatele.
Dále nastavte oprávnění ke čtení pro kořenový adresář Apache, tj. /var/www/html/ pomocí příkazu:
$ sudo chmod -R 755 /var/www/html/Děláme to, protože jsme již vytvořili samostatný adresář pro každého virtuálního hostitele pro ukládání jeho dat. Takže jsme vytvořili kořenový adresář Apache jako pouze pro čtení pro všechny uživatele kromě uživatele root.
Vytvořili jsme požadované adresáře pro ukládání dat každého virtuálního hostitele, nastavili jsme správná oprávnění. Nyní je čas vytvořit několik vzorových stránek, které budou obsluhovány z každého virtuálního hostitele.
3. Vytvořte ukázkové webové stránky pro každého hostiteleVytvořme vzorovou stránku pro web otechnix1.lan. Chcete-li to provést, spusťte:
$ sudo vi /var/www/html/ostechnix1.lan/public_html/index.htmlPřidejte do něj následující řádky:
www.ostechnix.lanDobrý den, toto je testovací stránka webu ostechnix1.lan
Uložte a zavřete soubor.
Podobně vytvořte vzorovou stránku pro web ostechnix2.lan:
$ sudo vi /var/www/html/ostechnix2.lan/public_html/index.htmlPřidejte do něj následující řádky:
www.ostechnix.lanDobrý den, toto je testovací stránka webu ostechnix2.lan
Uložte a zavřete soubor.
4. Vytvořte konfigurační soubor pro každého hostiteleDále musíme vytvořit konfigurační soubory pro každého virtuálního hostitele. Nejprve to udělejme pro web otechnix1.lan.
Zkopírujte výchozí soubor virtuálního hostitele s názvem 000-default.conf obsah do nových souborů virtuálního hostitele, jak je uvedeno níže.
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/ostechnix1.lan.conf$ sudo cp /etc/apache2/sites-available/000-default.conf /etc /apache2/sites-available/ostechnix2.lan.confMějte prosím na paměti, že všechny konfigurační soubory musíte uložit s příponou .conf na konci, jinak to nebude fungovat.
Nyní upravte konfigurační soubory tak, aby odpovídaly našim virtuálním hostitelům.
Upravit soubor otechnix.lan1.conf:
$ sudo vi /etc/apache2/sites-available/ostechnix1.lan.confUpravit/upravit hodnoty ServerAdmin, ServerName, ServerAlias a DocumentRoot odpovídají virtuálnímu hostiteli.
# Direktiva ServerName nastavuje schéma požadavku, název hostitele a port, který # server používá k identifikaci. To se používá při vytváření # adres URL přesměrování. V kontextu virtuálních hostitelů určuje ServerName #, jaký název hostitele se musí objevit v hlavičce Host: požadavku, aby # odpovídal tomuto virtuálnímu hostiteli. Pro výchozího virtuálního hostitele (tento soubor) tato hodnota # není rozhodující, protože se bez ohledu na to používá jako hostitel poslední instance. # Pro každého dalšího virtuálního hostitele jej však musíte nastavit explicitně. #ServerName www.example.comServerAdmin [e-mail protected] ServerName ostechnix1.lan ServerAlias www.ostechnix1.lan DocumentRoot /var/www/html/ostechnix1.lan/public_html # Dostupné úrovně protokolů: trace8, ..., trace1, debug, info, upozornění, varování, # chyba, crit, alert, emerg. # Je také možné nakonfigurovat úroveň logování pro jednotlivé # moduly, např. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # Pro většinu konfiguračních souborů z conf-available/, které jsou # povoleny nebo zakázány na globální úrovni, je možné do # zahrnout řádek pouze pro jednoho konkrétního virtuálního hostitele. Například # následující řádek povolí konfiguraci CGI pro tohoto hostitele pouze # poté, co byl globálně zakázán pomocí "a2disconf". #Include conf-available/serve-cgi-bin.confUložte a zavřete soubor.
Dále upravte soubor ostechnix2.lan.conf:
$ sudo vi /etc/apache2/sites-available/ostechnix2.lan.confProveďte potřebné změny.
# Direktiva ServerName nastavuje schéma požadavku, název hostitele a port, který # server používá k identifikaci. To se používá při vytváření # adres URL přesměrování. V kontextu virtuálních hostitelů určuje ServerName #, jaký název hostitele se musí objevit v hlavičce Host: požadavku, aby # odpovídal tomuto virtuálnímu hostiteli. Pro výchozího virtuálního hostitele (tento soubor) tato hodnota # není rozhodující, protože se bez ohledu na to používá jako hostitel poslední instance. # Pro každého dalšího virtuálního hostitele jej však musíte nastavit explicitně. #ServerName www.example.comServerAdmin [e-mail protected] ServerName ostechnix2.lan ServerAlias www.ostechnix2.lan DocumentRoot /var/www/html/ostechnix2.lan/public_html # Dostupné úrovně protokolů: trace8, ..., trace1, debug, info, upozornění, varování, # chyba, crit, alert, emerg. # Je také možné nakonfigurovat úroveň logování pro jednotlivé # moduly, např. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # Pro většinu konfiguračních souborů z conf-available/, které jsou # povoleny nebo zakázány na globální úrovni, je možné do # zahrnout řádek pouze pro jednoho konkrétního virtuálního hostitele. Například # následující řádek povolí konfiguraci CGI pro tohoto hostitele pouze # poté, co byl globálně zakázán pomocí "a2disconf". #Include conf-available/serve-cgi-bin.confUložte/zavřete soubor.
5. Povolte konfigurační soubory virtuálního hostitelePo provedení nezbytných změn deaktivujte výchozí konfigurační soubor virtuálního hostitele, tj. 000.default.conf, a povolte všechny nově vytvořené konfigurační soubory virtuálního hostitele, jak je uvedeno níže.
$ sudo a2dissite 000-default.conf$ sudo a2ensite ostechnix1.lan.conf$ sudo a2ensite ostechnix2.lan.confRestartujte webový server apache, aby se změny projevily.
$ sudo systemctl restart apache2To je vše. Úspěšně jsme nakonfigurovali virtuální hostitele v Apache. Pojďme dál a zkontrolujeme, zda fungují nebo ne.
6. Otestujte virtuální hostiteleOtevřete soubor /etc/hosts v libovolném editoru:
$ sudo vi /etc/hostsPřidejte všechny své virtuální webové stránky/domény jednu po druhé, jak je uvedeno níže.
[...]192.168.225.22 ostechnix1.lan192.168.225.22 ostechnix2.lan[...]Upozorňujeme, že pokud chcete přistupovat k virtuálním hostitelům z jakéhokoli vzdáleného systému, musíte do každého přidat výše uvedené řádky soubor /etc/hosts vzdáleného systému.
Uložte a zavřete soubor.
Otevřete webový prohlížeč a nasměrujte jej na http://ostechnix1.lan nebo http://ostechnix2.lan.
testovací stránka ostechnix1.lan: testovací stránka ostechnix2.lan:Blahopřejeme! Nyní můžete mít přístup ke všem svým webům. Od této chvíle můžete nahrávat data a poskytovat je z různých webových stránek.
Jak jste si všimli, použili jsme stejnou IP adresu (tj. 192.168.225.22) pro hostování dvou různých webových stránek (http://ostechnix1.lan a http://ostechnix2.lan). Tomu říkáme jmenný virtuální hosting. Snad to pomůže. V další příručce vám ukážu, jak nakonfigurovat virtuální hosting založený na IP. Do té doby zůstaňte naladěni!
Zdroj:Díky za zastavení! Hezký den!!PREV: Oprava chybového kódu PS4 NW-31246-6 (více řešení) – slabé...
NEXT: Nejrychlejší servery DNS pro PS4 – 2020 [pouze nejlepší DNS] – PS4DNS.COM