Apache HTTP

Ako nakonfigurovať Apache VirtualHost na Ubuntu 18.04 LTS

Ako nakonfigurovať Apache VirtualHost na Ubuntu 18.04 LTS
Apache VirtualHost sa používa na spustenie viacerých webových stránok na rovnakom serveri Apache. Je to úžasná vlastnosť webového servera Apache 2 pre nasadenie webových stránok s vysokou hustotou na jednom serveri. Apache má dva typy konfigurácie VirtualHost, VirtualHost založený na IP a VirtualHost založený na názvoch.Virtuálny dom založený na IP: V serveri VirtualHost založenom na IP má server Apache viac adries IP a na základe adresy IP reaguje rôznymi webmi.

Obrázok 1: VirtualHost založený na protokole Apache IP.

Názov založený na VirtualHost: V názve VirtualHost má server Apache pre každú webovú stránku nakonfigurovanú jednu adresu IP a viac doménových mien. Na serveri DNS je každému z týchto názvov domén priradená adresa IP servera Apache. V závislosti od toho, aký názov domény klient použil, server vracia rôzne webové stránky.

Obrázok 2: VirtualHost založený na názve Apache.

V tomto článku vám ukážem, ako nakonfigurovať VirtualHost na základe názvu Apache. Budem používať Ubuntu 18.04 LTS na demonštráciu. Malo by to však fungovať na akejkoľvek modernej distribúcii Linuxu s malými alebo žiadnymi zmenami. Takže poďme na to.

Inštalácia webového servera Apache 2:

Webový server Apache 2 je k dispozícii v oficiálnom úložisku balíkov systému Ubuntu 18.04 LTS. Môžete ho teda ľahko nainštalovať pomocou správcu balíkov APT.

Najskôr aktualizujte medzipamäť úložiska balíkov APT pomocou nasledujúceho príkazu:

$ sudo apt aktualizácia

Teraz spustite nasledujúci príkaz na inštaláciu webového servera Apache 2:

$ sudo apt nainštalovať apache2

Teraz stlačte r a potom stlačte pokračovať.

Mal by byť nainštalovaný webový server Apache 2.

Konfigurácia DNS:

Teraz musíte nakonfigurovať server DNS tak, aby mapoval názvy domén, ktoré chcete používať pre VirtualHost, na adresu IP vášho servera Apache.

IP adresu vášho servera Apache nájdete pomocou nasledujúceho príkazu:

$ ip a | egrep "inet"

Ako vidíte, adresa IP v mojom prípade je 192.168.21.166. U teba to bude iné. Odteraz ho teda vymeňte za svoj.

Ak sa chcete dozvedieť, ako konfigurovať Apache VirtualHost lokálne, môžete použiť / etc / hostitelia súbor na lokálne rozlíšenie DNS / mien.

Ak chcete nakonfigurovať miestne rozlíšenie DNS, otvorte / etc / hostitelia súbor s nano nasledovne:

$ sudo nano / etc / hosts

Teraz pridajte do súboru riadok označený na snímke obrazovky nižšie. Potom stlačte + X nasledovaný r a súbor uložiť.

Teraz by malo fungovať riešenie miestneho názvu.

Štruktúry adresárov:

Chcem uchovať všetky údaje o webových stránkach môjho servera Apache VirtualHost v konkrétnom adresári / www. Tu chcem vytvoriť adresár pre každého používateľa. Každý používateľ bude mať svoje vlastné public_html / a guľatina / adresár tiež.

Napríklad pre 3 používateľov bob (príklad1.com), alice (priklad2.com), linda (príklad3.com), adresárová štruktúra je nasledovná:

/ www
- príklad1.com /
- www /
- public_html /
- index.html
- guľatina /
- príklad2.com /
- www /
- public_html /
- index.html
- guľatina /
- príklad3.com /
- www /
- public_html /
- index.html
- guľatina /

Jednoduchý spôsob, ako to urobiť, je vytvoriť adresár so šablónami alebo skeletmi a umiestniť tam adresárovú štruktúru.  Potom vytvorte všetkých používateľov pomocou tohto skeletového adresára.

Najskôr skopírujte obsah predvoleného adresára kostry / etc / skel do iného adresára / etc / skel-www nasledovne:

$ sudo cp -rv / etc / skel / etc / skel-www

Teraz prejdite do nového adresára kostry nasledovne:

$ cd / etc / skel-www

Potom vytvorte požadovanú štruktúru adresárov vo vnútri kostry takto:

$ sudo mkdir -p www / public_html, logs

Môžete tiež vytvoriť predvolené nastavenie index.html súbor v public_html / adresár, ak chcete.

$ echo "

Funguje to

"| sudo tee www / public_html / index.html

Teraz vytvorte / www adresár s nasledujúcim príkazom:

$ sudo mkdir / www

Vytváranie používateľov:

Teraz môžete vytvoriť používateľa bob pre www.príklad1.com takto:

$ sudo useradd --create-home --home-dir / www / example1.škrupina
/ bin / bash --gid www-data --skel / etc / skel-www bob

Rovnakým spôsobom vytvorte používateľa alice pre www.príklad2.com takto:

$ sudo useradd --create-home --home-dir / www / example2.com - shell / bin / bash
--gid www-data --skel / etc / skel-www alice

Opäť vytvorte používateľa linda pre www.príklad3.com takto:

$ sudo useradd --create-home --home-dir / www / example3.com - shell / bin / bash
--gid www-data --skel / etc / skel-www linda

Tu som priradil primárnu skupinu každého používateľa www-data. Server Apache je štandardne spustený ako táto skupina. Ak by som to neurobil, server Apache nebude mať prístup k súborom v priečinku public_html / adresár a vytvárať súbory protokolu v priečinku guľatina / adresár.

Konfigurácia servera Apache VirtualHost:

Teraz ste pripravení nakonfigurovať Apache VirtualHost pre 3 používateľov bob (www.príklad1.com), alice (www.príklad2.com) a linda (www.príklad3.com).

Predvolený konfiguračný adresár stránok Apache na Ubuntu je / etc / apache2 / sites-available.

Teraz prejdite do adresára / etc / apache2 / sites-available / nasledovne.

$ cd / etc / apache2 / sites-available /

Najskôr vytvorte nový konfiguračný súbor pre bob www.príklad1.com.konf nasledovne:

$ sudo nano www.príklad1.com.konf

Mal by sa otvoriť textový editor.

Teraz zadajte nasledujúce riadky.

Príklad názvu servera.com
ServerAlias ​​www.príklad1.com
DocumentRoot "/ www / example1.com / www / public_html "

Možnosti -FollowSymLinks + MultiViews + indexy
AllowOverride všetko
Vyžadovať všetky udelené
ErrorLog "/ www / example1.com / www / logs / chyba.prihlásiť sa "
CustomLog "/ www / example1.com / www / logs / access.log “kombinovane

POZNÁMKA: Tučný text zmeňte podľa svojich požiadaviek.

Nakoniec konfiguračný súbor www.príklad.com.konf by mal vyzerať nasledovne. Stlačte + X za ktorými nasledujú y a uložte konfiguračný súbor.

len skopírovať konfiguračný súbor pre bob (www.príklad1.com.konf) a urobte tak málo potrebných zmien.

Skopírujte konfiguračný súbor z bob pre alice a linda pomocou nasledujúcich príkazov:

$ sudo cp -v www.príklad1.com.konf www.príklad2.com.konf
$ sudo cp -v www.príklad1.com.konf www.príklad3.com.konf

Teraz upravte konfiguračný súbor aplikácie alice nasledovne:

$ sudo nano www.príklad2.com.konf

Teraz zmeňte všetky výskyty súboru príklad1 do príklad2. Potom súbor uložte.

Robte to isté pre linda.

$ sudo nano www.príklad3.com.konf

Zmeniť všetky výskyty súboru príklad1 do príklad3 a uložte súbor.

Povolenie konfigurácií VirtualHost:

Teraz deaktivujte predvolenú konfiguráciu webových stránok Apache nasledovne:

$ sudo a2dissite 000-predvolené.konf

Teraz povoľte konfigurácie VirtualHost www.príklad1.com.konf, www.príklad2.com.konf, www.príklad3.com.konf nasledovne:

$ sudo a2ensite www.príklad1.com.konf www.príklad2.com.konf www.príklad3.com.konf

Nakoniec reštartujte službu Apache nasledovne:

$ sudo systemctl reštart apache2

Testovanie VirtualHosts:

Teraz skúste navštíviť webové stránky www.príklad1.com, www.príklad2.com, www.príklad3.com

Ako vidíte, všetky tieto webové stránky fungujú podľa očakávaní.

POZNÁMKA: Zmenil som predvolenú stránku index.html pre každú webovú stránku, takže pre každú webovú stránku sa to trochu líši kvôli účelu testovania. V opačnom prípade nebudete vedieť, či konfigurácia VirtualHost funguje alebo nie.

Takto teda nakonfigurujete Apache VirtualHost na Ubuntu 18 na základe názvu.04 LTS. Ďakujeme, že ste si prečítali tento článok.

Hry Open source porty komerčných herných strojov
Open source porty komerčných herných strojov
Na hranie starých i niektorých z nedávnych herných titulov je možné využiť bezplatné hry s otvoreným zdrojom a multiplatformové herné enginy. V tomto ...
Hry Najlepšie hry z príkazového riadku pre systém Linux
Najlepšie hry z príkazového riadku pre systém Linux
Príkazový riadok nie je pri použití systému Linux iba vaším najväčším spojencom - môže byť tiež zdrojom zábavy, pretože ho môžete použiť na hranie mno...
Hry Najlepšie aplikácie na mapovanie gamepadu pre Linux
Najlepšie aplikácie na mapovanie gamepadu pre Linux
Ak radi hráte hry v systéme Linux s gamepadom namiesto typického systému vstupu pre klávesnicu a myš, máte tu niekoľko užitočných aplikácií. Mnoho hie...