Apache Virtual Hosting: IP- ja nimipohjaiset virtuaalipalvelimet RHEL/CentOS/Fedorassa


Koska olemme kaikki tietoisia siitä, että Apache on erittäin tehokas, erittäin joustava ja konfiguroitava Nix OS -verkkopalvelin. Tässä tässä opetusohjelmassa keskustelemme vielä yhdestä Apache-ominaisuudesta, jonka avulla voimme isännöidä useampaa kuin yhtä verkkosivustoa yhdellä Linux-koneella. Virtuaalisen isännöinnin toteuttaminen Apache-verkkopalvelimen avulla voi auttaa sinua säästämään palvelimen ylläpitoon ja niiden hallintaan investoimiasi kustannuksia.

Jaetun verkkopalvelun ja jälleenmyyjän verkkopalvelun käsite perustuu vain tähän Apache-palveluun.

Apachessa on saatavana kahta tyyppiä virtuaalipalvelua.

Nimipohjaisen virtuaalipalvelun avulla voit isännöidä useita verkkotunnuksia/verkkosivustoja yhdellä koneella yhdellä IP-osoitteella. Kaikki palvelimen toimialueet jakavat yhden IP-osoitteen. Se on helpompi määrittää kuin IP-pohjainen virtuaalinen isännöinti, sinun on määritettävä vain toimialueen DNS, jotta se voidaan kartoittaa oikealla IP-osoitteellaan, ja määrittää Apache tunnistamaan se sitten verkkotunnuksilla.

IP-pohjaisen virtuaalipalvelun avulla voit määrittää erillisen IP-osoitteen kullekin toimialueelle yhdellä palvelimella. Nämä IP-osoitteet voidaan liittää palvelimeen yhdellä verkkokortilla ja useilla verkkokortilla.

Ottaa käyttöön nimipohjaisen virtuaalipalvelun ja IP-pohjaisen virtuaalipalvelun RHEL: ssä, CentOS: ssa ja Fedorassa.

  1. Käyttöjärjestelmä - CentOS 6.5
  2. Sovellus - Apache-verkkopalvelin
  3. IP-osoite - 192.168.0.100
  4. IP-osoite - 192.168.0.101
  5. Verkkotunnus - www.esimerkki1.com
  6. Verkkotunnus - www.esimerkki2.com

IP-pohjaisten ja nimipohjaisten Apache-virtuaalipalvelinten määrittäminen

Ennen kuin määrität virtuaalisen isännöinnin Apache-järjestelmällä, järjestelmässäsi on oltava asennettuna Apache-Web-ohjelmisto. jos ei, asenna se käyttämällä oletuspaketin asennusohjelmaa nimeltä yum.

 yum install httpd

Mutta ennen virtuaalisen isännän luomista sinun on luotava hakemisto, jossa pidät kaikki verkkosivustosi tiedostot. Luo siis hakemistot näille kahdelle virtuaaliselle isännälle kansioon/var/www/html. Muista, että/var/www/html on oletusasiakirjasi juuri Apache-virtuaalikokoonpanossa.

 mkdir /var/www/html/example1.com/
 mkdir /var/www/html/example2.com/

Nimipohjaisen virtuaalipalvelun määrittämiseksi sinun on kerrottava Apache: lle, mihin IP-osoitteeseen aiot käyttää Apache-pyyntöjen vastaanottamista kaikille verkkosivustoille tai verkkotunnuksille. Voimme tehdä tämän NameVirtualHost-direktiivillä. Avaa Apache-pääasetustiedosto VI-editorilla.

 vi /etc/httpd/conf/httpd.conf

Etsi NameVirtualHost ja poista tämän rivin kommentti poistamalla # -merkki sen edestä.

NameVirtualHost

Lisää seuraavaksi mahdollinen IP, johon haluat vastaanottaa Apache-pyyntöjä. Muutosten jälkeen tiedostosi tulisi näyttää tältä:

NameVirtualHost 192.168.0.100:80

Nyt on aika määrittää virtuaaliset isäntäosuudet verkkotunnuksillesi, siirry tiedoston loppuun painamalla Vaihto + G. Tässä esimerkissä perustamme virtuaaliset isäntäosuudet kahdelle verkkotunnukselle

  1. www.esimerkki1.com
  2. www.esimerkki2.com

Lisää seuraavat kaksi virtuaalista direktiiviä tiedoston alaosaan. Tallenna ja sulje tiedosto.

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

Voit vapaasti lisätä niin monta direktiiviä, jonka haluat lisätä verkkotunnuksesi virtuaalipalvelinosaan. Kun olet tehnyt muutokset httpd.conf-tiedostoon, tarkista tiedostojen syntaksit seuraavalla komennolla.

 httpd -t

Syntax OK

On suositeltavaa tarkistaa tiedoston syntaksin muutosten tekemisen jälkeen ja ennen verkkopalvelimen uudelleenkäynnistämistä, koska jos jokin syntaksista menee pieleen, Apache kieltäytyy toimimasta joidenkin virheiden kanssa ja lopulta vaikuttaa olemassa olevaan verkkopalvelimeen. Jos syntaksi on OK. Käynnistä verkkopalvelimesi uudelleen ja lisää se chkconfigiin, jotta Web-palvelimesi käynnistyy vain ajotasolla 3 ja 5.

 service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]
 chkconfig --level 35 httpd on

Nyt on aika luoda testisivu nimeltä index.html, lisätä tiedostoon sisältöä, jotta meillä on jotain tarkistettavaa, kun IP soittaa virtuaaliselle isännälle.

 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>

Kun olet valmis, voit testata asetuksia avaamalla molemmat verkkotunnukset selaimessa.

http://www.example1.com
http://www.example2.com

IP-pohjaisen virtuaalipalvelimen määrittämiseksi palvelimellesi tai Linux-koneellesi on määritettävä useampi kuin yksi IP-osoite/portti.

Se voi olla yhdellä verkkokortilla, esimerkiksi: eth0: 1, eth0: 2, eth0: 3 ... jne. Myös useita verkkokortteja voidaan liittää. Jos et tiedä kuinka luoda useita IP-osoitteita yhdelle verkkokortille, seuraa alla olevaa opasta, joka auttaa sinua luomisessa.

  1. Luo useita IP-osoitteita yhteen ainoaan verkkoliitäntään

IP-pohjaisen virtuaalipalvelun toteuttamisen tarkoituksena on määrittää toteutus kullekin toimialueelle, eikä kyseistä IP-osoitetta käytä mikään muu toimialue.

Tällainen määritys vaaditaan, kun verkkosivusto on käynnissä SSL-varmenteella (mod_ssl) tai eri porteissa ja IP-osoitteissa. Ja voit myös käyttää useita Apache-esiintymiä yhdellä koneella. Tarkista palvelimellesi liitetyt IP-osoitteet tarkistamalla se ifconfig-komennolla.

[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)

Kuten yllä olevasta lähdöstä näet, kaksi IP-osoitetta 192.168.0.100 (eth0) ja 192.168.0.101 (eth0: 1) on liitetty palvelimeen, molemmat IP-osoitteet on osoitettu samalle fyysiselle verkkolaitteelle (eth0).

Määritä nyt tietty IP/portti vastaanottamaan http-pyyntöjä. Voit tehdä sen yksinkertaisesti muuttamalla Kuuntelu-direktiiviä httpd.conf-tiedostossa.

 vi /etc/httpd/conf/httpd.conf

Etsi sanaa ”Kuuntele”, löydät osan, johon on kirjoitettu lyhyt kuvaus Kuuntelu-direktiivistä. Kommentoi kyseisessä osassa alkuperäinen rivi ja kirjoita oma ohjeesi rivin alle.

# Listen 80

Listen 192.168.0.100:80

Luo nyt virtuaalinen isäntäosio molemmille toimialueille. Siirry tiedoston alaosaan ja lisää seuraavat virtuaaliset ohjeet.

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

Koska olet muokannut Apache conf -päätiedostoa, sinun on käynnistettävä http-palvelu uudelleen kuten alla.

 service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

Testaa IP-pohjaisen virtuaalipalvelinasetuksesi avaamalla verkkoselaimen URL-osoitteet alla esitetyllä tavalla.

http://www.example1.com
http://www.example2.com

Se on kaikki Apache-virtuaalipalvelimen kanssa tänään. Jos haluat suojata ja vahvistaa Apache-kokoonpanoa, lue sitten oppaamme artikkeli.

  1. 13 Apache-verkkopalvelimen tietoturva- ja kovetusvinkkiä

Viitelinkit

Apache Virtual Host -dokumentaatio

Tulen jälleen muutamien muiden Apache-vinkkien ja temppujen kanssa tulevissa artikkeleissani, siihen saakka Stay Geeky ja yhteydessä linux-console.netiin. Älä unohda jättää ehdotuksiasi artikkelista alla olevaan kommenttiosioon.