• 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 nakonfigurovat virtuálního hostitele Apache

Jak nakonfigurovat virtuálního hostitele Apache

Rsdaa 21/10/2021 1377

V Apache (httpd) se virtuální hostitelé používají k hostování webového obsahu pro více domén mimo stejný server v závislosti na používané adrese IP nebo názvu domény. V závislosti na přijatém požadavku lze použít různé konfigurace virtuálního hostitele, což má za následek různá nastavení a webový obsah, který je obsluhován z jednoho webového serveru. Například webový server s jednou IP adresou může hostit více doménových jmen, jako je example.com a example.org a mnoho dalších.

Zde se budeme zabývat tím, jak nakonfigurovat virtuální hostitele pro Apache 2.4, abychom mohli mít více domén obsluhujících různé webové stránky podle toho, co je požadováno.

Studujete na certifikaci RHCE? Podívejte se na náš videokurz RHCE na Udemy, který je 20% sleva, když použijete kód ROOTUSER.

Příklad konfigurace virtuálního hostitele Apache

Konfigurace virtuálního hostitele je obvykle umístěna v souboru /etc/httpd/conf/httpd.conf a také v jedinečných souborech .conf v souboru /etc/httpd/conf .d adresář. Je dobrým zvykem vytvořit nový soubor .conf v /etc/httpd/conf.d, pokud přidáváte více webových stránek, které mají být hostovány ze stejného webového serveru, protože to udržuje konfiguraci čistou a snáze se spravuje. V našem příkladu budeme pracovat s /etc/httpd/conf.d/example1.conf, který bude pro web www.example.com a /etc/httpd/conf.d/example2.conf, který bude pro web www.example.org.

Nejprve začneme s nějakou ukázkovou konfigurací virtuálního hostitele a poté probereme, co každá linka vlastně dělá. Další příklady naleznete v dokumentaci k Apache.

Níže uvedený příklad konfigurace virtuálního hostitele byl uložen do souboru /etc/httpd/conf.d/example1.conf.

Vyžadovat všechny udělenéDocumentRoot "/var/www/html/example1"ServerName www.example.comServerAlias ​​example.comServerAdmin [email protected]ErrorLog "/var/log/httpd/error_log_example1"CustomLog "/var/log/httpd/access_log_example1" kombinovaný< p>Níže uvedený příklad konfigurace virtuálního hostitele byl uložen do souboru /etc/httpd/conf.d/example2.conf.

Vyžadovat všechny přidělenéDocumentRoot "/var/www/html/example2"ServerName www.example.orgServerAlias ​​example.orgServerAdmin [email protected]ErrorLog "/var/log/httpd/error_log_example2"CustomLog "/var/log/httpd/access_log_example2" kombinované< p>Ve výše uvedených příkladech máme dva konfigurační bloky virtuálního hostitele. První je pro www.example.com, zatímco druhý je pro www.example.org. Níže vysvětlíme každý řádek pro virtuálního hostitele example1/example.com, protože konfigurace je mezi nimi většinou stejná.

– Tím se otevře značka adresáře a používá se k uzavření skupiny direktiv, které se vztahují na zadaný adresář. Vyžadovat udělení všech – Toto je vyžadováno pro udělení přístupu, bez něj se v protokolech Apache zobrazí „authz_core:error“ jako výchozí konfigurace v rámci soubor /etc/http/conf/httpd.conf definuje adresář „/“ s „Vyžadovat vše odepřeno“. – Tímto se zavře tag adresáře. – Tato značka virtuálního hostitele označuje, že konfigurace po ní bude platit pro libovolnou IP adresu podle „*“ na portu 80, „*“ lze místo toho upravit na konkrétní IP adresu, která je dostupná na serveru. Port lze také změnit, pokud je direktiva Listen pro tento port definována v hlavním souboru httpd.conf.DocumentRoot „/var/www/example1“ – Kořen dokumentu je adresář, kde existuje obsah, který by měl Apache obsluhovat, když navštívíme název domény, v tomto případě přechod na www.example.com nás přesměruje na soubory v adresáři /var/www/example1 na webovém serveru. Zadaný adresář by měl existovat a ideálně obsahovat content.ServerName www.example.com – Toto je jedinečný název, pro který je virtuální hostitel, v tomto případě je konfigurační blok virtuálního hostitele pro web www.example.com.ServerAlias ​​příklad. com – Alternativní názvy lze použít při porovnávání požadavku a jsou specifikovány pomocí ServerAlias, což nám umožňuje poskytovat jiné aliasy založené na jménu, protože na virtuálního hostitele je povolen pouze jeden ServerName. ServerAdmin [email protected] – Toto je poskytnutá e-mailová adresa v chybových zprávách, což uživatelům umožňuje kontaktovat webmastera webového serveru. ErrorLog „/var/log/httpd/error_log_example1“ – Toto je soubor, kde jsou uloženy protokoly chyb související s tímto virtuálním hostitelem, které jsou užitečné při odstraňování problémů .CustomLog „/var/log/httpd/access_log_example1“ v kombinaci – Zde se ukládají přístupové protokoly, například když si klient prohlíží webovou stránku, budou zde zaznamenávány požadavky na přístup. – Toto je uzavírací značka pro blok virtuálního hostitele označující konec konfigurace pro konkrétního virtuálního hostitele.

Pokud nějaká konfigurace v rámci virtuálního hostitele chybí, výchozí hodnoty uvedené v hlavním /etc/httpd/conf/ Místo toho bude použit soubor httpd.conf.

Druhý blok virtuálního hostitele v souboru example2.conf je většinou stejný, kromě toho, že se stará o požadavky na stránky www.example.org a example.org obsluhující obsah v rámci /var/www/html/example2. Chyby jsou protokolovány do /var/log/httpd/error_log_example2 a požadavky na přístup jsou protokolovány do /var/log/httpd/access_log_example2.

Syntaxi našich dvou souborů .conf lze otestovat pomocí příkazu ‘apachectl configtest’, jak je uvedeno níže. V tomto případě kořenové adresáře dokumentu ještě nebyly vytvořeny, takže jsme upozorněni a měli bychom je vytvořit.

[[email protected] ~]# apachectl configtestAH00112: Upozornění: DocumentRoot [/var/www/html/example1] neexistujeAH00112: Upozornění: DocumentRoot [/var/www/html/example2] neexistujeSyntaxe OK

Adresáře lze vytvořit pomocí mkdir, jak je znázorněno níže.

mkdir /var/www/html/example1mkdir /var/www/html/example2

Nyní, když naše adresáře existují, by se již nemělo zobrazovat varování. V tomto příkladu jsem vytvořil dva soubory index.html s textovým editorem v obou adresářích, obsah je uveden níže.

[[email protected] ~]# cat /var/www/html/example1/index.htmlwebexample.com[[email protected] ~]# web cat /var/www/html/example2/index.htmlexample.org

Před testováním naší konfigurace virtuálního hostitele budou jakékoli změny konfiguračních souborů Apache, jako je úprava virtuálních hostitelů, vyžadovat restartování nebo opětovné načtení služby httpd, aby se změny konfigurace projevily. Apache lze znovu načíst, aby bylo možné využít změny konfigurace pomocí „systemctl reload httpd“, další informace naleznete v našem průvodci správou služeb.

Testování virtuálních hostitelů

Po zavedení konfigurace virtuálního hostitele a opětovném načtení Apache bude nutné vytvořit příslušné záznamy DNS, aby se domény převedly na webový server. Případně můžete otestovat úpravou souboru hosts. V tomto příkladu můžeme upravit soubor /etc/hosts a přidat následující položku.

127.0.0.1 example.com www.example.com example.org www.example.org

Tímto se tyto domény převedou na localhost, nyní můžeme procházet obsah a potvrdit, že naši virtuální hostitelé fungují správně. V tomto případě použijeme příkaz curl k zobrazení obsahu každé webové stránky.

[[email protected] ~]# web curl example.comexample.com[[email protected] ~]# web curl example.orgexample.org

Tím se potvrzuje, že jsou správné stránky index.html v rámci /var/www/html/ example1 a /var/www/html/example2 se úspěšně načítají pro každou doménu, jak je definováno v konfiguraci virtuálního hostitele.

Další informace

Pokud se zaseknete nebo máte potíže si něco z toho zapamatovat, vzpomeňte si na balíček httpd-manual, který lze nainstalovat a zobrazit na http://localhost/manual.

Na hlavní stránce jednoduše vyberte Virtuální hostitelé, abyste získali nápovědu k tomuto tématu.

Shrnutí

Pomocí několika řádků konfigurace virtuálního hostitele můžeme Apache umožnit obsluhovat více webových stránek ze stejného webového serveru, což nám umožňuje hostovat více webových stránek v rámci stejného sdíleného hostitelského prostředí.

Tento příspěvek je součástí série studijních příruček ke zkouškám Red Hat Certified Engineer (RHCE). Další příspěvky a informace související s RHCE najdete v našem úplném studijním průvodci RHCE.

Související


PREV: [Vyřešeno] Nelze se připojit k serveru MySql na localhost (10061) (Zobrazit téma) * Fórum komunity Apache OpenOffice

NEXT: Defekt #11685: Nelze se připojit k serveru MySQL na 'localhost ...

Populární články

Žhavé články

Navigační seznamy

Zpět na začátek