Apache HTTP

Kako konfigurirati Apache VirtualHost na Ubuntu 18.04 LTS

Kako konfigurirati Apache VirtualHost na Ubuntu 18.04 LTS
Apache VirtualHost koristi se za pokretanje više web stranica na istom Apache poslužitelju. To je sjajna značajka Apache 2 web poslužitelja za postavljanje web stranica velike gustoće na jednom poslužitelju. Apache ima dvije vrste konfiguracije VirtualHost, VirtualHost na temelju IP-a i VirtualHost na temelju imena.VirtualHost zasnovan na IP-u: U VirtualHost baziranom na IP-u, Apache poslužitelj ima više IP adresa i reagira s različitim web mjestima na temelju IP adrese.

Slika 1: VirtualHost temeljen na Apache IP-u.

VirtualHost zasnovan na imenu: U VirtualHost baziranom na imenima, Apache poslužitelj ima jednu IP adresu i više imena domena konfiguriranih za svaku web stranicu. U DNS poslužitelju, svakom od ovih imena domena dodjeljuje se IP adresa Apache poslužitelja. Ovisno o imenu domene koju je klijent koristio, poslužitelj vraća različite web stranice.

Slika 2: VirtualHost zasnovan na imenu Apache.

U ovom članku pokazat ću vam kako konfigurirati VirtualHost temeljen na imenu Apache. Koristit ću Ubuntu 18.04 LTS za demonstraciju. Ali to bi trebalo raditi na bilo kojoj modernoj Linux distribuciji s malo ili nimalo promjena. Pa, krenimo.

Instaliranje Apache 2 web poslužitelja:

Web poslužitelj Apache 2 dostupan je u službenom spremištu paketa Ubuntu 18.04 LTS. Dakle, možete ga jednostavno instalirati s upraviteljem paketa APT.

Prvo ažurirajte predmemoriju spremišta APT paketa sljedećom naredbom:

$ sudo apt ažuriranje

Sada pokrenite sljedeću naredbu za instalaciju web poslužitelja Apache 2:

$ sudo apt instalirati apache2

Sada pritisnite g a zatim pritisnite nastaviti.

Treba instalirati web poslužitelj Apache 2.

Konfiguriranje DNS-a:

Sada morate konfigurirati DNS poslužitelj da imena domena koje želite koristiti za VirtualHost preslikate na IP adresu vašeg Apache poslužitelja.

IP adresu vašeg Apache poslužitelja možete pronaći pomoću sljedeće naredbe:

$ ip a | egrep "inet"

Kao što vidite, IP adresa u mom slučaju je 192.168.21.166. Za vas će biti drugačije. Pazite da ga od sada zamijenite svojim.

Ako želite naučiti kako lokalno konfigurirati Apache VirtualHost, tada možete koristiti / etc / hosts datoteka za lokalni DNS / razrješenje imena.

Da biste konfigurirali lokalnu DNS rezoluciju, otvorite / etc / hosts datoteka s nano kako slijedi:

$ sudo nano / etc / hosts

Sada u datoteku dodajte redak kako je označen na snimci zaslona u nastavku. Zatim pritisnite + x nakon čega slijedi g i za spremanje datoteke.

Sada bi lokalno rješavanje imena trebalo raditi.

Strukture direktorija:

Želim čuvati sve podatke o web mjestu svog Apache VirtualHost-a u određenom direktoriju / www. Ovdje želim stvoriti direktorij za svakog korisnika. Svaki će korisnik imati svoje public_html / i trupci / direktorij također.

Na primjer, za 3 korisnika bob (primjer1.com), alice (primjer2.com), linda (primjer3.com), struktura direktorija je sljedeća:

/ www
- primjer1.com /
- www /
- public_html /
- indeks.html
- trupci /
- primjer2.com /
- www /
- public_html /
- indeks.html
- trupci /
- primjer3.com /
- www /
- public_html /
- indeks.html
- trupci /

Jednostavan način za to je stvoriti direktorij predloška ili kostura i tamo staviti strukturu direktorija.  Zatim izradite svakog korisnika pomoću ovog direktorija kostura.

Prvo kopirajte sadržaj zadanog direktorija kostura / etc / skel u drugi direktorij / etc / skel-www kako slijedi:

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

Sada prijeđite na novi direktorij kostura na sljedeći način:

$ cd / etc / skel-www

Zatim stvorite željenu strukturu direktorija unutar direktorija kostura kako slijedi:

$ sudo mkdir -p www / public_html, logs

Također možete stvoriti zadani indeks.html datoteku u public_html / direktorij ako želite.

$ echo "

Radi

"| sudo tee www / public_html / index.html

Sada stvorite / www direktorij sa sljedećom naredbom:

$ sudo mkdir / www

Stvaranje korisnika:

Sada možete stvoriti korisnika bob za www.primjer1.com kako slijedi:

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

Na isti način stvorite korisnika alice za www.primjer2.com kako slijedi:

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

Opet, stvorite korisničku lindu za www.primjer3.com kako slijedi:

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

Ovdje sam dodijelio primarnu grupu svakog korisnika www-podaci. Prema zadanim postavkama Apache poslužitelj radi kao ova grupa. Da to nisam učinio, Apache poslužitelj neće moći pristupiti datotekama u public_html / direktorija i stvorite datoteke dnevnika u trupci / imenik.

Konfiguriranje Apache VirtualHost:

Sada ste spremni konfigurirati Apache VirtualHost za 3 korisnika bob (www.primjer1.com), alice (www.primjer2.com) i linda (www.primjer3.com).

Zadani direktorij konfiguracije web mjesta Apache na Ubuntuu je / etc / apache2 / web-mjesta dostupna.

Sada se pomaknite do direktorija / etc / apache2 / web-mjesta dostupna / kako slijedi.

$ cd / etc / apache2 / sites-available /

Prvo stvorite novu konfiguracijsku datoteku za bob www.primjer1.com.konf kako slijedi:

$ sudo nano www.primjer1.com.konf

Treba otvoriti uređivač teksta.

Sada upišite sljedeće retke.

Ime poslužitelja primjer1.com
ServerAlias ​​www.primjer1.com
DocumentRoot "/ www / example1.com / www / public_html "

Opcije -FollowSymLinks + MultiViews + Indexes
AllowOverride all
Zahtijevaj sve odobreno
ErrorLog "/ www / example1.com / www / logs / error.zapisnik "
CustomLog "/ www / example1.com / www / logs / access.trupac "kombiniran

NAPOMENA: Promijenite podebljani tekst prema vašim zahtjevima.

Konačno, konfiguracijska datoteka www.primjer.com.konf treba izgledati kako slijedi. Pritisnite + x slijede y i za spremanje konfiguracijske datoteke.

samo kopirati konfiguracijsku datoteku za bob (www.primjer1.com.konf) i napravite ono malo promjena koje su potrebne.

Kopirajte konfiguracijsku datoteku bob za alice i linda sa sljedećim naredbama:

$ sudo cp -v www.primjer1.com.conf www.primjer2.com.konf
$ sudo cp -v www.primjer1.com.conf www.primjer3.com.konf

Sada uredite konfiguracijsku datoteku alice kako slijedi:

$ sudo nano www.primjer2.com.konf

Sada promijenite sve pojave primjer1 do primjer2. Zatim spremite datoteku.

Učinite istu stvar za linda.

$ sudo nano www.primjer3.com.konf

Promijeni sve pojave primjer1 do primjer3 i spremite datoteku.

Omogućavanje konfiguracija VirtualHost:

Sada onemogućite zadanu konfiguraciju web mjesta Apache na sljedeći način:

$ sudo a2dissite 000-zadano.konf

Sada omogućite konfiguracije VirtualHost www.primjer1.com.konf, www.primjer2.com.konf, www.primjer3.com.konf kako slijedi:

$ sudo a2ensite www.primjer1.com.conf www.primjer2.com.conf www.primjer3.com.konf

Na kraju, ponovo pokrenite uslugu Apache na sljedeći način:

$ sudo systemctl ponovno pokrenite apache2

Testiranje virtualnih hostova:

Sada pokušajte pristupiti web mjestima www.primjer1.com, www.primjer2.com, www.primjer3.com

Kao što vidite, sve ove web stranice rade kako se očekivalo.

BILJEŠKA: Promijenio sam zadanu stranicu indeks.html za svaku web stranicu tako da se malo razlikuje za svaku web stranicu u svrhu testiranja. Inače nećete moći znati funkcionira li konfiguracija VirtualHost ili ne.

Dakle, na taj način konfigurirate Apache VirtualHost temeljen na imenu na Ubuntu 18.04 LTS. Hvala što ste pročitali ovaj članak.

Kako prikazati brojač FPS-a u Linux igrama
Linux gaming dobio je velik poticaj kada je Valve najavio Linux podršku za Steam klijent i njihove igre 2012. godine. Od tada su mnoge AAA i indie igr...
Kako preuzeti i igrati Sid Meier's Civilization VI na Linuxu
Uvod u igru Civilization 6 moderan je pogled na klasični koncept predstavljen u seriji igara Age of Empires. Ideja je bila prilično jednostavna; započ...
Kako instalirati i igrati Doom na Linuxu
Uvod u Doom Serija Doom nastala je 90-ih nakon izlaska originalnog Dooma. To je bio trenutni hit i od tog vremena nadalje igraća serija dobila je broj...