1 pav. „Apache“ IP pagrįstas „VirtualHost“.
Pavadinimu pagrįstas „VirtualHost“: Vardais pagrįstame „VirtualHost“ „Apache“ serveryje yra vienas IP adresas ir keli domenų vardai, sukonfigūruoti kiekvienai svetainei. DNS serveryje kiekvienam iš šių domenų vardų priskiriamas „Apache“ serverio IP adresas. Priklausomai nuo to, kokį domeno vardą klientas naudojo, serveris grąžina skirtingas svetaines.
2 pav. „Apache“ vardas pagrįstas „VirtualHost“.
Šiame straipsnyje aš jums parodysiu, kaip sukonfigūruoti „Apache“ vardą, pagrįstą „VirtualHost“. Aš naudosiu „Ubuntu 18“.04 LTS demonstracijai. Bet tai turėtų veikti bet kuriame šiuolaikiniame „Linux“ platinime, be jokių pakeitimų. Taigi, pradėkime.
„Apache 2“ tinklo serverio diegimas:
„Apache 2“ žiniatinklio serveris pasiekiamas oficialioje „Ubuntu 18“ paketų saugykloje.04 LTS. Taigi, jūs galite lengvai jį įdiegti naudodami APT paketų tvarkyklę.
Pirmiausia atnaujinkite APT paketų saugyklos talpyklą naudodami šią komandą:
$ sudo apt atnaujinimas
Dabar paleiskite šią komandą, kad įdiegtumėte „Apache 2“ žiniatinklio serverį:
$ sudo apt install apache2
Dabar paspauskite y tada paspauskite
Turėtų būti įdiegtas „Apache 2“ žiniatinklio serveris.
DNS konfigūravimas:
Dabar turite sukonfigūruoti DNS serverį, kad domenų vardai, kuriuos norite naudoti „VirtualHost“, būtų susieti su „Apache“ serverio IP adresu.
„Apache“ serverio IP adresą galite rasti naudodami šią komandą:
$ ip a | egrep "inet"Kaip matote, mano atveju IP adresas yra 192.168.21.166. Jums bus kitaip. Taigi, nuo šiol būtinai pakeiskite jį savo.
Jei norite sužinoti, kaip konfigūruoti „Apache VirtualHost“ vietoje, galite naudoti / etc / hosts failas vietiniam DNS / vardo sprendimui.
Norėdami sukonfigūruoti vietinę DNS skiriamąją gebą, atidarykite / etc / hosts failą su nano taip:
$ sudo nano / etc / hosts
Dabar pridėkite eilutę, kaip pažymėta žemiau esančiame ekrano kopijoje, prie failo. Tada paspauskite
Dabar vietinių pavadinimų sprendimas turėtų veikti.
Katalogų struktūros:
Noriu visus „Apache VirtualHost“ svetainės duomenis laikyti konkrečiame kataloge / www. Čia noriu sukurti katalogą kiekvienam vartotojui. Kiekvienas vartotojas turės savo public_html / ir žurnalai / kataloge.
Pavyzdžiui, 3 vartotojams bobas (pavyzdys1.com), alisa (pavyzdys2.com), linda (3 pavyzdys.com), katalogų struktūra yra tokia:
/ www- 1 pavyzdys.com /
- www /
- public_html /
- indeksas.HTML
- žurnalai /
- 2 pavyzdys.com /
- www /
- public_html /
- indeksas.HTML
- žurnalai /
- 3 pavyzdys.com /
- www /
- public_html /
- indeksas.HTML
- žurnalai /
Paprastas būdas tai padaryti yra sukurti šabloną ar griaučių katalogą ir įdėti katalogo struktūrą. Tada sukurkite kiekvieną vartotoją naudodami šį karkaso katalogą.
Pirmiausia nukopijuokite numatytojo skeleto katalogo turinį / etc / skel į kitą katalogą / etc / skel-www taip:
$ sudo cp -rv / etc / skel / etc / skel-www
Dabar eikite į naują skeleto katalogą taip:
$ cd / etc / skel-www
Tada sukurkite norimą katalogo struktūrą skeleto kataloge taip:
$ sudo mkdir -p www / public_html, logs
Taip pat galite sukurti numatytąjį indeksas.HTML failą public_html / katalogą, jei norite.
$ echo "Tai veikia
"| sudo tee www / public_html / index.HTML
Dabar sukurkite / www katalogą su šia komanda:
$ sudo mkdir / www
Vartotojų kūrimas:
Dabar galite sukurti vartotoją Bobas skirtas www.1 pavyzdys.com taip:
$ sudo useradd --create-home --home-dir / www / example1.com - apvalkalas/ bin / bash --gid www-data --skel / etc / skel-www bob
Tuo pačiu būdu sukurkite vartotoją alisa skirtas www.2 pavyzdys.com taip:
$ sudo useradd --create-home --home-dir / www / example2.com - shell / bin / bash--gid www-duomenys --skel / etc / skel-www alice
Vėlgi sukurkite naudotojo linda, skirtą www.3 pavyzdys.com taip:
$ sudo useradd --create-home --home-dir / www / example3.com - shell / bin / bash--gid www-duomenys --skel / etc / skel-www linda
Čia aš paskyriau kiekvieno vartotojo pagrindinę grupę www duomenys. Pagal numatytuosius nustatymus „Apache“ serveris veikia kaip ši grupė. Jei to nebūčiau daręs, „Apache“ serveris negalės pasiekti failų, esančių public_html / kataloge ir sukurkite žurnalo failus žurnalai / kataloge.
„Apache VirtualHost“ konfigūravimas:
Dabar esate pasirengę konfigūruoti „Apache VirtualHost“ 3 vartotojams Bobas (www.1 pavyzdys.com), alisa (www.2 pavyzdys.com) ir linda (www.3 pavyzdys.com).
Numatytasis „Apache“ svetainės konfigūracijos katalogas Ubuntu yra / etc / apache2 / sites-available.
Dabar eikite į katalogą / etc / apache2 / sites-available / taip.
$ cd / etc / apache2 / sites-available /
Pirmiausia sukurkite naują „Bob“ konfigūracijos failą www.1 pavyzdys.com.konf taip:
$ sudo nano www.1 pavyzdys.com.konf
Reikėtų atidaryti teksto redaktorių.
Dabar įveskite šias eilutes.
ServerName pavyzdys1.comServerAlias www.1 pavyzdys.com
„DocumentRoot“ / www / example1.com / www / public_html "
Parinktys -FollowSymLinks + MultiViews + Indexes
AllowOverr all all
Reikalauti visų suteiktų
„ErrorLog“ / www / example1.com / www / logs / error.žurnalas "
„CustomLog“ / www / example1.com / www / logs / access.žurnalas "kartu
PASTABA: pakeiskite paryškintus tekstus pagal savo reikalavimus.
Galiausiai, konfigūracijos failas www.pavyzdys.com.konf turėtų atrodyti taip. Paspauskite
tiesiog nukopijuoti konfigūracijos failą Bobas (www.1 pavyzdys.com.konf) ir padaryti tai, ko reikia mažai.
Nukopijuokite konfigūracijos failą Bobas dėl alisa ir linda naudodami šias komandas:
$ sudo cp -v www.1 pavyzdys.com.conf www.2 pavyzdys.com.konf$ sudo cp -v www.1 pavyzdys.com.conf www.3 pavyzdys.com.konf
Dabar redaguokite alisa taip:
$ sudo nano www.2 pavyzdys.com.konf
Dabar pakeiskite visus 1 pavyzdys į 2 pavyzdys. Tada išsaugokite failą.
Daryk tą patį linda.
$ sudo nano www.3 pavyzdys.com.konf
Keisti visus 1 pavyzdys į 3 pavyzdys ir išsaugokite failą.
„VirtualHost“ konfigūracijų įgalinimas:
Dabar išjunkite numatytąją „Apache“ svetainės konfigūraciją taip:
$ sudo a2dissite 000-default.konf
Dabar įgalinkite „VirtualHost“ konfigūracijas www.1 pavyzdys.com.konf, www.2 pavyzdys.com.konf, www.3 pavyzdys.com.konf taip:
$ sudo a2ensite www.1 pavyzdys.com.conf www.2 pavyzdys.com.conf www.3 pavyzdys.com.konf
Galiausiai iš naujo paleiskite „Apache“ paslaugą taip:
$ sudo systemctl paleiskite „apache2“ iš naujo
„VirtualHosts“ testavimas:
Dabar pabandykite patekti į svetaines www.1 pavyzdys.com, www.2 pavyzdys.com, www.3 pavyzdys.com
Kaip matote, visos šios svetainės veikia taip, kaip tikėtasi.
PASTABA: Pakeičiau numatytąjį puslapį indeksas.HTML kiekvienai svetainei, kad kiekvienai svetainei būtų šiek tiek kitaip bandymų tikslais. Priešingu atveju negalėsite pasakyti, ar „VirtualHost“ konfigūracija veikia, ar ne.
Taigi, „Ubuntu 18“ sukonfigūravote pagal pavadinimą pagrįstą „Apache VirtualHost“.04 LTS. Dėkojame, kad perskaitėte šį straipsnį.