Apache HTTP

Kako konfigurirati Apache VirtualHost v Ubuntu 18.04 LTS

Kako konfigurirati Apache VirtualHost v Ubuntu 18.04 LTS
Apache VirtualHost se uporablja za zagon več spletnih mest v istem strežniku Apache. To je izjemna lastnost spletnega strežnika Apache 2 za visoko gostotno uvajanje spletnih mest v enem strežniku. Apache ima dve vrsti konfiguracije VirtualHost, VirtualHost, ki temelji na IP-ju, in VirtualHost, ki temelji na imenih.VirtualHost na osnovi IP: V IP VirtualHost ima strežnik Apache več naslovov IP in se odziva z različnimi spletnimi mesti na podlagi naslova IP.

Slika 1: VirtualHost na osnovi IP Apache.

VirtualHost na podlagi imen: V VirtualHost, ki temelji na imenih, ima strežnik Apache en naslov IP in več imen domen, konfiguriranih za vsako spletno mesto. V strežniku DNS je vsakemu od teh domenskih imen dodeljen naslov IP strežnika Apache. Strežnik vrne različna spletna mesta, odvisno od imena domene, ki jo je uporabil odjemalec.

Slika 2: VirtualHost, ki temelji na imenu Apache.

V tem članku vam bom pokazal, kako konfigurirati VirtualHost na osnovi imena Apache. Uporabljal bom Ubuntu 18.04 LTS za predstavitev. Vendar bi moralo delovati na kateri koli sodobni distribuciji Linuxa z malo spremembami. Torej, začnimo.

Namestitev spletnega strežnika Apache 2:

Spletni strežnik Apache 2 je na voljo v uradnem repozitoriju paketov Ubuntu 18.04 LTS. Torej ga lahko enostavno namestite z upraviteljem paketov APT.

Najprej posodobite predpomnilnik repozitorija paketov APT z naslednjim ukazom:

$ sudo apt posodobitev

Zdaj zaženite naslednji ukaz za namestitev spletnega strežnika Apache 2:

$ sudo apt namestite apache2

Zdaj pritisnite y in nato pritisnite nadaljevati.

Namestiti je treba spletni strežnik Apache 2.

Konfiguriranje DNS:

Zdaj morate strežnik DNS konfigurirati tako, da domenska imena, ki jih želite uporabiti za VirtualHost, preslikate na naslov IP vašega strežnika Apache.

Naslov IP strežnika Apache najdete z naslednjim ukazom:

$ ip a | egrep "inet"

Kot lahko vidite, je naslov IP v mojem primeru 192.168.21.166. Za vas bo drugače. Zato ga odslej zamenjajte s svojim.

Če se želite naučiti, kako lokalno konfigurirati Apache VirtualHost, lahko uporabite / etc / hosts datoteka za lokalni DNS / ločljivost imen.

Če želite konfigurirati lokalno ločljivost DNS, odprite / etc / hosts datoteka z nano kot sledi:

$ sudo nano / etc / hosts

Zdaj v datoteko dodajte vrstico, kot je označena na spodnjem posnetku zaslona. Nato pritisnite + x čemur sledi y in shranite datoteko.

Zdaj bi lokalna ločljivost imen morala delovati.

Strukture imenikov:

Vse podatke spletnega mesta svojega Apache VirtualHost želim hraniti v določenem imeniku / www. Tukaj želim ustvariti imenik za vsakega uporabnika. Vsak uporabnik bo imel svojega public_html / in dnevniki / imenik.

Na primer za 3 uporabnike bob (primer1.com), alice (primer2.com), linda (primer3.com), struktura imenika je naslednja:

/ www
- primer1.com /
- www /
- public_html /
- indeks.html
- dnevniki /
- primer2.com /
- www /
- public_html /
- indeks.html
- dnevniki /
- primer3.com /
- www /
- public_html /
- indeks.html
- dnevniki /

Enostaven način za to je ustvariti predlogo ali skeletni imenik in tam postaviti strukturo imenikov.  Nato ustvarite vsakega uporabnika s pomočjo tega okostnega imenika.

Najprej kopirajte vsebino privzetega okostnega imenika / etc / skel v drug imenik / etc / skel-www kot sledi:

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

Zdaj se pomaknite do novega okostnega imenika, kot sledi:

$ cd / etc / skel-www

Nato ustvarite želeno strukturo imenika znotraj okostne mape, kot sledi:

$ sudo mkdir -p www / public_html, logs

Ustvarite lahko tudi privzeto indeks.html v datoteki public_html / imenik, če želite.

$ echo "

Deluje

"| sudo tee www / public_html / index.html

Zdaj ustvarite / www imenik z naslednjim ukazom:

$ sudo mkdir / www

Ustvarjanje uporabnikov:

Zdaj lahko ustvarite uporabnika bob za www.primer1.com, kot sledi:

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

Na enak način ustvarite uporabnika alice za www.primer2.com, kot sledi:

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

Spet ustvarite uporabniško povezavo za www.primer3.com, kot sledi:

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

Tu sem dodelil primarno skupino vsakega uporabnika www-podatki. Privzeto strežnik Apache deluje kot ta skupina. Če tega ne bi storil, strežnik Apache ne bo mogel dostopati do datotek v public_html / in ustvarite dnevniške datoteke v dnevniki / imenik.

Konfiguriranje Apache VirtualHost:

Zdaj ste pripravljeni za konfiguriranje Apache VirtualHost za 3 uporabnike bob (www.primer1.com), alice (www.primer2.com) in linda (www.primer3.com).

Privzeti imenik za konfiguracijo strani Apache v Ubuntuju je / etc / apache2 / sites-available.

Zdaj se pomaknite do imenika / etc / apache2 / sites-available / kot sledi.

$ cd / etc / apache2 / sites-available /

Najprej ustvarite novo konfiguracijsko datoteko za bob www.primer1.com.conf kot sledi:

$ sudo nano www.primer1.com.conf

Odpreti je treba urejevalnik besedil.

Zdaj vnesite naslednje vrstice.

Ime strežnika primer1.com
ServerAlias ​​www.primer1.com
DocumentRoot "/ www / example1.com / www / public_html "

Možnosti -FollowSymLinks + MultiViews + Indexes
AllowOverride all
Zahtevaj vse odobreno
ErrorLog "/ www / example1.com / www / logs / error.dnevnik "
CustomLog "/ www / example1.com / www / logs / access.dnevnik "kombinirano

OPOMBA: Spremenite krepko besedilo glede na vaše zahteve.

Na koncu še konfiguracijska datoteka www.primer.com.conf izgleda takole. Pritisnite + x čemur sledita y in da shranite konfiguracijsko datoteko.

samo kopirati konfiguracijsko datoteko za bob (www.primer1.com.conf) in naredite nekaj majhnih sprememb.

Kopirajte konfiguracijsko datoteko bob za alice in linda z naslednjimi ukazi:

$ sudo cp -v www.primer1.com.conf www.primer2.com.conf
$ sudo cp -v www.primer1.com.conf www.primer3.com.conf

Zdaj uredite konfiguracijsko datoteko alice kot sledi:

$ sudo nano www.primer2.com.conf

Zdaj spremenite vse pojavitve primer1 do primer2. Nato shranite datoteko.

Naredi isto za linda.

$ sudo nano www.primer3.com.conf

Spremeni vse pojavitve primer1 do primer3 in shranite datoteko.

Omogočanje konfiguracij VirtualHost:

Zdaj onemogočite privzeto konfiguracijo spletnega mesta Apache, kot sledi:

$ sudo a2dissite 000-privzeto.conf

Zdaj omogočite konfiguracije VirtualHost www.primer1.com.conf, www.primer2.com.conf, www.primer3.com.conf kot sledi:

$ sudo a2ensite www.primer1.com.conf www.primer2.com.conf www.primer3.com.conf

Na koncu ponovno zaženite storitev Apache, kot sledi:

$ sudo systemctl znova zaženite apache2

Testiranje VirtualHosts:

Zdaj poskusite dostopati do spletnih strani www.primer1.com, www.primer2.com, www.primer3.com

Kot lahko vidite, vsa ta spletna mesta delujejo po pričakovanjih.

OPOMBA: Spremenil sem privzeto stran indeks.html za vsako spletno stran, tako da se za namene testiranja nekoliko razlikuje. V nasprotnem primeru ne boste mogli ugotoviti, ali konfiguracija VirtualHost deluje ali ne.

Torej, tako konfigurirate Apache VirtualHost na osnovi imen v Ubuntu 18.04 LTS. Hvala, ker ste prebrali ta članek.

Vadnica za bitko za Wesnoth
Bitka za Wesnoth je ena izmed najbolj priljubljenih odprtokodnih strateških iger, ki jih lahko trenutno igrate. Ne samo, da se ta igra razvija že zelo...
0 A.D. Vadnica
Od številnih strateških iger tam 0 A.D. uspe izstopati kot izčrpen naslov in zelo globoka, taktična igra, čeprav je odprtokodna. Razvoj igre deluje ze...
Vadnica za Unity3D
Uvod v Unity 3D Unity 3D je močan motor za razvoj iger. Navzkrižna platforma vam omogoča ustvarjanje iger za mobilne naprave, splet, namizje in konzol...