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.
|
1 2 |
sudo apt update sudo apt install apache2 |
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:
|
1 2 |
sudo mkdir -p /var/www/example.dev/public_html sudo mkdir -p /var/www/mydomain.com/public_html |
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:
|
1 2 |
sudo chown -R $USER:$USER /var/www/example.dev/public_html sudo chown -R $USER:$USER /var/www/mydomain.com/public_html |
$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:
|
1 |
sudo chmod -R 755 /var/www |
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:
|
1 |
vim /var/www/example.dev/public_html/index.html |
Do editora vložte nasledujúci ukážkový kód, ktorý sa zobrazí pri prístupe na doménu:
|
1 2 3 4 5 6 7 8 |
<html> <head> <title>Vitajte na Example.dev!</title> </head> <body> <h1>Úspech! The example.dev virtuálny hostiteľ je funkčný!</h1> </body> </html> |
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:
|
1 |
vim /var/www/mydomain.com/public_html/index.html |
Potom do editora vložte nasledujúci kód HTML, uložte ho a ukončite:
|
1 2 3 4 5 6 7 8 |
<html> <head> <title>Vitajte na Mydomain.com!</title> </head> <body> <h1>Úspech! The mydomain.com virtuálny hostiteľ je funkčný!</h1> </body> </html> |
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:
|
1 |
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.dev.conf |
Potom otvorte vytvorený súbor pomocou editora nano s oprávneniami sudo pomocou nasledujúceho príkazu:
|
1 |
sudo nano /etc/apache2/sites-available/example.dev.conf |
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:

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:
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin admin@example.dev ServerName example.dev ServerAlias www.example.dev DocumentRoot /var/www/example.dev/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
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:
|
1 |
sudo cp /etc/apache2/sites-available/example.dev.conf /etc/apache2/sites-available/mydomain.com.conf |
Potom ho otvorte v editore nano pomocou príkazu:
|
1 |
sudo nano /etc/apache2/sites-available/mydomain.com.conf |
Nájdite direktívy a príslušným spôsobom ich aktualizujte, aby súbor vyzeral tak, ako je znázornené nižšie:
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin admin@mydomain.com ServerName mydomain.com ServerAlias www.mydomain.com DocumentRoot /var/www/mydomain.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
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:
|
1 2 |
sudo a2ensite example.dev.conf sudo a2ensite mydomain.com.conf |
Výstup vyššie uvedených príkazov je znázornený nižšie:

Ď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:
|
1 |
sudo a2dissite 000-default.conf |
Ako je vidieť z výstupu, musíte reštartovať Apache, aby sa konfigurácie prejavili. Použite nasledujúci príkaz:
|
1 |
sudo systemctl restart apache2 |
Potom skontrolujte stav Apache pomocou nasledujúceho príkazu:
|
1 |
sudo systemctl status apache2 |
Výstup ukazuje, že váš server beží a je schopný obsluhovať tieto dve webové stránky.

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:
|
1 |
curl -4 icanhazip.com |
Zadaním nasledujúceho príkazu otvorte súbor a aktualizujte ho o IP adresu vášho servera:
|
1 |
sudo nano /etc/hosts |
|
1 2 3 4 |
127.0.0.1 localhost 127.0.1.1 ComputerName your_server_IP example.dev your_server_IP mydomain.com |
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:
|
1 |
curl http://example.dev |
Výstup by mal vyzerať približne takto:

|
1 |
http://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!
Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.