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.
- Käyttöjärjestelmä - CentOS 6.5
- Sovellus - Apache-verkkopalvelin
- IP-osoite - 192.168.0.100
- IP-osoite - 192.168.0.101
- Verkkotunnus - www.esimerkki1.com
- 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
- www.esimerkki1.com
- 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.
- 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.
- 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.