Virtualno gostovanje Apache: Virtualni gostitelji na osnovi IP in imen v RHEL/CentOS/Fedora
Kot se vsi zavedamo, da je Apache zelo zmogljiv, zelo prilagodljiv in nastavljiv spletni strežnik za operacijski sistem Nix. Tu v tej vadnici bomo razpravljali o še eni lastnosti Apacheja, ki nam omogoča gostovanje več spletnih mest na enem računalniku Linux. Z uvedbo navideznega gostovanja s spletnim strežnikom Apache lahko prihranite stroške, ki jih vlagate v vzdrževanje strežnika in njihovo administracijo.
Koncept skupnega spletnega gostovanja in spletnega gostovanja za preprodajalce temelji samo na tej storitvi Apache.
Obstajata dve vrsti navideznega gostovanja, ki je na voljo pri Apache.
Z navideznim gostovanjem, ki temelji na imenu, lahko na enem računalniku z enim samim IP-jem gostite več domen/spletnih mest. Vse domene na tem strežniku bodo imele en sam IP. Lažje ga je konfigurirati kot navidezno gostovanje na osnovi IP, konfigurirati morate le DNS domene, da jo preslika s pravilnim naslovom IP in nato konfigurirati Apache, da jo prepozna z imeni domen.
Z navideznim gostovanjem, ki temelji na IP-ju, lahko za posamezno domeno na posameznem strežniku dodelite ločen IP-naslov, ki ga lahko pritrdite na strežnik z enimi karticami NIC in z več karticami NIC.
Omogočamo navidezno gostovanje na podlagi imen in navidezno gostovanje na podlagi IP v RHEL, CentOS in Fedora.
- OS - CentOS 6.5
- Aplikacija - spletni strežnik Apache
- Naslov IP - 192.168.0.100
- Naslov IP - 192.168.0.101
- Domena - www.example1.com
- Domena - www.example2.com
Kako nastaviti navidezne gostitelje Apache na osnovi IP in imen
Pred nastavitvijo navideznega gostovanja z Apache mora biti v vašem sistemu nameščena spletna programska oprema Apache. v nasprotnem primeru ga namestite z uporabo privzetega namestitvenega paketa, imenovanega yum.
yum install httpd
Preden pa ustvarite navideznega gostitelja, morate ustvariti imenik, v katerem boste hranili vse datoteke spletnega mesta. Torej, ustvarite imenike za ta dva navidezna gostitelja v mapi/var/www/html. Ne pozabite, da bo/var/www/html privzeti koren dokumenta v virtualni konfiguraciji Apache.
mkdir /var/www/html/example1.com/ mkdir /var/www/html/example2.com/
Če želite nastaviti navidezno gostovanje na podlagi imen, morate Apacheu sporočiti, na kateri IP boste uporabljali za prejemanje zahtev Apache za vsa spletna mesta ali imena domen. To lahko storimo z direktivo NameVirtualHost. Odprite glavno konfiguracijsko datoteko Apache z urejevalnikom VI.
vi /etc/httpd/conf/httpd.conf
Poiščite NameVirtualHost in razkomentirajte to vrstico, tako da odstranite znak # pred njo.
NameVirtualHost
Nato dodajte IP z možnim, v katerem želite prejemati zahteve Apache. Po spremembah naj bo vaša datoteka videti tako:
NameVirtualHost 192.168.0.100:80
Zdaj je čas, da nastavite odseke navideznega gostitelja za svoje domene, premaknite se na dno datoteke s pritiskom na Shift + G. Tu v tem primeru nastavljamo odseke navideznega gostitelja za dve domeni
- www.example1.com
- www.example2.com
Na dnu datoteke dodajte naslednji dve navidezni direktivi. Shranite in zaprite datoteko.
<VirtualHost 192.168.0.100:80> ServerAdmin [email DocumentRoot /var/www/html/example1.com ServerName www.example1.com ErrorLog logs/www.example1.com-error_log CustomLog logs/www.example1.com-access_log common </VirtualHost> <VirtualHost *:80> ServerAdmin [email DocumentRoot /var/www/html/example2.com ServerName www.example2.com ErrorLog logs/www.example2.com-error_log CustomLog logs/www.example2.com-access_log common </VirtualHost>
V odsek navideznega gostitelja svojih domen lahko dodate toliko direktiv, ki jih želite dodati. Ko končate s spremembami v datoteki httpd.conf, preverite skladnjo datotek z naslednjim ukazom.
httpd -t Syntax OK
Priporočljivo je, da preverite skladnjo datoteke po nekaterih spremembah in pred ponovnim zagonom spletnega strežnika, ker bo v primeru napake v sintaksi Apache zavrnil delo z nekaterimi napakami in sčasoma prizadel vaš obstoječi spletni strežnik. Če je sintaksa v redu. Prosimo, znova zaženite svoj spletni strežnik in ga dodajte v chkconfig, da se vaš spletni strežnik zažene v 3. in 5. stopnji samo v času zagona.
service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
chkconfig --level 35 httpd on
Zdaj je čas, da ustvarite preizkusno stran z imenom index.html, da dodate nekaj vsebine v datoteko, tako da jo bomo lahko nekaj preverili, ko IP pokliče navideznega gostitelja.
vi /var/www/html/example1.com/index.html
<html> <head> <title>www.example1.com</title> </head> <body> <h1>Hello, Welcome to www.example1.com.</h1> </body> </html>
vi /var/www/html/example2.com/index.html
<html> <head> <title>www.example2.com</title> </head> <body> <h1>Hello, Welcome to www.example2.com.</h1> </body> </html>
Ko končate, lahko nastavitev preizkusite tako, da v brskalniku dostopate do obeh domen.
http://www.example1.com http://www.example2.com
Če želite nastaviti navidezno gostovanje na osnovi IP, morate imeti več kot en naslov/vrata, dodeljena vašemu strežniku ali vašemu Linuxu.
Lahko je na eni kartici NIC, na primer: eth0: 1, eth0: 2, eth0: 3 ... itd. Priložite lahko tudi več kartic NIC. Če ne veste, kako ustvariti več IP-jev na enem omrežju, sledite spodnjemu vodniku, ki vam bo pomagal pri ustvarjanju.
- Ustvarite več naslovov IP v enem samem omrežnem vmesniku
Namen navideznega gostovanja, ki temelji na IP-ju, je dodeliti izvajanje za vsako domeno in tega določenega IP-ja ne bo uporabljala nobena druga domena.
Takšna nastavitev je potrebna, če se spletno mesto izvaja s potrdilom SSL (mod_ssl) ali na različnih vratih in naslovih IP. Na enem računalniku lahko zaženete tudi več primerkov Apache. Če želite preveriti IP-je, priložene strežniku, jih preverite z ukazom ifconfig.
[email ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:4C:EB:CE inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe4c:ebce/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:17550 errors:0 dropped:0 overruns:0 frame:0 TX packets:15120 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:16565983 (15.7 MiB) TX bytes:2409604 (2.2 MiB) eth0:1 Link encap:Ethernet HWaddr 08:00:27:4C:EB:CE inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:1775 errors:0 dropped:0 overruns:0 frame:0 TX packets:1775 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3416104 (3.2 MiB) TX bytes:3416104 (3.2 MiB)
Kot lahko vidite v zgornjem izhodu, sta na strežnik pritrjena dva IP-ja 192.168.0.100 (eth0) in 192.168.0.101 (eth0: 1), oba IP-ja sta dodeljena isti fizični omrežni napravi (eth0).
Zdaj dodelite določen IP/vrata za prejemanje http zahtev, to lahko preprosto storite tako, da spremenite direktivo o poslušanju v datoteki httpd.conf.
vi /etc/httpd/conf/httpd.conf
Poiščite besedo "Poslušaj", najdete razdelek, v katerem je napisan kratek opis direktive o poslušanju. V tem razdelku komentirajte prvotno vrstico in pod to vrstico napišite svojo direktivo.
# Listen 80 Listen 192.168.0.100:80
Zdaj ustvarite odseke navideznega gostitelja za obe domeni. Pojdite na dno datoteke in dodajte naslednje virtualne direktive.
<VirtualHost 192.168.0.100:80> ServerAdmin [email DocumentRoot /var/www/html/example1 ServerName www.example1.com ErrorLog logs/www.example1.com-error_log TransferLog logs/www.example1.com-access_log </VirtualHost> <VirtualHost 192.168.0.101:80> ServerAdmin [email DocumentRoot /var/www/html/example2 ServerName www.example2.com ErrorLog logs/www.example2.com-error_log TransferLog logs/www.example2.com-access_log </VirtualHost>
Ker ste spremenili glavno konfiguracijsko datoteko Apache, morate znova zagnati storitev http, kot spodaj.
service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
Preizkusite nastavitve navideznega gostovanja na osnovi IP-ja, tako da dostopate do URL-jev v spletnem brskalniku, kot je prikazano spodaj.
http://www.example1.com http://www.example2.com
To je vse z današnjim navideznim gostiteljem Apache. Če želite zaščititi in utrditi svojo konfiguracijo Apache, preberite naš vodnik.
- 13 nasvetov za varnost in utrjevanje spletnega strežnika Apache
Referenčne povezave
Dokumentacija navideznega gostitelja Apache
V prihodnjih člankih bom spet prišel z nekaterimi drugimi nasveti in zvijačami za Apache, do takrat pa Ostani geeky in povezan s linux-console.net. Ne pozabite svojih predlogov o članku pustiti v spodnjem oddelku za komentarje.