അപ്പാച്ചെ വെർച്വൽ ഹോസ്റ്റിംഗ്: RHEL/CentOS/Fedora-ൽ IP അടിസ്ഥാനമാക്കിയുള്ളതും പേര് അടിസ്ഥാനമാക്കിയുള്ള വെർച്വൽ ഹോസ്റ്റുകളും
നിക്സ് ഒഎസിനായി അപ്പാച്ചെ വളരെ ശക്തവും വളരെ വഴക്കമുള്ളതും കോൺഫിഗർ ചെയ്യാവുന്നതുമായ ഒരു വെബ് സെർവറാണെന്ന് നമുക്കെല്ലാവർക്കും അറിയാം. ഇവിടെ ഈ ട്യൂട്ടോറിയലിൽ, ഒരു ലിനക്സ് മെഷീനിൽ ഒന്നിലധികം വെബ്സൈറ്റുകൾ ഹോസ്റ്റ് ചെയ്യാൻ ഞങ്ങളെ അനുവദിക്കുന്ന അപ്പാച്ചെയുടെ ഒരു സവിശേഷത കൂടി ഞങ്ങൾ ചർച്ച ചെയ്യാൻ പോകുന്നു. അപ്പാച്ചെ വെബ് സെർവർ ഉപയോഗിച്ച് വെർച്വൽ ഹോസ്റ്റിംഗ് നടപ്പിലാക്കുന്നത് നിങ്ങളുടെ സെർവർ മെയിന്റനൻസിലും അവയുടെ അഡ്മിനിസ്ട്രേഷനിലും നിങ്ങൾ നിക്ഷേപിക്കുന്ന ചിലവ് ലാഭിക്കാൻ നിങ്ങളെ സഹായിക്കും.
പങ്കിട്ട വെബ് ഹോസ്റ്റിംഗിന്റെയും റീസെല്ലർ വെബ് ഹോസ്റ്റിംഗിന്റെയും ആശയം അപ്പാച്ചെയുടെ ഈ സൗകര്യത്തെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്.
അപ്പാച്ചെയിൽ രണ്ട് തരം വെർച്വൽ ഹോസ്റ്റിംഗ് ലഭ്യമാണ്.
പേര് അടിസ്ഥാനമാക്കിയുള്ള വെർച്വൽ ഹോസ്റ്റിംഗ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരൊറ്റ ഐപി ഉപയോഗിച്ച് ഒരു മെഷീനിൽ നിരവധി ഡൊമെയ്uനുകൾ/വെബ്uസൈറ്റുകൾ ഹോസ്റ്റുചെയ്യാനാകും. ആ സെർവറിലെ എല്ലാ ഡൊമെയ്uനുകളും ഒരൊറ്റ ഐപി പങ്കിടും. ഐപി അടിസ്ഥാനമാക്കിയുള്ള വെർച്വൽ ഹോസ്റ്റിംഗിനെക്കാൾ കോൺഫിഗർ ചെയ്യുന്നത് എളുപ്പമാണ്, ഡൊമെയ്uനിന്റെ ശരിയായ ഐപി വിലാസം ഉപയോഗിച്ച് മാപ്പ് ചെയ്യുന്നതിന് നിങ്ങൾ ഡൊമെയ്uനിന്റെ DNS കോൺഫിഗർ ചെയ്uതാൽ മതി, തുടർന്ന് ഡൊമെയ്uൻ നാമങ്ങൾ ഉപയോഗിച്ച് തിരിച്ചറിയാൻ അപ്പാച്ചെ കോൺഫിഗർ ചെയ്യുക.
IP അടിസ്ഥാനമാക്കിയുള്ള വെർച്വൽ ഹോസ്റ്റിംഗ് ഉപയോഗിച്ച്, നിങ്ങൾക്ക് ഒരു സെർവറിൽ ഓരോ ഡൊമെയ്uനിനും പ്രത്യേകം IP നൽകാം, ഈ IP-കൾ ഒറ്റ NIC കാർഡുകളും ഒന്നിലധികം NIC-കളും ഉപയോഗിച്ച് സെർവറിലേക്ക് അറ്റാച്ചുചെയ്യാനാകും.
RHEL, CentOS, Fedora എന്നിവയിൽ നെയിം ബേസ്ഡ് വെർച്വൽ ഹോസ്റ്റിംഗും IP അടിസ്ഥാനമാക്കിയുള്ള വെർച്വൽ ഹോസ്റ്റിംഗും സജ്ജീകരിക്കാം.
- OS – CentOS 6.5
- അപ്ലിക്കേഷൻ - അപ്പാച്ചെ വെബ് സെർവർ
- IP വിലാസം – 192.168.0.100
- IP വിലാസം – 192.168.0.101
- ഡൊമെയ്ൻ - www.example1.com
- ഡൊമെയ്ൻ - www.example2.com
ഐപി അടിസ്ഥാനമാക്കി എങ്ങനെ സജ്ജീകരിക്കാം, അപ്പാച്ചെ വെർച്വൽ ഹോസ്റ്റുകൾക്ക് പേര് നൽകുക
അപ്പാച്ചെ ഉപയോഗിച്ച് വെർച്വൽ ഹോസ്റ്റിംഗ് സജ്ജീകരിക്കുന്നതിന് മുമ്പ്, നിങ്ങളുടെ സിസ്റ്റത്തിൽ അപ്പാച്ചെ വെബ് സോഫ്റ്റ്uവെയർ ഇൻസ്റ്റാൾ ചെയ്തിരിക്കണം. ഇല്ലെങ്കിൽ, yum എന്ന ഡിഫോൾട്ട് പാക്കേജ് ഇൻസ്റ്റാളർ ഉപയോഗിച്ച് ഇത് ഇൻസ്റ്റാൾ ചെയ്യുക.
yum install httpd
പക്ഷേ, ഒരു വെർച്വൽ ഹോസ്റ്റ് സൃഷ്uടിക്കുന്നതിന് മുമ്പ്, നിങ്ങളുടെ വെബ്uസൈറ്റിന്റെ എല്ലാ ഫയലുകളും സൂക്ഷിക്കുന്ന ഒരു ഡയറക്uടറി നിങ്ങൾ സൃഷ്uടിക്കേണ്ടതുണ്ട്. അതിനാൽ, /var/www/html ഫോൾഡറിന് കീഴിൽ ഈ രണ്ട് വെർച്വൽ ഹോസ്റ്റുകൾക്കായി ഡയറക്ടറികൾ സൃഷ്ടിക്കുക. അപ്പാച്ചെ വെർച്വൽ കോൺഫിഗറേഷനിൽ നിങ്ങളുടെ ഡിഫോൾട്ട് ഡോക്യുമെന്റ് റൂട്ട് /var/www/html ആയിരിക്കുമെന്ന് ദയവായി ഓർക്കുക.
mkdir /var/www/html/example1.com/ mkdir /var/www/html/example2.com/
നെയിം അടിസ്ഥാനമാക്കിയുള്ള വെർച്വൽ ഹോസ്റ്റിംഗ് സജ്ജീകരിക്കുന്നതിന്, എല്ലാ വെബ്uസൈറ്റുകൾക്കും ഡൊമെയ്uൻ നാമങ്ങൾക്കുമായി അപ്പാച്ചെ അഭ്യർത്ഥനകൾ സ്വീകരിക്കുന്നതിന് നിങ്ങൾ ഏത് ഐപിയിലേക്കാണ് ഉപയോഗിക്കുന്നതെന്ന് നിങ്ങൾ അപ്പാച്ചെയോട് പറയേണ്ടതുണ്ട്. NameVirtualHost നിർദ്ദേശം ഉപയോഗിച്ച് നമുക്ക് ഇത് ചെയ്യാൻ കഴിയും. VI എഡിറ്റർ ഉപയോഗിച്ച് അപ്പാച്ചെ പ്രധാന കോൺഫിഗറേഷൻ ഫയൽ തുറക്കുക.
vi /etc/httpd/conf/httpd.conf
NameVirtualHost എന്നതിനായി തിരയുക, അതിനു മുന്നിലുള്ള # ചിഹ്നം നീക്കം ചെയ്തുകൊണ്ട് ഈ വരിയിൽ അഭിപ്രായമിടുക.
NameVirtualHost
അടുത്തതായി നിങ്ങൾ അപ്പാച്ചെ അഭ്യർത്ഥനകൾ സ്വീകരിക്കാൻ ആഗ്രഹിക്കുന്ന സാധ്യമായ ഐപി ചേർക്കുക. മാറ്റങ്ങൾക്ക് ശേഷം, നിങ്ങളുടെ ഫയൽ ഇതുപോലെയായിരിക്കണം:
NameVirtualHost 192.168.0.100:80
ഇപ്പോൾ, നിങ്ങളുടെ ഡൊമെയ്uനുകൾക്കായി വെർച്വൽ ഹോസ്റ്റ് വിഭാഗങ്ങൾ സജ്ജീകരിക്കാനുള്ള സമയമായി, Shift + G അമർത്തി ഫയലിന്റെ അടിയിലേക്ക് നീങ്ങുക. ഇവിടെ ഈ ഉദാഹരണത്തിൽ, ഞങ്ങൾ രണ്ട് ഡൊമെയ്uനുകൾക്കായി വെർച്വൽ ഹോസ്റ്റ് വിഭാഗങ്ങൾ സജ്ജീകരിക്കുകയാണ്.
- www.example1.com
- www.example2.com
ഫയലിന്റെ ചുവടെ ഇനിപ്പറയുന്ന രണ്ട് വെർച്വൽ നിർദ്ദേശങ്ങൾ ചേർക്കുക. ഫയൽ സംരക്ഷിച്ച് അടയ്ക്കുക.
<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>
നിങ്ങളുടെ ഡൊമെയ്uനുകളുടെ വെർച്വൽ ഹോസ്റ്റ് വിഭാഗത്തിൽ ചേർക്കാൻ ആഗ്രഹിക്കുന്ന നിരവധി നിർദ്ദേശങ്ങൾ ചേർക്കാൻ നിങ്ങൾക്ക് സ്വാതന്ത്ര്യമുണ്ട്. നിങ്ങൾ httpd.conf ഫയലിൽ മാറ്റങ്ങൾ വരുത്തുമ്പോൾ, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് ഫയലുകളുടെ വാക്യഘടന പരിശോധിക്കുക.
httpd -t Syntax OK
ചില മാറ്റങ്ങൾ വരുത്തിയതിന് ശേഷവും വെബ് സെർവർ പുനരാരംഭിക്കുന്നതിന് മുമ്പും ഫയലിന്റെ വാക്യഘടന പരിശോധിക്കാൻ ശുപാർശ ചെയ്യുന്നു, കാരണം ഏതെങ്കിലും വാക്യഘടന തെറ്റിയാൽ അപ്പാച്ചെ ചില പിശകുകളോടെ പ്രവർത്തിക്കാൻ വിസമ്മതിക്കുകയും ഒടുവിൽ നിങ്ങളുടെ നിലവിലുള്ള വെബ് സെർവറിനെ ബാധിക്കുകയും ചെയ്യും. വാക്യഘടന ശരിയാണെങ്കിൽ. ബൂട്ട് സമയത്ത് മാത്രം നിങ്ങളുടെ വെബ് സെർവർ റൺലവൽ 3-ലും 5-ലും ആരംഭിക്കുന്നതിന് ദയവായി നിങ്ങളുടെ വെബ് സെർവർ പുനരാരംഭിച്ച് chkconfig-ലേക്ക് ചേർക്കുക.
service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
chkconfig --level 35 httpd on
index.html എന്ന പേരിൽ ഒരു ടെസ്റ്റ് പേജ് സൃഷ്uടിക്കാനുള്ള സമയമാണിത്, ഫയലിലേക്ക് കുറച്ച് ഉള്ളടക്കം ചേർക്കുക, അതിനാൽ IP വെർച്വൽ ഹോസ്റ്റിനെ വിളിക്കുമ്പോൾ ഞങ്ങൾക്ക് അത് പരിശോധിക്കാൻ എന്തെങ്കിലും ഉണ്ടാകും.
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>
നിങ്ങൾ ഇത് ചെയ്തുകഴിഞ്ഞാൽ, ഒരു ബ്രൗസറിലെ രണ്ട് ഡൊമെയ്uനുകളും ആക്uസസ് ചെയ്uത് നിങ്ങൾക്ക് സജ്ജീകരണം പരിശോധിക്കാം.
http://www.example1.com http://www.example2.com
ഐപി അടിസ്ഥാനമാക്കിയുള്ള വെർച്വൽ ഹോസ്റ്റിംഗ് സജ്ജീകരിക്കുന്നതിന്, നിങ്ങളുടെ സെർവറിലേക്കോ ലിനക്സ് മെഷീനിലേക്കോ അസൈൻ ചെയ്uതിരിക്കുന്ന ഒന്നിലധികം IP വിലാസങ്ങൾ/പോർട്ട് ഉണ്ടായിരിക്കണം.
ഇത് ഒരൊറ്റ NIC കാർഡിലാകാം, ഉദാഹരണത്തിന്: eth0:1, eth0:2, eth0:3 ... അങ്ങനെ മുന്നോട്ട്. ഒന്നിലധികം എൻഐസി കാർഡുകളും അറ്റാച്ചുചെയ്യാം. ഒരൊറ്റ എൻഐസിയിൽ ഒന്നിലധികം ഐപികൾ എങ്ങനെ സൃഷ്uടിക്കണമെന്ന് നിങ്ങൾക്കറിയില്ലെങ്കിൽ, ചുവടെയുള്ള ഗൈഡ് പിന്തുടരുക, അത് സൃഷ്uടിക്കുന്നതിന് നിങ്ങളെ സഹായിക്കും.
- ഒരു ഒറ്റ നെറ്റ്uവർക്ക് ഇന്റർഫേസിലേക്ക് ഒന്നിലധികം IP വിലാസങ്ങൾ സൃഷ്ടിക്കുക
IP അടിസ്ഥാനമാക്കിയുള്ള വെർച്വൽ ഹോസ്റ്റിംഗ് നടപ്പിലാക്കുന്നതിന്റെ ഉദ്ദേശ്യം ഓരോ ഡൊമെയ്uനിനും നടപ്പിലാക്കൽ നിയോഗിക്കുക എന്നതാണ്, ആ പ്രത്യേക ഐപി മറ്റേതെങ്കിലും ഡൊമെയ്uനും ഉപയോഗിക്കില്ല.
ഒരു വെബ്സൈറ്റ് SSL സർട്ടിഫിക്കറ്റ് (mod_ssl) ഉപയോഗിച്ചോ അല്ലെങ്കിൽ വ്യത്യസ്ത പോർട്ടുകളിലും IP-കളിലും പ്രവർത്തിക്കുമ്പോൾ ഇത്തരത്തിലുള്ള സജ്ജീകരണം ആവശ്യമാണ്. നിങ്ങൾക്ക് ഒരൊറ്റ മെഷീനിൽ അപ്പാച്ചെയുടെ ഒന്നിലധികം സന്ദർഭങ്ങൾ പ്രവർത്തിപ്പിക്കാനും കഴിയും. നിങ്ങളുടെ സെർവറിൽ ഘടിപ്പിച്ചിട്ടുള്ള IP-കൾ പരിശോധിക്കുന്നതിന്, 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)
മുകളിലെ ഔട്ട്uപുട്ടിൽ നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, രണ്ട് IP-കൾ 192.168.0.100 (eth0), 192.168.0.101 (eth0:1) എന്നിവ സെർവറിൽ ഘടിപ്പിച്ചിരിക്കുന്നു, രണ്ട് ഐപികളും ഒരേ ഫിസിക്കൽ നെറ്റ്uവർക്ക് ഉപകരണത്തിലേക്ക് (eth0) അസൈൻ ചെയ്uതിരിക്കുന്നു.
ഇപ്പോൾ, http അഭ്യർത്ഥനകൾ സ്വീകരിക്കുന്നതിന് ഒരു നിർദ്ദിഷ്uട IP/പോർട്ട് നൽകുക, httpd.conf ഫയലിലെ Listen Directive മാറ്റി നിങ്ങൾക്കത് ചെയ്യാം.
vi /etc/httpd/conf/httpd.conf
\ശ്രദ്ധിക്കുക എന്ന വാക്കിനായി തിരയുക, ശ്രവിക്കുക നിർദ്ദേശത്തെക്കുറിച്ചുള്ള ഹ്രസ്വ വിവരണം എഴുതിയിരിക്കുന്ന ഒരു വിഭാഗം നിങ്ങൾ കണ്ടെത്തുന്നു. ആ വിഭാഗത്തിൽ, യഥാർത്ഥ വരി കമന്റ് ചെയ്യുകയും ആ വരിയുടെ താഴെ നിങ്ങളുടെ സ്വന്തം നിർദ്ദേശം എഴുതുകയും ചെയ്യുക.
# Listen 80 Listen 192.168.0.100:80
ഇപ്പോൾ, രണ്ട് ഡൊമെയ്uനുകൾക്കും വെർച്വൽ ഹോസ്റ്റ് വിഭാഗങ്ങൾ സൃഷ്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>
ഇപ്പോൾ, നിങ്ങൾ പ്രധാന Apache conf ഫയൽ പരിഷ്കരിച്ചതിനാൽ, ചുവടെയുള്ളതുപോലെ നിങ്ങൾ http സേവനം പുനരാരംഭിക്കേണ്ടതുണ്ട്.
service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ]
ചുവടെ കാണിച്ചിരിക്കുന്നതുപോലെ വെബ് ബ്രൗസറിലെ URL-കൾ ആക്uസസ് ചെയ്uത് നിങ്ങളുടെ IP അടിസ്ഥാനമാക്കിയുള്ള വെർച്വൽ ഹോസ്റ്റിംഗ് സജ്ജീകരണം പരിശോധിക്കുക.
http://www.example1.com http://www.example2.com
ഇന്നത്തെ അപ്പാച്ചെ വെർച്വൽ ഹോസ്റ്റിൽ അത്രയേയുള്ളൂ, നിങ്ങളുടെ അപ്പാച്ചെ കോൺഫിഗറേഷൻ സുരക്ഷിതമാക്കാനും കഠിനമാക്കാനും നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ഗൈഡ് ചെയ്യുന്ന ഞങ്ങളുടെ ലേഖനം വായിക്കുക.
- 13 അപ്പാച്ചെ വെബ് സെർവർ സുരക്ഷയും ഹാർഡനിംഗ് നുറുങ്ങുകളും
റഫറൻസ് ലിങ്കുകൾ
അപ്പാച്ചെ വെർച്വൽ ഹോസ്റ്റ് ഡോക്യുമെന്റേഷൻ
എന്റെ ഭാവി ലേഖനങ്ങളിൽ മറ്റ് ചില അപ്പാച്ചെ നുറുങ്ങുകളും തന്ത്രങ്ങളുമായി ഞാൻ വീണ്ടും വരും, അതുവരെ ഗീക്കിയായി തുടരുകയും linux-console.net-ലേക്ക് കണക്uറ്റ് ചെയ്യുകയും ചെയ്യുന്നു. ലേഖനത്തെക്കുറിച്ചുള്ള നിങ്ങളുടെ നിർദ്ദേശങ്ങൾ ചുവടെയുള്ള ഞങ്ങളുടെ അഭിപ്രായ വിഭാഗത്തിൽ ഇടാൻ മറക്കരുത്.