.htaccess ഫയൽ ഉപയോഗിച്ച് അപ്പാച്ചെയിലെ വെബ് ഡയറക്uടറികൾ പാസ്uവേഡ് എങ്ങനെ സംരക്ഷിക്കാം


നിങ്ങൾ ഓൺലൈൻ പ്രോജക്uറ്റുകൾ മാനേജുചെയ്യുമ്പോൾ, പുറം ലോകത്തിൽ നിന്ന് പരിരക്ഷിക്കുന്നതിന് ആ പ്രോജക്uറ്റിലേക്കുള്ള ആക്uസസ് നിങ്ങൾ പരിമിതപ്പെടുത്തേണ്ടതുണ്ട്. അതിന് വ്യത്യസ്uതമായ കാരണങ്ങളുണ്ടാകാം - ഉദാഹരണത്തിന്, നിങ്ങളുടെ സൈറ്റ് വികസന ഘട്ടത്തിലായിരിക്കുമ്പോൾ തന്നെ സെർച്ച് എഞ്ചിൻ ക്രാളറുകൾ ആക്uസസ് ചെയ്യുന്നത് തടയാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നു.

ഈ ട്യൂട്ടോറിയലിൽ, അപ്പാച്ചെ വെബ് സെർവറിൽ പാസ്uവേഡ് പരിരക്ഷിത വ്യത്യസ്uത വെബ്uസൈറ്റ് ഡയറക്uടറികൾ എങ്ങനെ ചെയ്യാമെന്ന് ഞാൻ നിങ്ങളെ കാണിക്കാൻ പോകുന്നു. നിങ്ങൾക്ക് ഇത് നേടാൻ നിരവധി മാർഗങ്ങളുണ്ട്, എന്നാൽ അവയിൽ ഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്ന രണ്ടെണ്ണം ഞങ്ങൾ അവലോകനം ചെയ്യും.

ആദ്യ രീതി അപ്പാച്ചെയുടെ കോൺഫിഗറേഷൻ ഫയലിൽ നേരിട്ട് പാസ്uവേഡ് പരിരക്ഷ കോൺഫിഗർ ചെയ്യുന്നു, രണ്ടാമത്തേത് .htaccess ഫയൽ ഉപയോഗിക്കുന്നു.

ആവശ്യകതകൾ

നിങ്ങളുടെ വെബ് ഡയറക്uടറികൾക്കായി പാസ്uവേഡ് പരിരക്ഷ സജ്ജീകരിക്കുന്നതിന്, നിങ്ങൾക്ക് ഇനിപ്പറയുന്നവ ആവശ്യമാണ്:

  • ഒരു പ്രവർത്തിക്കുന്ന അപ്പാച്ചെ വെബ് സെർവർ
  • AllowOverride AuthConfig നിർദ്ദേശം Apache കോൺഫിഗറേഷൻ ഫയലിൽ പ്രവർത്തനക്ഷമമാക്കിയിരിക്കണം.

അപ്പാച്ചെ പാസ്uവേഡ് പരിരക്ഷിത ഡയറക്ടറി സജ്ജീകരിക്കുക

1. ഈ ട്യൂട്ടോറിയലിനായി, ഞങ്ങൾ പ്രധാന വെബ് റൂട്ട് ഡയറക്ടറി /var/www/html സംരക്ഷിക്കും. ആ ഡയറക്ടറി പരിരക്ഷിക്കുന്നതിന്, നിങ്ങളുടെ അപ്പാച്ചെയുടെ കോൺഫിഗറേഷൻ തുറക്കുക:

---------------- On RedHat/CentOS based systems ----------------
# vi /etc/httpd/conf/httpd.conf

---------------- On Debian/Ubuntu based systems ----------------
# nano /etc/apache2/sites-available/000-default.conf

2. /var/www/html എന്നതിനായുള്ള അപ്പാച്ചെ ഡോക്യുമെന്റ് ഡയറക്uടറി റൂട്ട് കണ്ടെത്തി നിർദ്ദേശിച്ച പ്രകാരം ഇനിപ്പറയുന്ന കാര്യങ്ങൾ ചേർക്കുക:

<Directory /var/www/html> 
Options Indexes Includes FollowSymLinks MultiViews 
AllowOverride All
Order allow,deny
Allow from all 
</Directory>
<Directory /var/www/html> 
Options Indexes Includes FollowSymLinks MultiViews 
AllowOverride All 
Require all granted 
</Directory>

3. ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് ഫയൽ സംരക്ഷിച്ച് അപ്പാച്ചെ പുനരാരംഭിക്കുക:

--------------- On Systemd -------------------
# systemctl restart httpd         [On RedHat based systems]
# systemctl restart apache2       [On Debian based systems]


--------------- On SysV init -----------------
# service httpd restart           [On RedHat based systems]
# service apache2 restart         [On Debian based systems]

4. ഇപ്പോൾ നമ്മുടെ സംരക്ഷിത ഡയറക്uടറിക്ക് ഉപയോക്തൃനാമവും പാസ്uവേഡും സൃഷ്uടിക്കാൻ htpasswd കമാൻഡ് ഉപയോഗിക്കും. അടിസ്ഥാന പ്രാമാണീകരണത്തിനായി ഉപയോക്തൃ ഫയലുകൾ കൈകാര്യം ചെയ്യാൻ ഈ കമാൻഡ് ഉപയോഗിക്കുന്നു.

കമാൻഡിന്റെ പൊതുവായ വാക്യഘടന ഇതാണ്:

# htpasswd -c filename username

-c ഓപ്uഷൻ എൻക്രിപ്റ്റ് ചെയ്uത പാസ്uവേഡ് സൂക്ഷിക്കുന്ന ഫയലിനെ വ്യക്തമാക്കുന്നു, കൂടാതെ ഉപയോക്തൃനാമം പ്രാമാണീകരണത്തിനായി ഉപയോക്താവിനെ വ്യക്തമാക്കുന്നു.

5. ഞങ്ങളുടെ പാസ്uവേഡ് ഫയൽ അപ്പാച്ചെയുടെ വെബ് ആക്uസസ് ചെയ്യാവുന്ന ഡയറക്uടറിക്ക് പുറത്ത് സ്ഥിതിചെയ്യേണ്ടതുണ്ട്, അതിനാൽ അത് നന്നായി സംരക്ഷിക്കപ്പെടുന്നു. അതിനായി, ഞങ്ങൾ പുതിയ ഡയറക്ടറി സൃഷ്ടിക്കും:

# mkdir /home/tecmint

6. അതിനുശേഷം ഞങ്ങൾ ഞങ്ങളുടെ ഉപയോക്തൃനാമവും പാസ്uവേഡും സൃഷ്ടിക്കും, അത് ആ ഡയറക്uടറിയിൽ സംഭരിക്കും:

# htpasswd -c /home/tecmint/webpass tecmint

ഒരിക്കൽ നിങ്ങൾ ഈ കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്uതാൽ ഞങ്ങളുടെ പുതിയ ഉപയോക്താവിന്റെ \tecmint\ എന്നതിന്റെ പാസ്uവേഡ് രണ്ടുതവണ നൽകേണ്ടി വരും:

അതിനുശേഷം വെബ്പാസ് ഫയൽ വായിക്കാൻ അപ്പാച്ചെയ്ക്ക് കഴിയുമെന്ന് ഞങ്ങൾ ഉറപ്പാക്കേണ്ടതുണ്ട്. അതിനായി, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് ആ ഫയലിന്റെ ഉടമസ്ഥാവകാശം നിങ്ങൾ മാറ്റേണ്ടതുണ്ട്:

---------------- On RedHat/CentOS based systems ----------------
# chown apache: /home/tecmint/webpass
# chmod 640 /home/tecmint/webpass
---------------- On Debian/Ubuntu based systems ----------------
# chown www-data /home/tecmint/webpass
# chmod 640 /home/tecmint/webpass

7. ഈ സമയത്ത് ഞങ്ങളുടെ പുതിയ ഉപയോക്താവും പാസ്uവേഡും തയ്യാറാണ്. ഞങ്ങളുടെ ടാർഗെറ്റുചെയ്uത ഡയറക്uടറി ആക്uസസ് ചെയ്യുമ്പോൾ പാസ്uവേഡ് അഭ്യർത്ഥിക്കാൻ അപ്പാച്ചെയോട് ഇപ്പോൾ പറയേണ്ടതുണ്ട്. അതിനായി, /var/www/html എന്നതിൽ .htaccess എന്ന ഫയൽ സൃഷ്ടിക്കുക:

# vi /var/www/html/.htaccess

അതിൽ ഇനിപ്പറയുന്ന കോഡ് ചേർക്കുക:

AuthType Basic
AuthName "Restricted Access"
AuthUserFile /home/tecmint/webpass
Require user tecmint

8. ഇപ്പോൾ ഫയൽ സേവ് ചെയ്ത് നിങ്ങളുടെ സജ്ജീകരണം പരീക്ഷിക്കുക. നിങ്ങളുടെ ബ്രൗസർ തുറന്ന് വെബ് ബ്രൗസറിൽ നിങ്ങളുടെ IP വിലാസമോ ഡൊമെയ്uൻ നാമമോ നൽകുക, ഉദാഹരണത്തിന്:

http://ip-address

ഉപയോക്തൃനാമത്തിനും പാസ്uവേഡിനും വേണ്ടി നിങ്ങളോട് ആവശ്യപ്പെടണം:

നിങ്ങളുടെ പേജിലേക്ക് പോകാൻ നിങ്ങൾ സജ്ജമാക്കിയ ഉപയോക്തൃനാമവും പാസ്uവേഡും നൽകുക.

അധിക കുറിപ്പുകൾ

നിങ്ങൾ പങ്കിട്ട ഹോസ്റ്റിംഗ് ആണ് ഉപയോഗിക്കുന്നതെങ്കിൽ, നിങ്ങൾക്ക് മിക്കവാറും അപ്പാച്ചെ കോൺഫിഗറേഷൻ ഫയലിലേക്ക് ആക്സസ് ഉണ്ടായിരിക്കില്ല. എന്നിരുന്നാലും മിക്ക ഹോസ്റ്റിംഗ് കമ്പനികളും ഡിഫോൾട്ടായി എല്ലാം ഓവർറൈഡ് ചെയ്യുക ഓപ്uഷൻ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ട്. ഇതിനർത്ഥം നിങ്ങൾ ഉപയോക്തൃനാമവും പാസ്uവേഡും സൃഷ്uടിക്കുകയും തുടർന്ന് നിങ്ങൾ പരിരക്ഷിക്കാൻ ആഗ്രഹിക്കുന്ന ഡയറക്ടറി തിരഞ്ഞെടുക്കുകയും വേണം. ഇത് നിങ്ങളുടെ ചുമതലയെ ഗണ്യമായി ലഘൂകരിക്കുന്നു.

ഉപസംഹാരം

ഈ ട്യൂട്ടോറിയൽ നിങ്ങൾക്ക് ഉപയോഗപ്രദമാണെന്നും നിങ്ങളുടെ ലക്ഷ്യം നേടാൻ സഹായിക്കുമെന്നും ഞാൻ പ്രതീക്ഷിക്കുന്നു. നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളോ അഭിപ്രായങ്ങളോ ഉണ്ടെങ്കിൽ, ചുവടെയുള്ള വിഭാഗത്തിൽ അവ പോസ്റ്റുചെയ്യാൻ മടിക്കരുത്.