Apache Virtuell Hosting: IP Baséiert an Numm baséiert Virtuell Hosten an RHEL/CentOS/Fedora


Wéi mir all bewosst sinn datt Apache e ganz mächtegen, héich flexibelen a konfiguréierbare Webserver fir Nix OS ass. Hei an dësem Tutorial wäerte mir eng méi Feature vun Apache diskutéieren, déi et eis erlaabt méi wéi eng Websäit op enger eenzeger Linux Maschinn ze hosten. Virtuell Hosting mat Apache Webserver implementéieren kann Iech hëllefen d'Käschte ze spueren déi Dir investéiert op Ärem Server Ënnerhalt an hir Administratioun.

Konzept vu Shared Webhosting a Reseller Webhosting baséiert nëmmen op dëser Ariichtung vun Apache.

Et ginn zwou Zorte vu virtuelle Hosting ass verfügbar mat Apache.

Mam Numm baséiert virtuelle Hosting kënnt Dir verschidden Domainen/Websäiten op enger eenzeger Maschinn mat enger eenzeger IP hosten. All Domainen op deem Server deelen eng eenzeg IP. Et ass méi einfach ze konfiguréieren wéi IP-baséiert virtuelle Hosting, Dir musst nëmmen DNS vum Domain konfiguréieren fir et mat senger korrekter IP Adress ze mapen an dann den Apache ze konfiguréieren fir et mat den Domainnamen ze erkennen.

Mat dem IP baséiert virtuelle Hosting kënnt Dir eng separat IP fir all Domain op engem eenzege Server zouginn, dës IP kënnen un de Server mat eenzel NIC Kaarten an och e puer NICs befestegt ginn.

Loosst eis Name Based Virtual Hosting an IP baséiert Virtual Hosting op RHEL, CentOS a Fedora opsetzen.

  1. OS – CentOS 6.5
  2. Applikatioun – Apache Web Server
  3. IP Adress – 192.168.0.100
  4. IP Adress – 192.168.0.101
  5. Domain – www.example1.com
  6. Domain – www.example2.com

Wéi Setup IP Baséiert an Numm baséiert Apache Virtual Hosts

Ier Dir virtuelle Hosting mat Apache opstellt, muss Äre System Apache Web Software installéiert hunn. wann net, installéiert et mat Standard Package Installer genannt yum.

 yum install httpd

Awer, ier Dir e virtuelle Host erstellt, musst Dir e Verzeechnes erstellen wou Dir all Är Websäit Dateien hält. Also erstellt Verzeichnisser fir dës zwee virtuell Hosten ënner /var/www/html Dossier. Erënnert w.e.g. /var/www/html wäert Äre Standarddokumentroot an der Apache virtueller Konfiguratioun sinn.

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

Fir den Numm baséiert virtuelle Hosting opzestellen, musst Dir Apache soen op wéi eng IP Dir benotzt fir Apache Ufroe fir all Websäiten oder Domain Nimm ze kréien. Mir kënnen dëst mat NameVirtualHost Direktiv maachen. Open Apache Haaptkonfiguratiounsdatei mam VI Editor.

 vi /etc/httpd/conf/httpd.conf

Sich no NameVirtualHost an decommentéiert dës Zeil andeems Dir d'# Zeechen virun der ewechhuelt.

NameVirtualHost

Füügt dann d'IP mat méiglech un an där Dir Apache Ufroe wëllt kréien. No den Ännerungen, sollt Är Datei esou ausgesinn:

NameVirtualHost 192.168.0.100:80

Elo ass et Zäit fir Virtuell Host Sektiounen fir Är Domainen opzestellen, réckelen op ënnen vun der Datei andeems Dir Shift + G dréckt. Hei an dësem Beispill, Mir setzen virtuell Host Sektiounen fir zwee Domainen

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

Füügt déi folgend zwou virtuell Direktiven um Enn vun der Datei. Späichert an zou der Datei.

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

Dir sidd fräi sou vill Direktiven ze addéieren déi Dir wëllt an Ärem virtuelle Host Sektioun vun Ärem Domain addéieren. Wann Dir mat Ännerungen an der httpd.conf Datei fäerdeg sidd, kontrolléiert w.e.g. d'Syntax vu Dateien mat dem folgenden Kommando.

 httpd -t

Syntax OK

Et ass recommandéiert d'Syntax vun der Datei z'iwwerpréiwen nodeems Dir e puer Ännerungen gemaach hutt a ier Dir de Webserver nei starten, well wann iergendeng Syntax falsch geet Apache refuséiert mat e puer Feeler ze schaffen a schliisslech beaflosst Ären existente Webserver fir eng Zäit erof. Wann d'Syntax OK ass. Gitt w.e.g. Äre Webserver nei a füügt et un chkconfig fir datt Äre Webserver nëmmen am Runlevel 3 a 5 beim Bootzäit unzefänken.

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

Elo ass et Zäit eng Testsäit mam Numm index.html ze kreéieren, e puer Inhalter an d'Datei ze addéieren, fir datt mir eppes hunn fir se ze kontrolléieren, wann d'IP de virtuelle Host nennt.

 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>

Wann Dir fäerdeg sidd, kënnt Dir de Setup testen andeems Dir béid Domainen an engem Browser zougitt.

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

Fir IP-baséiert virtuelle Hosting opzestellen, musst Dir méi wéi eng IP Adress/Port un Äre Server oder Är Linux Maschinn zougewisen hunn.

Et kann op enger eenzeger NIC Kaart sinn, Zum Beispill: eth0: 1, eth0: 2, eth0: 3 ... sou weider. Multiple NIC Kaarten kënnen och befestegt ginn. Wann Dir net wësst wéi Dir verschidde IP'en op engem eenzegen NIC erstellt, befollegt de Guide hei ënnen, deen Iech hëlleft beim Schaffen.

  1. Méi Multiple IP Adressen op een eenzegen Netzwierk erstellen

Zweck vun der Implementéierung vun IP baséiert virtuelle Hosting ass d'Implementatioun fir all Domain ze ginn an déi spezifesch IP gëtt net vun engem aneren Domain benotzt.

Dës Aart vu Setup erfuerderlech wann eng Websäit mat SSL Zertifikat (mod_ssl) oder op verschiddene Ports an IPs leeft. An Dir kënnt och verschidde Instanzen vun Apache op enger eenzeger Maschinn lafen. Fir d'IPen ze kontrolléieren déi an Ärem Server verbonne sinn, kontrolléiert w.e.g. et mam ifconfig Kommando.

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

Wéi Dir an der uewen Ausgang gesitt, sinn zwee IPs 192.168.0.100 (eth0) an 192.168.0.101 (eth0: 1) un de Server verbonnen, béid IPe ginn dem selwechte kierperlechen Netzwierkapparat (eth0) zougewisen.

Gitt elo e spezifesche IP/Port zou fir http Ufroen ze kréien, Dir kënnt et einfach maachen andeems Dir d'Listendirektiv an der httpd.conf Datei ännert.

 vi /etc/httpd/conf/httpd.conf

Sich no Wuert Lauschteren, Dir fannt eng Rubrik wou déi kuerz Beschreiwung iwwert d'Listen Direktiv geschriwwen ass.An deem Rubrik, kommentéiert d'Original Zeil a schreift Är eege Direktiv ënnert där Linn.

# Listen 80

Listen 192.168.0.100:80

Elo, erstellt e Virtuelle Host Sektioune fir béid Domainen. Gitt ënnen vun der Datei a füügt déi folgend virtuell Direktiven un.

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

Elo, well Dir d'Haapt Apache conf Datei geännert hutt, musst Dir den http Service nei starten wéi hei ënnen.

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

Test Är IP-baséiert Virtuell Hosting-Setup andeems Dir op d'URLen am Webbrowser zougitt wéi hei ënnendrënner.

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

Dat ass alles mam Apache virtuelle Host haut, Wann Dir sicht Är Apache Konfiguratioun ze sécheren an ze härden, da liest eisen Artikel dee guidéiert.

  1. 13 Apache Web Server Sécherheets- an Härten Tipps

Referenz Linken

Apache Virtual Host Dokumentatioun

Ech kommen erëm mat e puer aner Apache Tipps an Trick a meng zukünfteg Artikelen, bis dann Bleift Geeky a verbonne mat linux-console.net. Vergiesst net Är Suggestiounen iwwer den Artikel an eiser Kommentarsektioun hei drënner ze hannerloossen.