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
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í.
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 httpdDále povolte Apache jako službu CentOS, aby se automaticky spustila po restartu:
sudo systemctl enable httpd.servicePo 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.
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_htmlPamatujte si, že červené části představují názvy domén, které chceme obsluhovat z našeho VPS.
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_htmlPromě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/wwwVáš 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.
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.htmlV 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.htmlNyní 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.
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-enabledPozná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.confPřidejte tento řádek na konec souboru:
IncludeOptional sites-enabled/*.confPo 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.
Začněte otevřením nového souboru v editoru s právy root:
sudo nano /etc/httpd/sites-available/example.com.confPozná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.comPozná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 combinedKdyž jste po vypsání těchto položek můžete soubor uložit a zavřít.
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.confOtevřete nový soubor s právy root v textovém editoru:
sudo nano /etc/httpd/sites-available/example2.com.confNyní 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 combinedKdyž jste Po dokončení těchto změn můžete soubor uložit a zavřít.
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.confAž budete hotovi, restartujte Apache, aby se tyto změny projevily:
sudo apachectl restartPokud 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/hostsPokud 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.comToto 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.
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.comMě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é.
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 ...