Apache wirtual hosting: RHEL/CentOS/Fedora-da IP esasly we at esasly wirtual hostlar


Apache-iň Nix OS üçin gaty güýçli, ýokary çeýe we sazlanyp bilinýän web serweridigini hemmämiz bilýäris. Ine, bu gollanmada, bir Linux enjamynda birden köp web sahypasyny ýerleşdirmäge mümkinçilik berýän Apache-iň ýene bir aýratynlygyny ara alyp maslahatlaşmakçy. Apache web serweri bilen wirtual hostingiň ýerine ýetirilmegi, serweriňize hyzmat etmek we olary dolandyrmak üçin goýýan çykdajylaryňyzy tygşytlamaga kömek edip biler.

Paýlaşylan web hosting düşünjesi we Reseller web hosting düşünjesi diňe Apache-iň bu desgasyna esaslanýar.

Apache bilen wirtual hostingiň iki görnüşi bar.

Ady esasly wirtual hosting bilen, bir IP bilen bir enjamda birnäçe domen/web sahypasyny ýerleşdirip bilersiňiz. Şol serwerdäki ähli domenler bir IP paýlaşar. IP esasly wirtual hostingden düzmek has aňsat, diňe dogry IP adresi bilen kartalaşdyrmak üçin domeniň DNS-sini düzmeli, soň bolsa domen atlary bilen tanamak üçin Apache-i sazlamaly.

IP esasly wirtual hosting bilen, her bir domen üçin bir serwerde aýratyn IP belläp bilersiňiz, bu IP-ler ýeke NIC kartoçkalary we birnäçe NIC-ler bilen serwere birikdirilip bilner.

RHEL, CentOS we Fedora-da Name esasly wirtual hosting we IP esasly wirtual hosting guralyň.

  1. OS - CentOS 6.5
  2. Programma - Apache web serweri
  3. IP salgysy - 192.168.0.100
  4. IP salgysy - 192.168.0.101
  5. Domen - www.example1.com
  6. Domen - www.example2.com

IP esasly we ady esasly Apache wirtual hostlaryny nädip sazlamaly

Apache bilen wirtual hosting gurmazdan ozal ulgamyňyzda Apache web programma üpjünçiligi gurlan bolmaly. ýok bolsa, ýum diýilýän deslapky paket gurnaýjysyny ulanyp guruň.

 yum install httpd

Emma, wirtual host döretmezden ozal, web sahypaňyzyň ähli faýllaryny saklaýan katalog döretmeli. Şeýlelik bilen,/var/www/html bukjasynyň aşagyndaky bu iki wirtual host üçin katalog dörediň. Apache wirtual konfigurasiýasynda/var/www/html resminamanyň kök boljakdygyny ýadyňyzdan çykarmaň.

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

Ady esasly wirtual hosting gurmak üçin, ähli web sahypalary ýa-da domen atlary üçin Apache haýyşlaryny almak üçin haýsy IP ulanjakdygyňyzy Apache aýtmalysyňyz. Muny NameVirtualHost direktiwasy bilen edip bileris. VI redaktor bilen Apache esasy konfigurasiýa faýly açyň.

 vi /etc/httpd/conf/httpd.conf

NameVirtualHost-y gözläň we öňündäki # belgisini aýyrmak bilen bu setiri açyň.

NameVirtualHost

Ondan soň Apache haýyşlaryny almak isleýän IP-ňizi goşuň. Üýtgeşmelerden soň faýlyňyz şeýle bolmaly:

NameVirtualHost 192.168.0.100:80

Indi, domenleriňiz üçin wirtual host bölümlerini gurmagyň, Shift + G basyp faýlyň aşagyna geçmegiň wagty geldi. Bu mysalda, iki domen üçin wirtual host bölümlerini gurýarys.

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

Faýlyň aşagyna aşakdaky iki wirtual görkezmäni goşuň. Faýly ýazdyryň we ýapyň.

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

Domenleriňize wirtual host bölüminde goşmak isleýän köp sanly görkezmäňizi goşup bilersiňiz. Httpd.conf faýlynda üýtgeşmeler girizilenden soň, aşakdaky buýruk bilen faýllaryň sintaksisini barlaň.

 httpd -t

Syntax OK

Käbir üýtgeşmeler girizilenden we Web serwerini täzeden açmazdan ozal faýlyň sintaksisini barlamak maslahat berilýär, sebäbi haýsydyr bir sintaksis ýalňyş bolsa, Apache käbir ýalňyşlyklar bilen işlemekden ýüz öwürer we netijede bar bolan web serweriňiziň biraz wagt işlemegine täsir eder. Sintaksis gowy bolsa. Web serweriňizi täzeden açyň we web serweriňizi diňe ýükleme wagtynda 3-nji we 5-nji derejelerde başlamagy üçin chkconfig-e goşuň.

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

Indi index.html atly synag sahypasyny döretmegiň wagty geldi, faýla käbir mazmun goşuň, şonuň üçin IP wirtual öý eýesi diýlende, ony barlamaly bir zadymyz bolar.

 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>

Bu işi bitireniňizden soň, brauzerdäki iki domene girip sazlamany synap bilersiňiz.

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

IP esasly wirtual hosting gurmak üçin serweriňize ýa-da Linux enjamyňyza birden köp IP adresi/Port bellenmeli.

Neke NIC kartada bolup biler, Mysal üçin: eth0: 1, eth0: 2, eth0: 3… we ş.m. Birnäçe NIC kartoçkalary hem goşup bolýar. Singleeke-täk NIC-de birnäçe IP-ni nädip döredip boljakdygyny bilmeseňiz, aşakdaky gollanmany ýerine ýetiriň, bu size döretmäge kömek eder.

  1. Networkeke tor interfeýsine birnäçe IP adres dörediň

IP esasly wirtual hostingiň ýerine ýetirilmeginiň maksady, her bir domen üçin ýerine ýetiriş bellemek we belli bir IP başga bir domen tarapyndan ulanylmaz.

Web sahypasy SSL şahadatnamasy (mod_ssl) ýa-da dürli portlarda we IP-lerde işleýän wagtynda gurulmagy talap edilýär. Şeýle hem, “Apache” -niň birnäçe hadysasyny bir enjamda işledip bilersiňiz. Serweriňizdäki IP-leri barlamak üçin ifconfig buýrugyny ulanyp barlaň.

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

Aboveokardaky çykyşdan görnüşi ýaly, serwere iki IP 192.168.0.100 (eth0) we 192.168.0.101 (eth0: 1) birikdirilýär, iki IP-ler hem birmeňzeş fiziki ulgam enjamyna (eth0) berilýär.

Indi, http haýyşlaryny almak üçin belli bir IP/Port belläň, muny diňe httpd.conf faýlyndaky Diňlemek direktiwasyny üýtgedip edip bilersiňiz.

 vi /etc/httpd/conf/httpd.conf

\ Diňle sözüni gözläň, Diňlemek direktiwasy barada gysga düşündiriş ýazylan bölümi taparsyňyz. Şol bölümde asyl setiri düşündiriň we şol setiriň aşagynda öz görkezmäňizi ýazyň.

# Listen 80

Listen 192.168.0.100:80

Indi, iki domen üçin Wirtual host bölümlerini dörediň. Faýlyň aşagyna gidiň we aşakdaky wirtual görkezmeleri goşuň.

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

Indi esasy Apache conf faýlyny üýtgedeniňizden soň, aşakdaky ýaly http hyzmatyny täzeden açmaly.

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

IP esasly Wirtual hosting sazlamasyny aşakda görkezilişi ýaly web brauzerindäki URL-lere girip synap görüň.

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

Häzirki wagtda Apache wirtual öý eýesi bilen baglanyşykly, Apache konfigurasiýaňyzy berkitmek we berkitmek isleýän bolsaňyz, ugrukdyrýan makalamyzy okaň.

  1. 13 Apache web serweriniň howpsuzlygy we gatylaşdyryş maslahatlary

Salgylanma baglanyşyklary

Apache wirtual host resminamalary

Men ýene-de käbir Apache maslahatlary we geljekki makalalarymda hileler bilen gelerin, şoňa çenli Geek boluň we linux-console.net-a birikdiriň. Makala baradaky teklipleriňizi aşakdaky teswirler bölümimizde goýmagy ýatdan çykarmaň.