1. attēls: Apache IP bāzes VirtualHost.
VirtualHost uz vārda bāzes: ViracheHost nosaukumā Apache serverim katrai vietnei ir konfigurēta viena IP adrese un vairāki domēna vārdi. DNS serverī katram no šiem domēna nosaukumiem tiek piešķirta Apache servera IP adrese. Atkarībā no tā, kādu domēna vārdu klients izmantoja, serveris atgriež dažādas vietnes.
2. attēls: Apache nosaukuma VirtualHost.
Šajā rakstā es parādīšu, kā konfigurēt Apache nosaukuma VirtualHost. Es izmantošu Ubuntu 18.04 LTS demonstrācijai. Bet tam vajadzētu darboties jebkurā modernajā Linux izplatīšanā, ar nelielām izmaiņām. Tātad, sāksim darbu.
Apache 2 tīmekļa servera instalēšana:
Apache 2 tīmekļa serveris ir pieejams Ubuntu 18 oficiālajā pakotņu krātuvē.04 LTS. Tātad, to varat viegli instalēt, izmantojot APT pakotņu pārvaldnieku.
Vispirms atjauniniet APT pakotnes krātuves kešatmiņu ar šādu komandu:
$ sudo apt atjauninājums
Tagad, lai instalētu Apache 2 tīmekļa serveri, palaidiet šādu komandu:
$ sudo apt instalējiet apache2
Tagad nospiediet y un pēc tam nospiediet
Jāinstalē Apache 2 tīmekļa serveris.
DNS konfigurēšana:
Tagad jums ir jākonfigurē DNS serveris, lai kartētu domēna nosaukumus, kurus vēlaties izmantot VirtualHost, uz jūsu Apache servera IP adresi.
Apache servera IP adresi varat atrast ar šādu komandu:
$ ip a | egrep "inet"Kā redzat, manā gadījumā IP adrese ir 192.168. lpp.21.166. lpp. Jums būs savādāk. Tātad, turpmāk noteikti nomainiet to ar savu.
Ja vēlaties uzzināt, kā konfigurēt Apache VirtualHost lokāli, varat izmantot / etc / hosts vietējā DNS / nosaukuma izšķiršanas fails.
Lai konfigurētu vietējo DNS izšķirtspēju, atveriet / etc / hosts failu ar nano sekojoši:
$ sudo nano / etc / hosts
Tagad pievienojiet failam līniju, kā norādīts zemāk esošajā ekrānuzņēmumā. Pēc tam nospiediet
Tagad vietējā nosaukuma izšķirtspējai vajadzētu darboties.
Katalogu struktūras:
Es vēlos visus Apache VirtualHost vietnes datus glabāt noteiktā direktorijā / www. Šeit es vēlos izveidot direktoriju katram lietotājam. Katram lietotājam būs savs public_html / un žurnāli / direktoriju.
Piemēram, 3 lietotājiem bobs (piemērs1.com), alise (piemērs2.com), linda (3. piemērs.com), direktoriju struktūra ir šāda:
/ www- piemērs1.com /
- www /
- public_html /
- indekss.html
- žurnāli /
- 2. piemērs.com /
- www /
- public_html /
- indekss.html
- žurnāli /
- 3. piemērs.com /
- www /
- public_html /
- indekss.html
- žurnāli /
Vienkāršs veids, kā to izdarīt, ir izveidot veidnes vai skeleta direktoriju un ievietot direktoriju struktūru tur. Pēc tam izveidojiet katru lietotāju, izmantojot šo skeleta direktoriju.
Vispirms nokopējiet noklusējuma skeleta direktorija saturu / etc / skel uz citu direktoriju / etc / skel-www sekojoši:
$ sudo cp -rv / etc / skel / etc / skel-www
Tagad pārejiet uz jauno skeleta direktoriju šādi:
$ cd / etc / skel-www
Pēc tam izveidojiet vajadzīgo direktorijas struktūru skeleta direktorijā šādi:
$ sudo mkdir -p www / public_html, logs
Varat arī izveidot noklusējumu indekss.html failu public_html / direktoriju, ja vēlaties.
$ echo "Tas strādā
"| sudo tee www / public_html / index.html
Tagad izveidojiet / www direktoriju ar šādu komandu:
$ sudo mkdir / www
Lietotāju izveide:
Tagad jūs varat izveidot lietotāju bobs par www.piemērs1.com šādi:
$ sudo useradd --create-home --home-dir / www / example1.com - čaula/ bin / bash --gid www-data --skel / etc / skel-www bob
Tādā pašā veidā izveidojiet lietotāju alise par www.2. piemērs.com šādi:
$ sudo useradd --create-home --home-dir / www / example2.com - shell / bin / bash--gid www-data --skel / etc / skel-www alice
Atkal izveidojiet lietotāju linda vietnei www.3. piemērs.com šādi:
$ sudo useradd --create-home --home-dir / www / example3.com - shell / bin / bash--gid www-data --skel / etc / skel-www linda
Šeit es piešķīru katra lietotāja primāro grupu www dati. Pēc noklusējuma Apache serveris darbojas kā šī grupa. Ja es to nebūtu izdarījis, Apache serveris nevarēs piekļūt failiem public_html / direktorijā un izveidojiet žurnāla failus žurnāli / direktorijā.
Apache VirtualHost konfigurēšana:
Tagad esat gatavs konfigurēt Apache VirtualHost 3 lietotājiem bobs (www.piemērs1.com), alise (www.2. piemērs.com) un linda (www.3. piemērs.com).
Noklusējuma Apache vietnes konfigurācijas direktorija Ubuntu ir / etc / apache2 / sites-available.
Tagad dodieties uz direktoriju / etc / apache2 / sites-available / sekojoši.
$ cd / etc / apache2 / sites-available /
Vispirms izveidojiet jaunu bob konfigurācijas failu www.piemērs1.com.konf sekojoši:
$ sudo nano www.piemērs1.com.konf
Jāatver teksta redaktors.
Tagad ierakstiet šādas rindas.
ServerName piemērs.comServerAlias www.piemērs1.com
DocumentRoot "/ www / example1.com / www / public_html "
Opcijas -FollowSymLinks + MultiViews + Indeksi
AllowOverr all all
Pieprasīt visu piešķirto
ErrorLog "/ www / example1.com / www / logs / error.žurnāls "
CustomLog "/ www / piemērs1.com / www / logs / access.žurnāls "kombinēts
PIEZĪME. Mainiet treknrakstā esošos tekstus atbilstoši savām prasībām.
Visbeidzot, konfigurācijas fails www.piemērs.com.konf vajadzētu izskatīties šādi. Nospiediet
lai vienkārši nokopētu konfigurācijas failu bobs (www.piemērs1.com.konf) un veiciet maz nepieciešamās izmaiņas.
Nokopējiet konfigurācijas failu bobs priekš alise un linda ar šādām komandām:
$ sudo cp -v www.piemērs1.com.konf www.2. piemērs.com.konf$ sudo cp -v www.piemērs1.com.konf www.3. piemērs.com.konf
Tagad rediģējiet vietnes konfigurācijas failu alise sekojoši:
$ sudo nano www.2. piemērs.com.konf
Tagad mainiet visus piemērs1 uz 2. piemērs. Pēc tam saglabājiet failu.
Dariet to pašu linda.
$ sudo nano www.3. piemērs.com.konf
Mainīt visus gadījumus piemērs1 uz 3. piemērs un saglabājiet failu.
VirtualHost konfigurāciju iespējošana:
Tagad atspējojiet Apache noklusējuma vietnes konfigurāciju šādi:
$ sudo a2dissite 000-noklusējums.konf
Tagad iespējojiet VirtualHost konfigurācijas www.piemērs1.com.konf, www.2. piemērs.com.konf, www.3. piemērs.com.konf sekojoši:
$ sudo a2ensite www.piemērs1.com.konf www.2. piemērs.com.konf www.3. piemērs.com.konf
Visbeidzot restartējiet Apache pakalpojumu šādi:
$ sudo systemctl restartējiet apache2
VirtualHosts pārbaude:
Tagad mēģiniet piekļūt vietnēm www.piemērs1.com, www.2. piemērs.com, www.3. piemērs.com
Kā redzat, visas šīs vietnes darbojas, kā paredzēts.
PIEZĪME: Es nomainīju noklusējuma lapu indekss.html katrai vietnei tā, lai katrai vietnei tas būtu nedaudz atšķirīgs testēšanas nolūkā. Pretējā gadījumā jūs nevarēsiet pateikt, vai VirtualHost konfigurācija darbojas vai nē.
Tātad, tā jūs konfigurējat uz nosaukuma balstītu Apache VirtualHost operētājsistēmā Ubuntu 18.04 LTS. Paldies, ka izlasījāt šo rakstu.