• Digitální příslušenství
  • Server
  • Digitální život
  • Zásady ochrany osobních údajů
  • Kontaktujte nás
  1. Domov
  2. Článek
  3. Jak nastavit konfiguraci virtuálního hostitele Apache (s příklady)

Jak nastavit konfiguraci virtuálního hostitele Apache (s příklady)

Rsdaa 30/10/2021 1076

Pomocí virtuálního hostitele Apache můžete provozovat několik webových stránek na stejném serveru.

Například mohu provozovat thegeekstuff.com i top5freeware.com na jediném fyzickém serveru, na kterém běží jeden webový server Apache.

Obr: Virtuální hostitel Apache (Více webových stránek, jeden Apache)

Existují dva typy konfigurací virtuálního hostitele Apache: 1) virtuální hostitel založený na IP a 2) virtuální hostitel založený na názvu. Pro většinu scénářů se doporučuje virtuální hostitel založený na názvu.

Virtuální hostitel založený na IP

Když v této konfiguraci odkazujete dvě webové stránky (s různou IP adresou) na server, na kterém běží Apache, měl by mít tento fyzický server nakonfigurované dvě různé IP adresy. .

To znamená, že server by měl mít dvě ethernetové karty, každou z nich nakonfigurovanou na IP adresu odpovídajícího webu, který bude virtuální hostitel Apache obsluhovat. Takže to není praktické pro většinu aspektů a neměli byste to používat.

V následujícím příkladu server obsahuje dvě síťové karty, jedna je nakonfigurována s 192.168.101.1 ip-adresou pro thegeekstuff.com, další je nakonfigurována s 192.168.102.1 pro top5freeware.com. Obě tyto IP adresy jsou obsluhovány jedním webovým serverem Apache běžícím na tomto serveru pomocí virtuálního hostitele založeného na IP.

Obr: Virtuální hostitel Apache založený na IP

Virtuální hostitel založený na názvu

V této konfiguraci, když webový server Apache obdrží požadavek, hledá název hostitele v hlavičce HTTP a v závislosti na názvu hostitele serveruje různé webové stránky. To je velmi snadné, protože na fyzickém serveru potřebujete pouze jednu IP adresu; ale aktualizujete DNS pomocí více názvů webových stránek směřujících na stejnou IP adresu. Pro všechny praktické účely budete používat pouze konfiguraci virtuálního hostitele na základě názvu.

V následujícím příkladu server obsahuje pouze jednu kartu NIC, která je nakonfigurována s ip-adresou 192.168.101.1. Záznam DNS pro web thegeekstuff.com a top5freeware.com ukazuje na ip-adresu 192.168.101.1. Když Apache obdrží požadavek, hledá záznam názvu hostitele v hlavičce HTTP a obsluhuje odpovídající web.

Obr: Virtuální hostitel založený na názvu Apache

1. Odebrat komentář httpd-vhosts.conf v httpd.conf

Pokud jste nainstalovali Apache 2 ze zdroje, ve výchozím nastavení bude následující řádek v souboru httpd.conf zakomentován. Odkomentujte tento řádek.

# vi /usr/local/apache2/conf/httpd.confInclude conf/extra/httpd-vhosts.conf

2. Nastavení virtuálních hostitelů

Upravte soubor httpd-vhosts.conf, jak je uvedeno níže, abyste nastavili nastavení virtuálního hostitele založeného na pojmenování pro dva hostitele.

NameVirtualHost *:80 – Označuje, že všichni virtuální hostitelé na základě názvu budou naslouchat na výchozím portu 80 – Mezi tyto značky VirtualHost uzavřete všechny konfigurační parametry Apache pro každého virtuálního hostitele. V rámci kontejneru virtualhost lze použít libovolné direktivy Apache. V následujícím příkladu nastavujeme virtuální hostitele pro thegeekstuff.com a top5freeware.com naslouchající na stejném portu 80. Budou tedy dva, jeden pro každý web. přejdete na thegeekstuff.com, soubory pod /usr/local/apache2/docs/thegeekstuff bude obsluhovat Apache; a access_log a error_log pro tento web budou pod /usr/local/apache2/logs/thegeekstuff# vi /usr/local/apache2/conf/extra/httpd-vhosts.confNameVirtualHost *:80ServerAdmin ramesh@thegeekstuff.comDocumentRoot "/usr /local/apache2/docs/thegeekstuff"ServerName thegeekstuff.comServerAlias ​​www.thegeekstuff.comErrorLog "logs/thegeekstuff/error_log"CustomLog "logs/thegeekstuff/access_log" commonServerAdmin ramesh@top5freeware/docache/Document/free "ServerName top5freeware.comServerAlias ​​www.top5freeware.comErrorLog "logs/top5freeware/error_log"CustomLog "logs/top5freeware/access_log" běžné

3. Zkontrolujte syntaxi konfigurace VirtualHost

Ověřte syntaxi virtuální konfigurace pomocí „httpd -S“, jak je uvedeno níže. Když je vše správně nastaveno, zobrazí se pouze „Syntaxe OK“.

# /usr/local/apache2/bin/httpd -SVirtualHost configuration:Syntax OK

Pokud není něco správně nakonfigurováno, zobrazí se varovná zpráva, včetně zprávy „adresář se neopouští“, jak je uvedeno níže.

# /usr/local/apache2/bin/httpd -Upozornění: DocumentRoot [/usr/local/apache2/docs/top5freeware] neexistujeVarování: ErrorLog [/usr/local/apache2/logs/thegeekstuff] neexistujeSyntaxe OK

4. Restartujte Apache a otestujte

# /usr/local/apache2/bin/apachectl restart

Nyní, když přejdete na thegeekstuff.com (nebo www.thegeekstuff.com), bude Apache poskytovat soubory z / adresář usr/local/apache2/docs/thegeekstuff.

Když přejdete na top5freeware.com (nebo www.top5freeware.com), stejný apache běžící na stejném serveru bude obsluhovat soubory z adresáře /usr/local/apache2/docs/top5freeware.

Jen pro zopakování, aby virtuální hostitel založený na názvech správně fungoval, měl by záznam DNS obou těchto webových stránek ukazovat na stejnou externí IP adresu fyzického serveru, na kterém běží webový server Apache.


PREV: Hledání nejlepšího DNS pro PS4 v roce 2021 | TechyThing

NEXT: Nelze kontaktovat server DHCP | Odstraňování problémů s DHCP

Populární články

Žhavé články
Zpět na začátek