Späť na blog

Nastavenie virtuálnych hostiteľov Apache na Ubuntu 20.04

Nastavenie virtuálnych hostiteľov Apache na Ubuntu 20.04

Apache je v súčasnosti najpoužívanejším webovým serverom na svete. Je to open-source softvér, ktorý spravuje The Apache Software Foundation. Odhaduje sa, že k septembru 2020 obsluhuje 36 % všetkej návštevnosti webových stránok na svete. Vývojári ho milujú pre jeho rýchlosť, bezpečnosť, spoľahlivosť a robustnosť. Jednoduché prispôsobenie mu umožňuje splniť potreby mnohých prostredí inštaláciou rozšírení a modulov.

Apache prichádza so systémom priraďovania, ktorý môžete použiť na hosťovanie viacerých domén alebo stránok pomocou jedinej inštalácie servera Apache na jednej IP adrese. Domény alebo stránky sa nastavujú v jednom z konfiguračných súborov Apache definovaných ako virtuálni hostitelia.

Každá doména má jednu definíciu virtuálneho hostiteľa so špecifickým adresárom, na ktorý smeruje. Keď používateľ navštívi doménu, server preskúma každého vyhovujúceho virtuálneho hostiteľa a vyberie, ktorý z nich použije na vybavenie požiadavky návštevníka v závislosti od zadaného názvu hostiteľa. Ak sa nenájde žiadny zhodný názov hostiteľa, server použije ako zálohu prvého definovaného virtuálneho hostiteľa v súbore conf. Návštevník sa dostane na požadovanú webovú stránku bez toho, aby vedel, že ten istý server obsluhuje aj iné stránky. V závislosti od prostriedkov, ktoré máte na serveri, a od toho, akú návštevnosť dokáže zvládnuť, môžete hosťovať toľko domén, koľko chcete.

V tomto návode vás prevedieme nastavením virtuálnych hostiteľov na Ubuntu 20.04 serveri.

Najskôr to najdôležitejšie

Aby ste mohli postupovať podľa tohto návodu, mali by ste mať nainštalovaný Ubuntu 20.04. Tiež si musíte vytvoriť používateľa bez oprávnení root a prihlásiť sa pod ním.

Kroky v tomto návode tiež vyžadujú, aby ste mali nainštalovaný Apache. Ak ste tak ešte neurobili, môžete ho nainštalovať pomocou príkazov nižšie. Môžete postupovať podľa nášho návodu na LAMP Stack setup – Linux Apache MySQL PHP tutorial pre podrobnejšieho sprievodcu nastavením.

Mali by ste mať zaregistrované bezplatné alebo platené doménové mená od registrátora domén podľa vášho výberu. Uistite sa, že domény smerujú na váš server prostredníctvom konfigurácie DNS záznamov. Na prechádzanie krokov v tomto návode však stále môžete použiť naše konfigurácie. V tomto návode budeme používať domény example.dev a mydomain.com. Môžete ich nahradiť vlastnými. Ak sa rozhodnete použiť testovacie domény, musíte upraviť súbory hosts v systéme Apache, aby spracovávali tieto domény. Ako to urobiť, si ukážeme neskôr v tomto návode.

Krok 1 – Nastavenie adresárov webových stránok

Ide o adresáre obsahujúce údaje stránky, ku ktorým budú pristupovať návštevníci vášho webu. Koreňový adresár dokumentov Apache, ktorý je prístupný z internetu, sa zvyčajne nachádza v /var/www. Tu vytvoríme adresáre pre jednotlivé domény, ktoré chceme hosťovať. Do každého z adresárov pridáme adresár public_html, ktorý bude obsahovať samotné súbory webu. Virtuálny hostiteľ smeruje do adresára public_html. To vám poskytuje flexibilitu, pretože dôležité súbory webu môžete ponechať mimo public_html a dovnútra umiestniť iba verejné súbory.

Ďalej zadajte príkazy nižšie na vytvorenie adresárov. Pri ďalších nastaveniach nezabudnite vždy nahradiť testovacie domény vašimi skutočnými doménami:

Krok 2 – Zmena oprávnení na čítanie a zápis

Predchádzajúce príkazy vytvorili štruktúru adresárov, ale vlastníctvo ponechali používateľovi root. Chceme, aby náš používateľ bez oprávnení root mal plné práva na čítanie a zápis do týchto adresárov. Taktiež chceme, aby mal k nim prístup na čítanie aj bežný web.

Najprv zmeňte vlastníctvo na používateľa bez oprávnení root zadaním nasledujúceho príkazu:

$USER je premenná, ktorá preberá prihlasovacie údaje aktuálne prihláseného používateľa. Bežný používateľ má teraz vlastníctvo k public_html. Ďalej musíte udeliť oprávnenia na čítanie pre verejný web. Nasledujúci príkaz povoľuje prístup ku všetkým súborom v adresári, čím zabezpečuje správne zobrazovanie webových stránok:

Po spustení predchádzajúcich troch príkazov môže vaša webová stránka teraz poskytovať obsah. Okrem toho môže váš používateľ rovnako vytvárať obsah, ktorý sa bude poskytovať v konkrétnych adresároch. Tu nájdete viac informácií o oprávneniach v Ubuntu.

Krok 3 – Vytvorenie demo stránok v adresároch pre každý virtuálny hostiteľ

Keď už máme štruktúru adresárov pripravenú, je čas na skriptovanie. Budeme používať HTML a textový editor nano na vytvorenie základných webových stránok. Zadajte nasledujúci príkaz na otvorenie editora nano a vytvorenie súboru index.html v adresári pre prvú doménu:

Do editora vložte nasledujúci ukážkový kód, ktorý sa zobrazí pri prístupe na doménu:

Po vložení vyššie uvedených riadkov stlačte “!wq” na uloženie a ukončenie súboru.

Vytvorte stránku index.html pre druhú doménu pomocou editora nano zadaním nasledujúceho príkazu:

Potom do editora vložte nasledujúci kód HTML, uložte ho a ukončite:

 

Teraz máte stránky na otestovanie dvoch virtuálnych hostiteľov, ktorých vytvoríme v nasledujúcom kroku.

Krok 4 – Vytvorenie súborov virtuálnych hostiteľov pre názvy domén

Súbory virtuálnych hostiteľov obsahujú konfigurácie pre každého virtuálneho hostiteľa. Definujú, ako sa bude názov domény obsluhovať. Nová inštalácia Apache prichádza s predvoleným súborom virtuálneho hostiteľa s názvom 000-default.conf, ktorý môžeme použiť a prispôsobiť pre naše domény. Ako vidíte, končí príponou .conf, čo je to, čo Ubuntu očakáva pre konfiguračné súbory.

Konfiguračné súbory Apache sa nachádzajú v adresári /etc/apache2/sites-available. Tam budeme ukladať naše súbory virtuálnych hostiteľov. Môžeme skopírovať predvolený súbor conf a upraviť ho tam, kde je to potrebné.

  • Vytvorte prvý súbor virtuálneho hostiteľa pre doménu example.dev

Zadaním nasledujúceho príkazu vytvorte súbor example.dev.conf skopírovaním predvoleného súboru conf:

Potom otvorte vytvorený súbor pomocou editora nano s oprávneniami sudo pomocou nasledujúceho príkazu:

Predvolený konfiguračný súbor vyzerá ako na snímke obrazovky nižšie. Komentáre slúžia ako návod. Môžeme ich odstrániť a ponechať len čistý súbor so samotnými konfiguračnými riadkami:

default configuration

Tento súbor musíte prispôsobiť pre svoj názov domény a cestu k adresáru, kde máte uložené súbory webovej lokality. Okrem toho do súboru aktualizujeme a pridáme niekoľko direktív. Už obsahuje direktívu ServerAdmin, ktorá obsahuje e-mailovú adresu, na ktorú bude správca servera dostávať e-maily. Obsahuje tiež direktívu DocumentRoot, ktorá ukazuje na adresár, kde máte uložené súbory webovej lokality.

Musíme pridať dve nové direktívy: ServerName a ServerAlias. ServerName nastavuje základný názov domény. Sem zadáte svoju doménu. ServerAlias definuje ďalšie názvy, ktoré by mal Apache priraďovať, akoby išlo o základný názov domény. Umožňuje vám to priraďovať hostiteľov ako www.

Aktualizujte súbor tak, aby vyzeral ako na obrázku nižšie:

Potom príslušným spôsobom aktualizujte svoje domény a e-mail. Po dokončení stlačte CTRL + O a ENTER na uloženie súboru. Pre ukončenie editora stlačte CTRL + X.

  • Vytvorte prvý súbor virtuálneho hostiteľa pre doménu mydomain.com

Môžeme jednoducho skopírovať virtuálneho hostiteľa pre prvú doménu a v prípade potreby ho aktualizovať pre druhú doménu. Na skopírovanie súboru použite nasledujúci príkaz:

Potom ho otvorte v editore nano pomocou príkazu:

Nájdite direktívy a príslušným spôsobom ich aktualizujte, aby súbor vyzeral tak, ako je znázornené nižšie:

Po dokončení súbor uložte a ukončite editor.

Krok 5 – Povolenie súborov virtuálnych hostiteľov

V štvrtom kroku sme vytvorili súbory virtuálnych hostiteľov. Nie sú však funkčné, kým ich nepovolíte. Apache má nástroj s názvom a2ensite ktorý použijeme na povolenie virtuálnych hostiteľov.

Zadajte nasledujúce dva príkazy na povolenie virtuálnych hostiteľov:

Výstup vyššie uvedených príkazov je znázornený nižšie:

Apache еnable configuration

Ďalej by ste mali zakázať predvolený konfiguračný súbor, na zakázanie stránok používame nástroj Apache a2dissite. Zadajte nasledujúci príkaz:

Ako je vidieť z výstupu, musíte reštartovať Apache, aby sa konfigurácie prejavili. Použite nasledujúci príkaz:

Potom skontrolujte stav Apache pomocou nasledujúceho príkazu:

Výstup ukazuje, že váš server beží a je schopný obsluhovať tieto dve webové stránky.

Apache 2 status

Krok 6 – Úprava lokálneho súboru hosts s ukážkovými doménami

Ak ste si nezaregistrovali skutočnú doménu, ale namiesto toho používate testovacie domény, budete musieť aktualizovať svoje lokálne súbory hosts. Musia zachytávať prevádzku a smerovať ju do adresára vašej webovej stránky, keď prejdete na ktorúkoľvek z domén nastavených v súboroch virtuálnych hostiteľov. Pamätajte, že to bude fungovať iba na vašom lokálnom počítači. Ak na vašom lokálnom počítači beží operačný systém Windows, potom postupujte podľa pokynov na nastavenie súboru hosts na tomto odkaze.

Ak používate systém Mac alebo Linux, súbor hosts sa nachádza v adresári /etc. Na otvorenie a pridanie našich testovacích domén použijeme editor nano. Najprv zistite IP adresu svojho VPS zadaním nasledujúceho príkazu:

Zadaním nasledujúceho príkazu otvorte súbor a aktualizujte ho o IP adresu vášho servera:

Potom súbor uložte a zatvorte. Vždy, keď do prehliadača zadáte názov domény, najprv sa skontroluje súbor hosts. Ak sa názov domény nájde, prevádzka sa nasmeruje na zadanú IP adresu. Ak sa nenájde, na globálne presmerovanie sa použije systém DNS. V prípade našich testovacích domén bude prevádzka smerovaná na zadanú IP adresu.

Krok 7 – Otestovanie virtuálnych hostiteľov

Po nastavení názvov domén môžete otestovať, či fungujú, ich kontrolou v prehliadači/termináli:

Výstup by mal vyzerať približne takto:
curl example.dev

Apache curl mydomain.com

Gratulujeme! Úspešne ste nakonfigurovali dve webové stránky na spustenie na jednom serveri.

Záver

V tejto príručke ste sa naučili, ako nakonfigurovať server Apache na obsluhu viac ako jednej webovej stránky. Ak by ste chceli pridať ďalšie webové stránky, môžete tak urobiť podľa uvedených krokov a nastavením virtuálnych hostiteľov. Apache dokáže spracovať toľko domén, koľko si prajete, pokiaľ to zdroje vášho servera zvládnu.

Príjemnú prácu!

author

Akshay Nagpal

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.