• 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 virtuální hostitele Apache na CentOS 7 | DigitalOcean

Jak nastavit virtuální hostitele Apache na CentOS 7 | DigitalOcean

Rsdaa 25/10/2021 1122

Stav: Zastaráno

Důvod: Tento článek není aktivně udržován a má k dispozici novou verzi. Viz místo toho: Jak nainstalovat webový server Apache na CentOS 7

Úvod

Webový server Apache je nejoblíbenějším způsobem poskytování webového obsahu na internetu. Obsluhuje více než polovinu všech aktivních internetových stránek a je extrémně výkonný a flexibilní.

Apache rozděluje své funkce a komponenty do jednotlivých jednotek, které lze přizpůsobit a konfigurovat nezávisle. Základní jednotka, která popisuje jednotlivé stránky nebo doménu, se nazývá virtuální hostitel. Virtuální hostitelé umožňují jednomu serveru hostovat více domén nebo rozhraní pomocí shodného systému. To je relevantní pro každého, kdo chce hostovat více než jeden web z jednoho VPS.

Každá doména, která je nakonfigurována, nasměruje návštěvníka do konkrétního adresáře obsahujícího informace o této stránce, aniž by kdy uváděla, že stejný server je zodpovědný i za jiné stránky. Toto schéma je rozšiřitelné bez jakéhokoli softwarového omezení, pokud váš server zvládne provoz, který přitahují všechny stránky.

V této příručce si projdeme, jak nastavit virtuální hostitele Apache na CentOS 7 VPS. Během tohoto procesu se naučíte, jak poskytovat různý obsah různým návštěvníkům v závislosti na doménách, které požadují.

Předpoklady

Než začnete s tímto průvodcem, je třeba dokončit několik kroků.

Budete potřebovat přístup k serveru CentOS 7 s uživatelem bez oprávnění root, který má oprávnění sudo. Pokud jste to ještě nenakonfigurovali, můžete si tento účet vytvořit pomocí průvodce počátečním nastavením serveru CentOS 7.

Abyste mohli nakonfigurovat virtuální hostitele, budete také muset mít nainstalovaný Apache. Pokud jste tak ještě neučinili, můžete použít yum k instalaci Apache prostřednictvím výchozích softwarových úložišť CentOS:

sudo yum -y install httpd

Dále povolte Apache jako službu CentOS, aby se automaticky spustila po restartu:

sudo systemctl enable httpd.service

Po dokončení těchto kroků se přihlaste jako svůj účet uživatele bez oprávnění root přes SSH a pokračujte ve výukovém programu.

Poznámka: Příklad konfigurace v této příručce vytvoří jednoho virtuálního hostitele pro example.com a druhého pro example2.com. Na ty se bude odkazovat v celé příručce, ale při jejich sledování byste měli nahradit své vlastní domény nebo hodnoty. Chcete-li se dozvědět, jak nastavit názvy domén pomocí DigitalOcean, klikněte na tento odkaz.

Pokud nemáte žádné skutečné domény, se kterými byste si mohli hrát, ukážeme vám, jak otestovat konfiguraci virtuálního hostitele pomocí fiktivních hodnot na konci výukového programu.

První krok – Vytvoření adresářové struktury

Nejprve musíme vytvořit adresářovou strukturu, která bude obsahovat data webu, která budou sloužit návštěvníkům.

Náš kořenový adresář dokumentů (adresář nejvyšší úrovně, do kterého Apache hledá obsah, který má sloužit) bude nastaven na jednotlivé adresáře v adresáři /var/www. Vytvoříme zde adresář pro každého z virtuálních hostitelů, které plánujeme vytvořit.

V každém z těchto adresářů vytvoříme adresář public_html, který bude obsahovat naše skutečné soubory. To nám dává určitou flexibilitu v našem hostingu.

Tyto adresáře můžeme vytvořit pomocí příkazu mkdir (s parametrem -p, který nám umožňuje vytvořit složku s vnořenou složkou uvnitř):

sudo mkdir -p /var/www/example.com/public_htmlsudo mkdir -p /var/www/example2.com/public_html

Pamatujte si, že červené části představují názvy domén, které chceme obsluhovat z našeho VPS.

Krok 2 — Udělení oprávnění

Nyní máme adresářovou strukturu pro naše soubory, ale jsou vlastněny naším uživatelem root. Pokud chceme, aby náš běžný uživatel mohl upravovat soubory v našich webových adresářích, můžeme změnit vlastnictví pomocí chown:

sudo chown -R $USER:$USER /var/www/example.com/public_htmlsudo chown -R $USER:$USER /var/www/example2.com/public_html

Proměnná $USER bude mít hodnotu uživatel, pod kterým jste aktuálně přihlášeni, když odesíláte příkaz. Díky tomu náš běžný uživatel nyní vlastní podadresáře public_html, kde budeme ukládat náš obsah.

Měli bychom také trochu upravit naše oprávnění, abychom zajistili, že bude povolen přístup pro čtení k obecnému webovému adresáři a všem souborům a složkám v něm, aby se stránky mohly zobrazovat správně:

sudo chmod -R 755 /var/www

Váš webový server by nyní měl mít oprávnění, která potřebuje k poskytování obsahu, a váš uživatel by měl být schopen vytvářet obsah v příslušných složkách.

Krok 3 – Vytvoření ukázkových stránek pro každého virtuálního hostitele

Nyní, když máme vytvořenou strukturu adresářů, pojďme vytvořit nějaký obsah, který bude sloužit.

Protože toto je pouze pro ukázku a testování, budou naše stránky velmi jednoduché. Pro každý web právě vytvoříme stránku index.html, která identifikuje danou doménu.

Začněme s example.com. Soubor index.html můžeme otevřít v našem editoru zadáním:

nano /var/www/example.com/public_html/index.html

V tomto souboru vytvořte jednoduchý dokument HTML, který označuje web, ke kterému je stránka připojena. V této příručce bude soubor pro naši první doménu vypadat takto:

Vítejte na example.com!

Úspěch! Virtuální hostitel example.com funguje!

Po dokončení soubor uložte a zavřete.

Tento soubor můžeme zkopírovat a použít jako šablonu pro index.html našeho druhého webu zadáním:

cp /var/www/example.com/public_html/index.html /var/www/example2.com/public_html/index.html

Nyní tento soubor otevřete a upravte příslušné informace:

nano /var/www/example2.com/public_html/index.htmlVítejte na example2.com!

Úspěch! Virtuální hostitel example2.com funguje!

Uložte a zavřete i tento soubor. Nyní máte stránky potřebné k testování konfigurace virtuálního hostitele.

Krok 4 – Vytvoření nových souborů virtuálního hostitele

Virtuální hostitelské soubory určují konfiguraci našich samostatných stránek a určují, jak bude webový server Apache reagovat na požadavky různých domén.

Pro začátek budeme muset nastavit adresář, ve kterém budou naši virtuální hostitelé uloženi, a také adresář, který Apache sděluje, že virtuální hostitel je připraven sloužit návštěvníkům. Adresář sites-available bude uchovávat všechny naše soubory virtuálních hostitelů, zatímco adresář sites-enabled bude obsahovat symbolické odkazy na virtuální hostitele, které chceme publikovat. Můžeme vytvořit oba adresáře zadáním:

sudo mkdir /etc/httpd/sites-availablesudo mkdir /etc/httpd/sites-enabled

Poznámka: Toto rozvržení adresáře bylo představeno přispěvateli Debianu, ale zahrnuli jsme jej sem kvůli větší flexibilitě při správě našich virtuálních hostitelů (jako je snazší dočasně povolit a zakázat virtuální hostitele tímto způsobem).

Dále bychom měli říci Apache, aby hledal virtuální hostitele v adresáři s povolenými weby. Abychom toho dosáhli, upravíme hlavní konfigurační soubor Apache a přidáme řádek deklarující volitelný adresář pro další konfigurační soubory:

sudo nano /etc/httpd/conf/httpd.conf

Přidejte tento řádek na konec souboru:

IncludeOptional sites-enabled/*.conf

Po dokončení přidávání tohoto řádku soubor uložte a zavřete. Nyní jsme připraveni vytvořit náš první soubor virtuálního hostitele.

Vytvořte první soubor virtuálního hostitele

Začněte otevřením nového souboru v editoru s právy root:

sudo nano /etc/httpd/sites-available/example.com.conf

Poznámka: Kvůli konfiguracím, které jsme nastínili, musí všechny soubory virtuálního hostitele končit .conf.

Nejprve začněte vytvořením dvojice značek označujících obsah jako virtuálního hostitele, který naslouchá na portu 80 (výchozí port HTTP):

Dále deklarujeme název hlavního serveru, www.example.com. Vytvoříme také alias serveru, který bude odkazovat na example.com, aby požadavky na www.example.com a example.com poskytovaly stejný obsah:

ServerName www.example.comServerAlias ​​example.com

Poznámka: Aby verze www domény fungovala správně, bude konfigurace DNS domény vyžadovat záznam A nebo CNAME, který směruje požadavky www na IP serveru. Bude také fungovat záznam se zástupným znakem (*). Chcete-li se dozvědět více o DNS záznamech, podívejte se na našeho průvodce nastavením názvu hostitele.

Nakonec skončíme tím, že ukážeme na kořenový adresář našich veřejně přístupných webových dokumentů. Také řekneme Apache, kam má ukládat protokoly chyb a požadavků pro tento konkrétní web:

ServerName www.example.comServerAlias ​​example.comDocumentRoot /var/www/example.com/public_htmlErrorLog /var/www/example.com/error.logCustomLog /var/www/example.com/requests.log combined

Když jste po vypsání těchto položek můžete soubor uložit a zavřít.

Kopírování prvního virtuálního hostitele a přizpůsobení pro další domény

Nyní, když máme vytvořen náš první soubor virtuálního hostitele, můžeme vytvořit náš druhý zkopírováním tohoto souboru a jeho úpravou podle potřeby.

Začněte tím, že jej zkopírujete pomocí cp:

sudo cp /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-available/example2.com.conf

Otevřete nový soubor s právy root v textovém editoru:

sudo nano /etc/httpd/sites-available/example2.com.conf

Nyní musíte upravit všechny informace, aby odkazovaly na vaši druhou doménu. Po dokončení může váš druhý soubor virtuálního hostitele vypadat nějak takto:

ServerName www.example2.comDocumentRoot /var/www/example2.com/public_htmlServerAlias ​​example2.comErrorLog /var/www/example2.com/error.logCustomLog /var/www/example2.com/requests.log combined

Když jste Po dokončení těchto změn můžete soubor uložit a zavřít.

Pátý krok — Povolení nových souborů virtuálního hostitele

Nyní, když jsme vytvořili soubory virtuálního hostitele, je musíme povolit, aby je Apache věděl, že je má návštěvníkům poskytnout. K tomu můžeme vytvořit symbolický odkaz pro každého virtuálního hostitele v adresáři s povolenými weby:

sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.confsudo ln -s /etc/httpd/sites-available/example2.com.conf / etc/httpd/sites-enabled/example2.com.conf

Až budete hotovi, restartujte Apache, aby se tyto změny projevily:

sudo apachectl restart

Krok 6 — Nastavení souboru místních hostitelů (volitelné)

Pokud jste k testování tohoto postupu používali místo skutečných domén vzorové domény, stále můžete otestovat funkčnost svých virtuálních hostitelů dočasnou úpravou souboru hosts na vašem místním počítači. To zachytí všechny požadavky na domény, které jste nakonfigurovali, a nasměruje je na váš server VPS, stejně jako by to udělal systém DNS, pokud byste používali registrované domény. To však bude fungovat pouze z vašeho počítače a je jednoduše užitečné pro testovací účely.

Poznámka: Ujistěte se, že tyto kroky používáte na místním počítači a ne na serveru VPS. Budete potřebovat přístup k pověřením správce pro tento počítač.

Pokud používáte počítač Mac nebo Linux, upravte soubor místního hostitele s oprávněními správce zadáním:

sudo nano /etc/hosts

Pokud používáte počítač s Windows, můžete zde najít pokyny pro změnu souboru hosts.

Podrobnosti, které musíte přidat, jsou veřejná IP adresa vašeho VPS následovaná doménou, kterou chcete použít k dosažení tohoto VPS:

127.0.0.1 localhost127.0.1.1 guest-desktopserver_ip_address example.comserver_ip_address example2.com

Toto přesměruje všechny požadavky pro example.com a example2.com na náš místní počítač a odešle je na náš server na server_ip_address.

Krok 7 — Otestujte své výsledky

Nyní, když máte nakonfigurované virtuální hostitele, můžete své nastavení snadno otestovat tak, že přejdete do domén, které jste nakonfigurovali ve webovém prohlížeči:

http://example.com

Měla by se zobrazit stránka, která vypadá takto:

Stejně tak, pokud navštívíte své další domény, uvidíte soubory, které jste pro ně vytvořili.

Pokud všechny weby, které jste nakonfigurovali, fungují dobře, pak jste úspěšně nakonfigurovali své nové virtuální hostitele Apache na stejném serveru CentOS.

Pokud jste upravili soubor hostitelů vašeho domácího počítače, možná budete chtít odstranit řádky, které jste přidali, když jste ověřili, že vaše konfigurace funguje. To zabrání tomu, aby byl váš soubor hostitelů zaplněn položkami, které ve skutečnosti nejsou nutné.

Závěr

V tuto chvíli byste měli mít jeden server CentOS 7 obsluhující více webů se samostatnými doménami. Tento proces můžete rozšířit podle výše uvedených kroků a vytvořit další virtuální hostitele později. Neexistuje žádné softwarové omezení na počet doménových jmen, které může Apache zpracovat, takže si jich klidně vytvořte tolik, kolik je váš server schopen zpracovat.


PREV: DNS Server nereaguje PS4 Fix – použitelné řešení (2021)

NEXT: Oprava chyby PS4 NW-31247-7 – Více řešení – Slabá Wi-Fi ...

Populární články

Žhavé články

Navigační seznamy

Zpět na začátek