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.

  1. OS - CentOS 6.5
  2. Aplikacija - spletni strežnik Apache
  3. Naslov IP - 192.168.0.100
  4. Naslov IP - 192.168.0.101
  5. Domena - www.example1.com
  6. 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

  1. www.example1.com
  2. 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.

  1. 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.

  1. 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.