RHEL/CentOS 7.0-ൽ Vhosts ഓപ്uഷനുകൾ പ്രവർത്തനക്ഷമമാക്കുക/പ്രവർത്തനരഹിതമാക്കുക ഉപയോഗിച്ച് അപ്പാച്ചെ വെർച്വൽ ഹോസ്റ്റുകൾ സൃഷ്ടിക്കുന്നു


വെർച്വൽ ഹോസ്റ്റിംഗ് IP വിലാസം, ഹോസ്റ്റ്നാമം അല്ലെങ്കിൽ ഉപയോഗിച്ച പോർട്ട് നമ്പർ എന്നിവയെ അടിസ്ഥാനമാക്കി വ്യത്യസ്ത ഉള്ളടക്കം നൽകുന്നതിന് Apache Weberver-നെ അനുവദിക്കുന്നു. /etc/httpd/ പാതയിൽ രണ്ട് ഡയറക്uടറികൾ സൃഷ്uടിച്ച് Red Hat Enterprise Linux/CentOS 7.0-ൽ വെർച്വൽ ഹോസ്റ്റുകൾ പ്രവർത്തനക്ഷമമാക്കുന്നതിനും കൈകാര്യം ചെയ്യുന്നതിനും ഈ ഗൈഡ് ഒരു ഡെബിയൻ സമീപനം ഉപയോഗിക്കും. പ്രവർത്തനക്ഷമമാക്കിയതും അപ്രാപ്uതമാക്കിയതുമായ എല്ലാ വെബ്uസൈറ്റ് ഫയൽ കോൺഫിഗറേഷനുകളും സൂക്ഷിക്കുക – സൈറ്റുകൾ-ലഭ്യം, സൈറ്റുകൾ-പ്രാപ്uതമാക്കൽ എന്നിവയും കമാൻഡുകളായി പ്രവർത്തിക്കാനുള്ള രണ്ട് തരം സ്uക്രിപ്റ്റുകളും, ഒന്ന് പ്രവർത്തനക്ഷമമാക്കുന്നതും മറ്റൊന്ന് നിർദ്ദിഷ്ട വെർച്വൽ പ്രവർത്തനരഹിതമാക്കുന്നതും ഹോസ്റ്റുകൾ - a2ensite ഒപ്പം a2dissite. ഈ സമീപനത്തിന് ചില ഗുണങ്ങളുണ്ട്, കാരണം നിങ്ങൾ httpd കോൺഫിഗറേഷൻ ഫയലുമായി ആശയക്കുഴപ്പത്തിലായതിനാൽ ഓരോ വെർച്വൽ ഹോസ്റ്റിനും അതിന്റേതായ കോൺഫിഗറേഷൻ ഫയൽ ഉണ്ട്, അത് ഒരൊറ്റ ലൊക്കേഷനിൽ കണ്ടെത്താൻ കഴിയും - പ്രാപ്തമാക്കിയ ഹോസ്റ്റുകൾ സിംലിങ്കുകൾ മാത്രമാണ് - ഇത് പ്രവർത്തനക്ഷമമാക്കുക, പ്രവർത്തനരഹിതമാക്കുക, സൃഷ്ടിക്കുക അല്ലെങ്കിൽ വളരെ കൈകാര്യം ചെയ്യാവുന്ന അവ ഇല്ലാതാക്കുന്നു.

  1. RHEL/CentOS 7.0-ൽ LAMP അടിസ്ഥാന ഇൻസ്റ്റാളേഷൻ

RHEL/CentOS 7-ൽ അപ്പാച്ചെ വെർച്വൽ ഹോസ്റ്റുകൾ സൃഷ്uടിക്കുകയും നിയന്ത്രിക്കുകയും ചെയ്യുക

1. ആരംഭിക്കുന്നതിന്, /etc/httpd/ പാതയിൽ പ്രവേശിച്ച് ആരംഭിക്കുക, സൈറ്റുകൾ-ലഭ്യവും സൈറ്റുകൾ പ്രവർത്തനക്ഷമമാക്കിയതുമായ ഡയറക്uടറികൾ സൃഷ്uടിക്കുക, പുതിയത് പ്രയോഗിക്കുന്നതിന് Apache httpd.conf ഫയൽ എഡിറ്റ് ചെയ്യുക പ്രവർത്തനക്ഷമമാക്കിയ വെബ്സൈറ്റുകളുടെ സ്ഥാനം.

# cd /etc/httpd/
# mkdir sites-available sites-enabled
# nano conf/httpd.conf

2. httpd.conf ഫയലിൽ, ഫയലിന്റെ ചുവടെ ഇനിപ്പറയുന്ന ഡയറക്uടീവ് ലൈൻ ചേർക്കുക, അത് /etc/httpd/sites-enabled/< എന്നതിൽ സ്ഥിതിചെയ്യുന്ന എല്ലാ ഫയലുകളും വായിക്കാനും പാഴ്uസ് ചെയ്യാനും അപ്പാച്ചെയെ പ്രേരിപ്പിക്കും. .conf വിപുലീകരണത്തിൽ അവസാനിച്ചു.

IncludeOptional sites-enabled/*.conf

3. അടുത്ത ഘട്ടത്തിൽ, ഒരു വിവരണാത്മക നാമം ഉപയോഗിച്ച് സൈറ്റുകൾ-ലഭ്യമായ ലൊക്കേഷനിൽ ഒരു പുതിയ വെർച്വൽ ഹോസ്റ്റ് സൃഷ്uടിക്കുക - ഈ സാഹചര്യത്തിൽ ഞാൻ rheltest.lan.conf ഉപയോഗിച്ചു - കൂടാതെ ഉപയോഗിക്കുക ഒരു ടെംപ്ലേറ്റായി ഇനിപ്പറയുന്ന ഫയൽ.

# nano /etc/httpd/sites-available/rheltest.lan.conf

ഒരു ഗൈഡായി ഈ കോൺഫിഗറേഷൻ ഉപയോഗിക്കുക.

<VirtualHost *:80>
        ServerName rheltest.lan
        DocumentRoot "/var/www/rheltest.lan"
                <Directory "/var/www/rheltest.lan">
                Options Indexes FollowSymLinks MultiViews
         # AllowOverride controls what directives may be placed in .htaccess files.      
                        AllowOverride All
        # Controls who can get stuff from this server file
                        Order allow,deny
                        Allow from all
           </Directory>
        <IfModule mpm_peruser_module>
                ServerEnvironment apache apache
        </IfModule>
        ErrorLog  /var/log/httpd/rheltest.lan-error.log
        CustomLog /var/log/httpd/rheltest.lan-access.log combined
</VirtualHost>

4. നിങ്ങളുടെ വെർച്വൽ ഹോസ്റ്റിലെ DocumentRoot ലൊക്കേഷൻ ഡിഫോൾട്ടായ /var/www/html-ൽ നിന്ന് മറ്റ് പാഥിലേക്ക് മാറ്റുകയാണെങ്കിൽ, നിങ്ങൾ ഈ പാതയും സൃഷ്ടിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക.

# mkdir -p /var/www/rheltest.lan

ശ്രദ്ധിക്കുക: സെർവർനെയിം ഹോസ്റ്റ് ഒരു സാധുവായ DNS റെക്കോർഡാണെന്നും അല്ലെങ്കിൽ നിങ്ങൾ വെബ്uസൈറ്റ് സന്ദർശിക്കാൻ ഉദ്ദേശിക്കുന്നിടത്ത് നിന്ന് നിങ്ങളുടെ ലോക്കൽ മെഷീനുകളുടെ ഹോസ്റ്റ് ഫയലിലേക്ക് ചേർത്തിട്ടുണ്ടെന്നും ഉറപ്പുനൽകുക.

5. ഇപ്പോൾ ഒരു എക്സിക്യൂട്ടബിൾ സിസ്റ്റം പാതയിൽ a2ensite, a2dissite ബാഷ് സ്ക്രിപ്റ്റുകൾ സൃഷ്ടിക്കാൻ സമയമായി - ഈ സാഹചര്യത്തിൽ /usr/local/bin/ – എന്നാൽ
സിസ്റ്റം വേരിയബിൾ ഔട്ട്പുട്ടുകൾ PATH നിങ്ങൾക്ക് എക്സിക്യൂട്ടബിൾ പാത്ത് ഉപയോഗിക്കാം.

നിങ്ങൾ തിരഞ്ഞെടുത്ത എഡിറ്റർ ഉപയോഗിച്ച് ഇനിപ്പറയുന്ന ഫയൽ സൃഷ്ടിക്കുക.

# nano /usr/local/bin/a2ensite

അതിലേക്ക് ഇനിപ്പറയുന്ന സ്ക്രിപ്റ്റ് ചേർക്കുക.

#!/bin/bash
if test -d /etc/httpd/sites-available && test -d /etc/httpd/sites-enabled  ; then
echo "-----------------------------------------------"
else
mkdir /etc/httpd/sites-available
mkdir /etc/httpd/sites-enabled
fi

avail=/etc/httpd/sites-available/$1.conf
enabled=/etc/httpd/sites-enabled/
site=`ls /etc/httpd/sites-available/`

if [ "$#" != "1" ]; then
                echo "Use script: a2ensite virtual_site"
                echo -e "\nAvailable virtual hosts:\n$site"
                exit 0
else

if test -e $avail; then
sudo ln -s $avail $enabled
else

echo -e "$avail virtual host does not exist! Please create one!\n$site"
exit 0
fi
if test -e $enabled/$1.conf; then

echo "Success!! Now restart Apache server: sudo systemctl restart httpd"
else
echo  -e "Virtual host $avail does not exist!\nPlease see available virtual hosts:\n$site"
exit 0
fi
fi

നിങ്ങൾ തിരഞ്ഞെടുത്ത എഡിറ്റർ ഉപയോഗിച്ച് ഇനിപ്പറയുന്ന ഫയൽ സൃഷ്ടിക്കുക.

# nano /usr/local/bin/a2dissite

ഫയലിലേക്ക് ഇനിപ്പറയുന്ന മുഴുവൻ സ്ക്രിപ്റ്റും ചേർക്കുക.

#!/bin/bash
avail=/etc/httpd/sites-enabled/$1.conf
enabled=/etc/httpd/sites-enabled
site=`ls /etc/httpd/sites-enabled/`

if [ "$#" != "1" ]; then
                echo "Use script: a2dissite virtual_site"
                echo -e "\nAvailable virtual hosts: \n$site"
                exit 0
else

if test -e $avail; then
sudo rm  $avail
else
echo -e "$avail virtual host does not exist! Exiting!"
exit 0
fi

if test -e $enabled/$1.conf; then
echo "Error!! Could not remove $avail virtual host!"
else
echo  -e "Success! $avail has been removed!\nPlease restart Apache: sudo systemctl restart httpd"
exit 0
fi
fi

6. രണ്ട് സ്ക്രിപ്റ്റ് ഫയലുകളും സൃഷ്ടിച്ച ശേഷം, അവ എക്സിക്യൂട്ടബിൾ ആണെന്ന് ഉറപ്പുവരുത്തുക, കമാൻഡ് പാരാമീറ്ററായി vhost നെയിം ചേർത്തുകൊണ്ട് വെർച്വൽ ഹോസ്റ്റുകൾ പ്രാപ്തമാക്കാൻ അല്ലെങ്കിൽ അപ്രാപ്തമാക്കാൻ ഉപയോഗിക്കാൻ തുടങ്ങുക.

# chmod +x /usr/local/bin/a2*
# a2ensite vhost_name
# a2disite vhost_name

7. ഇത് പരിശോധിക്കുന്നതിന്, നേരത്തെ സൃഷ്uടിച്ച വെർച്വൽ ഹോസ്റ്റ് പ്രവർത്തനക്ഷമമാക്കുക, അപ്പാച്ചെ സേവനം പുനരാരംഭിച്ച് പുതിയ വെർച്വൽ ഹോസ്റ്റിലേക്ക് നേരിട്ട് ബ്രൗസർ - ഈ സാഹചര്യത്തിൽ http://rheltest.lan.

# a2ensite rheltest.lan
# systemctl restart httpd

അത്രയേയുള്ളൂ! RHEL/CentOS 7.0-ൽ Apache Vhosts ഫയൽ മാനേജ് ചെയ്യാൻ ഇപ്പോൾ നിങ്ങൾക്ക് a2eniste, a2dissite ബാഷ് സ്ക്രിപ്റ്റുകൾ സിസ്റ്റം കമാൻഡുകൾ ആയി ഉപയോഗിക്കാം.