Apache virtuālais mitināšana: uz IP balstīti un uz nosaukumiem balstīti virtuālie hosti RHEL/CentOS/Fedora


Tā kā mēs visi zinām, ka Apache ir ļoti spēcīgs, ļoti elastīgs un konfigurējams tīmekļa serveris Nix OS. Šajā apmācībā mēs apspriedīsim vēl vienu Apache funkciju, kas ļauj mums mitināt vairāk nekā vienu vietni vienā Linux mašīnā. Virtuālā mitināšanas ieviešana ar Apache tīmekļa serveri var palīdzēt ietaupīt izmaksas, kuras ieguldāt sava servera uzturēšanā un administrēšanā.

Dalītā tīmekļa mitināšanas un tālākpārdevēja tīmekļa mitināšanas koncepcija ir balstīta tikai uz šo Apache iespēju.

Ar Apache ir pieejami divi virtuālā mitināšanas veidi.

Izmantojot nosaukuma virtuālo mitināšanu, vienā mašīnā ar vienu IP varat mitināt vairākus domēnus/vietnes. Visiem šī servera domēniem būs kopīgs viens IP. To ir vieglāk konfigurēt nekā virtuālo mitināšanu, kura pamatā ir IP. Jums tikai jākonfigurē domēna DNS, lai kartētu to ar pareizo IP adresi, un pēc tam jākonfigurē Apache, lai atpazītu to ar domēna nosaukumiem.

Izmantojot uz IP balstītu virtuālo mitināšanu, katram serverim varat piešķirt atsevišķu IP katram serverim, šos IP serverim var pievienot ar atsevišķām NIC kartēm un vairākiem NIC.

Ļauj iestatīt virtuālo mitināšanu ar nosaukumu un IP, pamatojoties uz IP, RHEL, CentOS un Fedora.

  1. OS - CentOS 6.5
  2. Lietojumprogramma - Apache tīmekļa serveris
  3. IP adrese - 192.168.0.100
  4. IP adrese - 192.168.0.101
  5. Domēns - www.example1.com
  6. Domēns - www.example2.com

Kā iestatīt uz IP balstītos un uz nosaukumiem balstītos Apache virtuālos saimniekus

Pirms virtuālā mitināšanas iestatīšanas ar Apache jūsu sistēmā jābūt instalētai Apache tīmekļa programmatūrai. ja nē, instalējiet to, izmantojot noklusējuma pakotņu instalēšanas programmu, ko sauc par yum.

 yum install httpd

Bet pirms virtuālā resursdatora izveidošanas jums jāizveido direktorijs, kurā glabāsit visus savas vietnes failus. Tātad, izveidojiet direktorijus šiem diviem virtuālajiem resursdatoriem mapē/var/www/html. Lūdzu, atcerieties, ka/var/www/html būs noklusējuma dokumenta sakne Apache virtuālajā konfigurācijā.

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

Lai iestatītu virtuālo mitināšanu, kura pamatā ir nosaukums, jums jāpaziņo Apache, kuru IP izmantosit, lai saņemtu Apache pieprasījumus visām vietnēm vai domēnu nosaukumiem. Mēs to varam izdarīt ar NameVirtualHost direktīvu. Atveriet Apache galveno konfigurācijas failu ar VI redaktoru.

 vi /etc/httpd/conf/httpd.conf

Meklējiet NameVirtualHost un noņemiet komentāru no šīs rindiņas, noņemot zīmi # priekšā.

NameVirtualHost

Pēc tam pievienojiet IP ar iespējamo, kurā vēlaties saņemt Apache pieprasījumus. Pēc izmaiņām failam vajadzētu izskatīties šādi:

NameVirtualHost 192.168.0.100:80

Ir pienācis laiks iestatīt virtuālo resursdatora sadaļas jūsu domēniem, pārejiet uz faila apakšdaļu, nospiežot Shift + G. Šeit šajā piemērā mēs iestatām virtuālās resursdatora sadaļas diviem domēniem

  1. www.example1.com
  2. www.example2.com

Pievienojiet šādas divas virtuālās direktīvas faila apakšdaļā. Saglabājiet un aizveriet failu.

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

Jūs varat brīvi pievienot tik daudz direktīvu, kādas vēlaties pievienot savu domēnu virtuālā resursdatora sadaļā. Kad esat pabeidzis izmaiņas failā httpd.conf, lūdzu, pārbaudiet failu sintaksi ar šādu komandu.

 httpd -t

Syntax OK

Pēc dažu izmaiņu veikšanas un pirms tīmekļa servera restartēšanas ieteicams pārbaudīt faila sintaksi, jo, ja kāda sintakse kļūs nepareiza, Apache atteiksies strādāt ar dažām kļūdām un galu galā kādu laiku ietekmēs jūsu esošo tīmekļa serveri. Ja sintakse ir kārtībā. Lūdzu, restartējiet savu tīmekļa serveri un pievienojiet to chkconfig, lai jūsu tīmekļa serveris sāktu darboties tikai 3. un 5. darbības līmenī tikai sāknēšanas laikā.

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

Tagad ir pienācis laiks izveidot testa lapu ar nosaukumu index.html, pievienojiet failam kādu saturu, lai mums būtu, ko to pārbaudīt, kad IP izsauks virtuālo resursdatoru.

 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>

Kad esat to pabeidzis, varat pārbaudīt iestatīšanu, pārlūkprogrammā piekļūstot abiem domēniem.

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

Lai iestatītu uz IP balstītu virtuālo mitināšanu, serverim vai Linux mašīnai ir jāpiešķir vairākas IP adreses/ports.

Tas var būt vienā NIC kartē, piemēram: eth0: 1, eth0: 2, eth0: 3 ... utt. Var pievienot arī vairākas NIC kartes. Ja nezināt, kā vienā tīklā izveidot vairākus IP, izpildiet tālāk sniegto rokasgrāmatu, kas jums palīdzēs izveidot.

  1. Izveidojiet vairākas IP adreses vienam vienotam tīkla interfeisam

Virtuālā mitināšanas, kas balstīts uz IP, ieviešanas mērķis ir piešķirt ieviešanu katram domēnam, un šo konkrēto IP neizmantos neviens cits domēns.

Šāda veida iestatīšana ir nepieciešama, ja vietne darbojas ar SSL sertifikātu (mod_ssl) vai dažādās ostās un IP. Un vienā mašīnā jūs varat arī palaist vairākus Apache gadījumus. Lai pārbaudītu serverī pievienotos IP, lūdzu, pārbaudiet to, izmantojot komandu 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)

Kā redzat iepriekš izvadē, divi IP 192.168.0.100 (eth0) un 192.168.0.101 (eth0: 1) ir pievienoti serverim, abi IP ir piešķirti vienai un tai pašai fiziskā tīkla ierīcei (eth0).

Tagad, piešķirot konkrētu IP/portu, lai saņemtu http pieprasījumus, varat to vienkārši izdarīt, mainot Klausīšanās direktīvu failā httpd.conf.

 vi /etc/httpd/conf/httpd.conf

Meklējiet vārdu “Klausīties”, jūs atradīsit sadaļu, kurā ir uzrakstīts īss apraksts par Klausīšanās direktīvu. Šajā sadaļā komentējiet sākotnējo rindu un zem šīs rindiņas uzrakstiet savu direktīvu.

# Listen 80

Listen 192.168.0.100:80

Tagad izveidojiet virtuālā resursdatora sadaļas abiem domēniem. Pārejiet uz faila apakšdaļu un pievienojiet šādas virtuālās direktīvas.

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

Tā kā esat mainījis galveno Apache conf failu, jums ir jārestartē http pakalpojums, kā norādīts zemāk.

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

Pārbaudiet sava virtuālā mitināšanas iestatījumus, kuru pamatā ir IP, piekļūstot URL tīmekļa pārlūkprogrammā, kā parādīts zemāk.

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

Tas viss ir ar Apache virtuālo resursdatoru šodien. Ja vēlaties nodrošināt un nostiprināt savu Apache konfigurāciju, izlasiet mūsu rakstu, kurā ir norādījumi.

  1. 13 Apache tīmekļa servera drošības un cietēšanas padomi

Atsauces saites

Apache virtuālā resursdatora dokumentācija

Es atkal nākšu ar dažiem citiem Apache padomiem un trikiem savos turpmākajos rakstos, līdz tam esiet Geeky un savienots ar linux-console.net. Neaizmirstiet atstāt savus ieteikumus par rakstu mūsu komentāru sadaļā zemāk.