ആർച്ച് ലിനക്സിൽ LAMP (Linux, Apache, MySQL/MariaDB, PHP/PhpMyAdmin) ഇൻസ്റ്റാൾ ചെയ്യുന്നു


ആർച്ച് ലിനക്uസ് ഒരു ഫ്ലെക്സിബിൾ കട്ടിംഗ് ഏജ് സിസ്റ്റം എൻവയോൺമെന്റ് പ്രദാനം ചെയ്യുന്നു, കൂടാതെ ചെറിയ നോൺ-ക്രിട്ടിക്കൽ സിസ്റ്റങ്ങളിൽ വെബ് ആപ്ലിക്കേഷനുകൾ വികസിപ്പിക്കുന്നതിനുള്ള ശക്തമായ ഏറ്റവും അനുയോജ്യമായ പരിഹാരമാണിത് സെർവറുകളും ഡാറ്റാബേസുകളും.

ഈ ട്യൂട്ടോറിയലിന്റെ ഈ പ്രധാന വ്യാപ്തി ഘട്ടം ഘട്ടമായുള്ള നിർദ്ദേശങ്ങളിലൂടെ നിങ്ങളെ നയിക്കുക എന്നതാണ്, അവസാനം വെബ് ഡെവലപ്uമെന്റിൽ ഏറ്റവും കൂടുതൽ ഉപയോഗിക്കുന്ന സോഫ്റ്റ്uവെയർ കോമ്പിനേഷനുകളിൽ ഒന്ന് ഇൻസ്റ്റാളുചെയ്യുന്നതിലേക്ക് നയിക്കും: LAMP (Linux, Apache, MySQL/MariaDB, കൂടാതെ PHP/PhpMyAdmin ) കൂടാതെ ഒരു ആർച്ച് ലിനക്സ് സിസ്റ്റത്തിൽ ഇല്ലാത്ത ചില നല്ല ഫീച്ചറുകൾ (ദ്രുതവും വൃത്തികെട്ടതുമായ ബാഷ് സ്ക്രിപ്റ്റുകൾ) ഇത് നിങ്ങൾക്ക് അവതരിപ്പിക്കും, എന്നാൽ ഒന്നിലധികം വെർച്വൽ ഹോസ്റ്റുകൾ സൃഷ്uടിക്കുന്നതിനുള്ള ജോലി എളുപ്പമാക്കാം. , സുരക്ഷിതമായ HTTS ഇടപാടുകൾക്ക് ആവശ്യമായ SSL സർട്ടിഫിക്കറ്റുകളും കീകളും സൃഷ്ടിക്കുക.

  1. മുമ്പത്തെ ആർച്ച് ലിനക്സ് ഇൻസ്റ്റലേഷൻ പ്രക്രിയ - DHCP ഉപയോഗിച്ച് അവസാന ഭാഗം ഒഴിവാക്കുക.
  2. ആർച്ച് ലിനക്സിൽ മുമ്പത്തെ LEMP ഇൻസ്റ്റാളേഷൻ - സ്റ്റാറ്റിക് IP വിലാസവും റിമോട്ട് SSH ആക്സസ് കോൺഫിഗർ ചെയ്യുന്ന ഭാഗം മാത്രം.

ഘട്ടം 1: അടിസ്ഥാന സോഫ്റ്റ്uവെയർ ലാമ്പ് ഇൻസ്റ്റാൾ ചെയ്യുക

1. സ്റ്റാറ്റിക് ഐപി വിലാസവും റിമോട്ട് സിസ്റ്റം ആക്uസസും ഉപയോഗിച്ച് SSH ഉപയോഗിച്ച് കുറഞ്ഞ സിസ്റ്റം ഇൻസ്റ്റാളേഷന് ശേഷം, pacman യൂട്ടിലിറ്റി ഉപയോഗിച്ച് നിങ്ങളുടെ ആർച്ച് ലിനക്സ് ബോക്സ് അപ്uഗ്രേഡ് ചെയ്യുക.

$ sudo pacman -Syu

2. അപ്uഗ്രേഡ് പ്രക്രിയ പൂർത്തിയാകുമ്പോൾ, കഷണങ്ങളിൽ നിന്ന് LAMP ഇൻസ്റ്റാൾ ചെയ്യുക, ആദ്യം Apache Web Server ഇൻസ്റ്റാൾ ചെയ്ത് എല്ലാ സെർവർ പ്രോസസ്സ് ഡെമണും ആരംഭിക്കുക/പരിശോധിക്കുക.

$ sudo pacman -S apache 
$ sudo systemctl start httpd 
$ sudo systemctl status httpd

3. ഡൈനാമിക് സെർവർ സൈഡ് സ്ക്രിപ്റ്റിംഗ് ഭാഷയും അതിന്റെ അപ്പാച്ചെ മൊഡ്യൂളും PHP ഇൻസ്റ്റാൾ ചെയ്യുക.

$ sudo pacman -S php php-apache

4. അവസാന ഘട്ടത്തിൽ MySQL ഡാറ്റാബേസ് ഇൻസ്റ്റാൾ ചെയ്യുക, 1 (MariaDB) കമ്മ്യൂണിറ്റി ഡാറ്റാബേസ് ഫോർക്ക് തിരഞ്ഞെടുക്കുക, തുടർന്ന് ആരംഭിച്ച് ഡെമൺ സ്റ്റാറ്റസ് പരിശോധിക്കുക.

$ sudo pacman -S mysql 
$ sudo systemctl start mysqld 
$ sudo systemctl status mysqld

ഇപ്പോൾ നിങ്ങൾക്ക് അടിസ്ഥാന LAMP സോഫ്uറ്റ്uവെയർ ഇൻസ്റ്റാൾ ചെയ്uതു, ഇതുവരെയുള്ള ഡിഫോൾട്ട് കോൺഫിഗറേഷനുകളിൽ ആരംഭിച്ചു.

ഘട്ടം 2: MySQL ഡാറ്റാബേസ് സുരക്ഷിതമാക്കുക

5. റൂട്ട് അക്കൗണ്ടിനായി ഒരു പാസ്uവേഡ് സജ്ജീകരിച്ച് MySQL ഡാറ്റാബേസ് സുരക്ഷിതമാക്കുക, അജ്ഞാത ഉപയോക്താക്കളുടെ അക്കൗണ്ടുകൾ നീക്കം ചെയ്യുക, ടെസ്റ്റ് ഡാറ്റാബേസ് നീക്കം ചെയ്യുക, ഉപയോക്തൃ റൂട്ടിനായി റിമോട്ട് ലോഗിൻ അനുവദിക്കാതിരിക്കുക എന്നിവയാണ് അടുത്ത ഘട്ടം ( [Enter അമർത്തുക. റൂട്ട് അക്കൗണ്ട് നിലവിലെ പാസ്uവേഡിനുള്ള >] കീയും എല്ലാ സുരക്ഷാ ചോദ്യങ്ങൾക്കും അതെ എന്ന് ഉത്തരം നൽകുക).

$ sudo mysql_secure_installation

6. ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിച്ച് MySQL ഡാറ്റാബേസ് കണക്റ്റിവിറ്റി പരിശോധിക്കുക, തുടർന്ന് ക്വിറ്റ് അല്ലെങ്കിൽ എക്സിറ്റ് സ്റ്റേറ്റ്മെന്റ് ഉപയോഗിച്ച് ഡാറ്റാബേസ് ഷെൽ വിടുക.

$ mysql -u root -p

ഘട്ടം 3: അപ്പാച്ചെ മെയിൻ കോൺഫിഗറേഷൻ ഫയൽ പരിഷ്ക്കരിക്കുക

7. ഇനിപ്പറയുന്ന കോൺഫിഗറേഷനുകളിൽ ഭൂരിഭാഗവും അപ്പാച്ചെ വെബ് സെർവറുമായി ബന്ധപ്പെട്ടവയാണ്, PHP സ്ക്രിപ്റ്റിംഗ് ഭാഷ, SSL അല്ലെങ്കിൽ നോൺ-എസ്എസ്എൽ വെർച്വൽ ഹോസ്റ്റുകൾ എന്നിവ ഉപയോഗിച്ച് വെർച്വൽ ഹോസ്റ്റിംഗിനായി ഒരു ഡൈനാമിക് ഇന്റർഫേസ് നൽകുന്നതിന് httpd സേവന ഫയൽ കോൺഫിഗറേഷനുകൾ പരിഷ്uക്കരിച്ചുകൊണ്ടാണ് ഇത് ചെയ്യേണ്ടത്.

ആദ്യം നിങ്ങളുടെ പ്രിയപ്പെട്ട ടെക്സ്റ്റ് എഡിറ്റർ ഉപയോഗിച്ച് പ്രധാന അപ്പാച്ചെ ഫയൽ കോൺഫിഗറേഷൻ തുറക്കുക.

$ sudo nano /etc/httpd/conf/httpd.conf

ഫയലിന്റെ ഏറ്റവും താഴെ, ഇനിപ്പറയുന്ന രണ്ട് വരികൾ ചേർക്കുക.

IncludeOptional conf/sites-enabled/*.conf
IncludeOptional conf/mods-enabled/*.conf

ഇവിടെ ഉൾപ്പെടുത്തുക പ്രസ്താവനകളുടെ പങ്ക്, ഇനി മുതൽ, /etc/httpd/conf/sites-enabled/ (വെർച്വൽ ഹോസ്റ്റിംഗിനായി) കൂടാതെ /etc/httpd/conf/mods-enabled/ ( പ്രവർത്തനക്ഷമമാക്കിയ സെർവർ മൊഡ്യൂളുകൾക്ക്) സിസ്റ്റം പാതകൾ അവസാനിക്കുന്നു ഒരു .conf വിപുലീകരണം.

8. ഈ രണ്ട് നിർദ്ദേശങ്ങളുമായി അപ്പാച്ചെ നിർദ്ദേശിച്ച ശേഷം, ഇനിപ്പറയുന്ന കമാൻഡുകൾ നൽകുന്ന ആവശ്യമായ സിസ്റ്റം ഡയറക്ടറികൾ സൃഷ്ടിക്കുക.

$ sudo mkdir /etc/httpd/conf/sites-available
$ sudo mkdir /etc/httpd/conf/sites-enabled
$ sudo mkdir /etc/httpd/conf/mods-enabled

അപ്പാച്ചെയിൽ സജീവമാക്കാത്ത എല്ലാ വെർച്വൽ ഹോസ്റ്റ് കോൺഫിഗറേഷൻ ഫയലുകളും സൈറ്റുകൾ-ലഭ്യം പാത്ത് കൈവശം വയ്ക്കുന്നു, എന്നാൽ അടുത്ത ബാഷ് സ്uക്രിപ്റ്റ് ഈ ഡയറക്uടറി ഉപയോഗിച്ച് അവിടെ സ്ഥിതി ചെയ്യുന്ന വെബ്uസൈറ്റുകൾ ലിങ്ക് ചെയ്യാനും പ്രവർത്തനക്ഷമമാക്കാനും ഉപയോഗിക്കും.

ഘട്ടം 4: a2eniste, a2diste അപ്പാച്ചെ കമാൻഡുകൾ സൃഷ്ടിക്കുക

9. വെർച്വൽ ഹോസ്റ്റ് കോൺഫിഗറേഷൻ ഫയൽ പ്രവർത്തനക്ഷമമാക്കുന്നതിനോ പ്രവർത്തനരഹിതമാക്കുന്നതിനോ ഉള്ള കമാൻഡുകളായി വർത്തിക്കുന്ന അപ്പാച്ചെ സ്ക്രിപ്റ്റുകൾ a2ensite, a2dissite എന്നിവ സൃഷ്ടിക്കാനുള്ള സമയമാണിത്. നിങ്ങളുടെ $HOME ഉപയോക്തൃ പാതയിലേക്ക് മടങ്ങുന്നതിന് cd കമാൻഡ് ടൈപ്പുചെയ്യുക കൂടാതെ നിങ്ങളുടെ ബാഷ് a2eniste, a2dissite സ്ക്രിപ്റ്റുകൾ നിങ്ങളുടെ ഉപയോഗിച്ച് സൃഷ്ടിക്കുക പ്രിയപ്പെട്ട എഡിറ്റർ.

$ sudo nano a2ensite

ഈ ഫയലിൽ ഇനിപ്പറയുന്ന ഉള്ളടക്കം ചേർക്കുക.

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

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

if [ "$#" != "1" ]; then
        echo "Use script: n2ensite 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 avail virtual hosts:\n$site"
exit 0
fi
fi

ഇപ്പോൾ a2dissite ബാഷ് സ്ക്രിപ്റ്റ് ഫയൽ സൃഷ്ടിക്കുക.

$ sudo nano a2dissite

ഇനിപ്പറയുന്ന ഉള്ളടക്കം കൂട്ടിച്ചേർക്കുക.

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

if [ "$#" != "1" ]; then
        echo "Use script: n2dissite 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!\nsudo systemctl restart httpd"
exit 0
fi
fi

10. ഫയലുകൾ സൃഷ്ടിച്ച ശേഷം, എക്സിക്യൂട്ട് പെർമിഷനുകൾ അനുവദിക്കുകയും അവ സിസ്റ്റം വൈഡ് ലഭ്യമാക്കുന്നതിനായി ഒരു PATH എക്സിക്യൂട്ടബിൾ ഡയറക്ടറിയിലേക്ക് പകർത്തുകയും ചെയ്യുക.

$ sudo chmod +x a2ensite a2dissite
$ sudo cp a2ensite a2dissite /usr/local/bin/

ഘട്ടം 5: അപ്പാച്ചെയിൽ വെർച്വൽ ഹോസ്റ്റുകൾ സൃഷ്ടിക്കുക

11. Arch Linux-ലെ Apache വെബ് സെർവറിനായുള്ള വെർച്വൽ ഹോസ്റ്റ് ഡിഫോൾട്ട് കോൺഫിഗറേഷൻ ഫയൽ നൽകുന്നത് /etc/httpd/conf/extra/ പാഥിൽ സ്ഥിതി ചെയ്യുന്ന httpd-vhosts.conf ഫയൽ ആണ്. നിങ്ങൾക്ക് ധാരാളം വെർച്വൽ ഹോസ്റ്റുകൾ ഉപയോഗിക്കുന്ന ഒരു സിസ്റ്റം ഉണ്ടെങ്കിൽ, ഏത് വെബ്uസൈറ്റാണ് ആക്റ്റിവേറ്റ് ചെയ്uതിരിക്കുന്നതെന്നും അല്ലാത്തതെന്നും ട്രാക്ക് ചെയ്യുന്നത് വളരെ ബുദ്ധിമുട്ടാണ്. നിങ്ങൾക്ക് ഒരു വെബ്uസൈറ്റ് അപ്രാപ്uതമാക്കാൻ താൽപ്പര്യമുണ്ടെങ്കിൽ, നിങ്ങൾ അതിന്റെ എല്ലാ നിർദ്ദേശങ്ങളും അഭിപ്രായമിടുകയോ ഇല്ലാതാക്കുകയോ ചെയ്യണം, നിങ്ങളുടെ സിസ്റ്റം ധാരാളം വെബ്uസൈറ്റുകൾ നൽകുകയും നിങ്ങളുടെ വെബ്uസൈറ്റിന് കൂടുതൽ കോൺഫിഗറേഷൻ നിർദ്ദേശങ്ങൾ ഉണ്ടെങ്കിൽ അത് ബുദ്ധിമുട്ടുള്ള ഒരു ദൗത്യമായിരിക്കും.

സൈറ്റുകൾ-ലഭ്യം, സൈറ്റുകൾ-പ്രാപ്തമാക്കൽ പാതകൾ ഉപയോഗിക്കുന്നത്, വെബ്uസൈറ്റുകൾ പ്രാപ്uതമാക്കൽ അല്ലെങ്കിൽ അപ്രാപ്uതമാക്കൽ എന്ന ജോലി വളരെ ലളിതമാക്കുന്നു, കൂടാതെ സംരക്ഷിക്കുന്നു നിങ്ങളുടെ എല്ലാ വെബ്uസൈറ്റുകളുടെയും കോൺഫിഗറേഷൻ ഫയലുകൾ സജീവമാക്കിയിട്ടുണ്ടെങ്കിലും ഇല്ലെങ്കിലും.

അടുത്ത ഘട്ടത്തിൽ, വെബ്uസൈറ്റ് ഫയലുകൾ (/srv/http നൽകുന്നതിനുള്ള സ്ഥിരസ്ഥിതി DocumentRoot പാത ഉപയോഗിച്ച് സ്ഥിരസ്ഥിതി ലോക്കൽഹോസ്റ്റിലേക്ക് പോയിന്റ് ചെയ്യുന്ന ആദ്യത്തെ വെർച്വൽ ഹോസ്റ്റ് ഞങ്ങൾ നിർമ്മിക്കാൻ പോകുന്നു.

$ sudo nano /etc/httpd/conf/sites-available/localhost.conf

ഇനിപ്പറയുന്ന അപ്പാച്ചെ നിർദ്ദേശങ്ങൾ ഇവിടെ ചേർക്കുക.

<VirtualHost *:80>
        DocumentRoot "/srv/http"
        ServerName localhost
        ServerAdmin [email 
        ErrorLog "/var/log/httpd/localhost-error_log"
        TransferLog "/var/log/httpd/localhost-access_log"

<Directory />
    Options +Indexes +FollowSymLinks +ExecCGI
    AllowOverride All
    Order deny,allow
    Allow from all
Require all granted
</Directory>

</VirtualHost>

80 എന്ന പോർട്ടിൽ ഒരു നെറ്റ്uവർക്ക് കണക്ഷൻ തുറക്കാനും ലോക്കൽ ഹോസ്റ്റ് നാമമുള്ള എല്ലാ അന്വേഷണങ്ങളും റീഡയറക്uടുചെയ്യാനും അപ്പാച്ചെയെ നിർദ്ദേശിക്കുന്ന പോർട്ട്, ServerName നിർദ്ദേശങ്ങളാണ് ഇവിടെയുള്ള ഏറ്റവും പ്രധാനപ്പെട്ട പ്രസ്താവനകൾ. /srv/http/ പാതയിൽ സ്ഥിതി ചെയ്യുന്ന ഫയലുകൾ സേവിക്കുക.

12. ലോക്കൽഹോസ്റ്റ് ഫയൽ സൃഷ്ടിച്ച ശേഷം, അത് സജീവമാക്കുക, തുടർന്ന് മാറ്റങ്ങൾ കാണുന്നതിന് httpd ഡെമൺ പുനരാരംഭിക്കുക.

$ sudo a2ensite localhost
$ sudo systemctl restart httpd

13. തുടർന്ന് നിങ്ങളുടെ ബ്രൗസർ നിങ്ങൾ ആർച്ച് സിസ്റ്റത്തിൽ നിന്ന് പ്രവർത്തിപ്പിക്കുകയോ റിമോട്ട് സിസ്റ്റം ഉപയോഗിക്കുകയാണെങ്കിൽ http://localhost എന്നതിലേക്ക് പോയിന്റ് ചെയ്യുക.

ഘട്ടം 6: LAMP-ൽ വെർച്വൽ ഹോസ്റ്റിംഗ് ഉപയോഗിച്ച് SSL പ്രവർത്തനക്ഷമമാക്കുക

SSL (Secure Sockets Layer) എന്നത് നെറ്റ്uവർക്കുകളിലോ ഇൻറർനെറ്റിലോ ഉള്ള HTTP കണക്ഷനുകൾ എൻക്രിപ്റ്റ് ചെയ്യാൻ രൂപകൽപ്പന ചെയ്ത ഒരു പ്രോട്ടോക്കോൾ ആണ്, ഇത് സമമിതി/അസിമട്രിക് ക്രിപ്uറ്റോഗ്രാഫി കീകൾ ഉപയോഗിച്ച് സുരക്ഷിതമായ ചാനലിലൂടെ ഡാറ്റാ ഫ്ലോ സംപ്രേക്ഷണം ചെയ്യുന്നു. കൂടാതെ ആർച്ച് ലിനക്സിൽ OpenSSL പാക്കേജ് നൽകുന്നു.

14. ഡിഫോൾട്ടായി ആർച്ച് ലിനക്സിലെ അപ്പാച്ചെയിൽ എസ്എസ്എൽ മൊഡ്യൂൾ പ്രവർത്തനക്ഷമമാക്കിയിട്ടില്ല, കൂടാതെ പ്രധാന httpd.conf കോൺഫിഗറേഷൻ ഫയലിൽ നിന്നും ഉൾപ്പെടുത്തുക എന്നതിൽ നിന്നും mod_ssl.so മൊഡ്യൂൾ അൺകമന്റ് ചെയ്യുന്നതിലൂടെ ഇത് സജീവമാക്കാം. httpd-ssl.conf ഫയൽ അധിക httpd പാതയിൽ സ്ഥിതിചെയ്യുന്നു.

എന്നാൽ കാര്യങ്ങൾ ലളിതമാക്കാൻ ഞങ്ങൾ mods-Enabled പാതയിൽ SSL-നായി ഒരു പുതിയ മൊഡ്യൂൾ ഫയൽ സൃഷ്uടിക്കുകയും പ്രധാന അപ്പാച്ചെ കോൺഫിഗറേഷൻ ഫയൽ സ്പർശിക്കാതെ വിടുകയും ചെയ്യും. SSL മൊഡ്യൂളിനായി ഇനിപ്പറയുന്ന ഫയൽ സൃഷ്uടിച്ച് ചുവടെയുള്ള ഉള്ളടക്കം ചേർക്കുക.

$ sudo nano /etc/httpd/conf/mods-enabled/ssl.conf

ഇനിപ്പറയുന്ന ഉള്ളടക്കം കൂട്ടിച്ചേർക്കുക.

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so

Listen 443

SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLPassPhraseDialog  builtin
SSLSessionCache        "shmcb:/run/httpd/ssl_scache(512000)"
SSLSessionCacheTimeout  300

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

$ sudo nano /etc/httpd/conf/sites-available/localhost-ssl.conf

ഈ ഫയലിൽ ഇനിപ്പറയുന്ന ഉള്ളടക്കം ചേർക്കുക.

<VirtualHost *:443>
        DocumentRoot "/srv/http"
        ServerName localhost
        ServerAdmin [email 
        ErrorLog "/var/log/httpd/localhost-ssl-error_log"
        TransferLog "/var/log/httpd/localhost-ssl-access_log"

SSLEngine on

SSLCertificateFile "/etc/httpd/conf/ssl/localhost.crt"
SSLCertificateKeyFile "/etc/httpd/conf/ssl/localhost.key"

<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>

<Directory "/srv/http/cgi-bin">
    SSLOptions +StdEnvVars
</Directory>

BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0

CustomLog "/var/log/httpd/ssl_request_log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

<Directory />

    Options +Indexes +FollowSymLinks +ExecCGI
    AllowOverride All
    Order deny,allow
    Allow from all
Require all granted
</Directory>

</VirtualHost>

പോർട്ട്, ServerName നിർദ്ദേശങ്ങൾ കൂടാതെ, SSL സർട്ടിഫിക്കറ്റ് ഫയലിലേക്കും SSL കീ ഫയലിലേക്കും ചൂണ്ടിക്കാണിക്കുന്ന മറ്റ് പ്രധാന നിർദ്ദേശങ്ങൾ ഇവിടെയുണ്ട്. ഇതുവരെ സൃഷ്ടിച്ചിട്ടില്ല, അതിനാൽ അപ്പാച്ചെ വെബ് സെർവർ പുനരാരംഭിക്കരുത് അല്ലെങ്കിൽ നിങ്ങൾക്ക് ചില പിശകുകൾ ലഭിക്കും.

16. ആവശ്യമായ SSL സർട്ടിഫിക്കറ്റ് ഫയലും കീകളും സൃഷ്ടിക്കുന്നതിന് താഴെയുള്ള കമാൻഡ് നൽകുന്ന OpenSSL പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുക.

$ sudo pacman -S openssl

17. തുടർന്ന് ഇനിപ്പറയുന്ന Bash സ്uക്രിപ്റ്റ് സൃഷ്uടിക്കുക, അത് നിങ്ങളുടെ എല്ലാ അപ്പാച്ചെ സർട്ടിഫിക്കറ്റുകളും കീകളും /etc/httpd/conf-ൽ സ്വയമേവ സൃഷ്uടിക്കുകയും സംഭരിക്കുകയും ചെയ്യുന്നു. /ssl/സിസ്റ്റം പാത്ത്.

$ sudo nano apache_gen_ssl

ഇനിപ്പറയുന്ന ഫയൽ ഉള്ളടക്കം ചേർത്ത് അത് സംരക്ഷിച്ച് എക്സിക്യൂട്ടബിൾ ആക്കുക.

#!/bin/bash
mkdir /etc/httpd/conf/ssl
cd /etc/httpd/conf/ssl

echo -e "Enter your virtual host FQDN: \nThis will generate the default name for Nginx  SSL certificate!"
read cert

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out $cert.key
chmod 600 $cert.key
openssl req -new -key $cert.key -out $cert.csr
openssl x509 -req -days 365 -in $cert.csr -signkey $cert.key -out $cert.crt

echo -e " The certificate "$cert" has been generated!\nPlease link it to Apache SSL available website!"

ls -all /etc/httpd/conf/ssl
exit 0
$ sudo chmod +x apache_gen_ssl

സ്uക്രിപ്റ്റ് സിസ്റ്റം വൈഡ് ആയി ലഭിക്കണമെങ്കിൽ അത് എക്uസിക്യൂട്ടബിൾ PATH ലേക്ക് പകർത്തുക.

$ sudo cp /apache_gen_ssl  /usr/local/bin/

18. ഇപ്പോൾ സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിച്ച് നിങ്ങളുടെ സർട്ടിഫിക്കറ്റും കീകളും ജനറേറ്റ് ചെയ്യുക. നിങ്ങളുടെ SSL ഓപ്ഷനുകൾ നൽകുക, നിങ്ങളുടെ ഔദ്യോഗിക ഡൊമെയ്uനുമായി (FQDN) പൊരുത്തപ്പെടുന്നതിന് സർട്ടിഫിക്കറ്റ് നാമവും പൊതു നാമവും മറക്കരുത്.

$ sudo ./apache_gen_ssl

സർട്ടിഫിക്കറ്റും കീകളും സൃഷ്ടിച്ച ശേഷം, ഈ സർട്ടിഫിക്കറ്റിന്റെ പേരുമായി പൊരുത്തപ്പെടുന്നതിന് നിങ്ങളുടെ SSL വെർച്വൽ ഹോസ്റ്റ് സർട്ടിഫിക്കറ്റും കീ കോൺഫിഗറേഷനുകളും പരിഷ്uക്കരിക്കാൻ മറക്കരുത്.

19. പുതിയതായി SSL വെർച്വൽ ഹോസ്റ്റ് സജീവമാക്കുകയും കോൺഫിഗറേഷനുകൾ പ്രയോഗിക്കുന്നതിന് നിങ്ങളുടെ സെർവർ പുനരാരംഭിക്കുകയും ചെയ്യുക എന്നതാണ് അവസാന ഘട്ടം.

$ sudo a2ensite localhost-ssl
$ sudo systemctl restart httpd

അത്രയേയുള്ളൂ! അത് പരിശോധിച്ചുറപ്പിക്കാൻ ബ്രൗസർ തുറന്ന് URL-ൽ HTTPS പ്രോട്ടോക്കോൾ ഉപയോഗിച്ച് ആർച്ച് IP ചേർക്കുക: https://localhost അല്ലെങ്കിൽ https://system_IP.

ഘട്ടം 7: അപ്പാച്ചെയിൽ PHP പ്രവർത്തനക്ഷമമാക്കുക

20. ഡിഫോൾട്ടായി, ഡൈനാമിക് സ്ക്രിപ്റ്റിംഗ് ഭാഷകളുടെ പിന്തുണയില്ലാതെ ആർച്ച് ലിനക്സിൽ HTML സ്റ്റാറ്റിക് ഫയലുകളുടെ ഉള്ളടക്കം മാത്രമേ അപ്പാച്ചെ നൽകൂ. PHP സജീവമാക്കുന്നതിന് ആദ്യം Apache പ്രധാന കോൺഫിഗറേഷൻ ഫയൽ തുറക്കുക, തുടർന്ന് ഇനിപ്പറയുന്ന LoadModule സ്റ്റേറ്റ്മെന്റ് തിരയുകയും അഭിപ്രായമിടാതിരിക്കുകയും ചെയ്യുക (php-apache Arch Linux-ൽ mod_mpm_event-ൽ പ്രവർത്തിക്കില്ല. ).

$ sudo nano /etc/httpd/conf/httpd.conf

[Ctrl]+[w] ഉപയോഗിച്ച് ഇതുപോലെ കാണുന്നതിന് ഇനിപ്പറയുന്ന വരി തിരയുക.

#LoadModule mpm_event_module modules/mod_mpm_event.so

21. തുടർന്ന് ഇനിപ്പറയുന്ന ഉള്ളടക്കം ഉപയോഗിച്ച് mods-enabled പാതയിൽ PHP മൊഡ്യൂളിനായി ഒരു പുതിയ ഫയൽ സൃഷ്ടിക്കുക.

$ sudo nano /etc/httpd/conf/mods-enabled/php.conf

കൃത്യമായി ഇനിപ്പറയുന്ന ഉള്ളടക്കം ചേർക്കുക (നിങ്ങൾ mod_mpm_prefork ഉപയോഗിക്കണം).

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
LoadModule php5_module modules/libphp5.so

Include conf/extra/php5_module.conf

22. ക്രമീകരണം സ്ഥിരീകരിക്കുന്നതിന്, നിങ്ങളുടെ DocumnetRoot (/srv/http/) ൽ info.php എന്ന പേരിൽ ഒരു PHP ഫയൽ സൃഷ്uടിക്കുക, തുടർന്ന് Apache പുനരാരംഭിച്ച് നിങ്ങളുടെ ബ്രൗസർ വിവരത്തിലേക്ക് പോയിന്റ് ചെയ്യുക .php ഫയൽ: https://localhost/info.php.

<?php

phpinfo();

?>
$ sudo systemctl restart httpd

അത്രയേയുള്ളൂ! എല്ലാം മുകളിലെ ചിത്രം പോലെയാണെങ്കിൽ, നിങ്ങൾക്ക് ഇപ്പോൾ അപ്പാച്ചെയിൽ PHP ഡൈനാമിക് സെർവർ-സൈഡ് സ്uക്രിപ്റ്റിംഗ് ഭാഷ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ട്, കൂടാതെ നിങ്ങൾക്ക് ഇപ്പോൾ WordPress പോലുള്ള ഓപ്പൺ സോഴ്uസ് CMS ഉപയോഗിച്ച് വെബ്uസൈറ്റുകൾ വികസിപ്പിക്കാം.

നിങ്ങൾക്ക് Apache സിന്റാക്സ് കോൺഫിഗറേഷനുകൾ പരിശോധിക്കണമെങ്കിൽ httpd ഡെമൺ പുനരാരംഭിക്കാതെ ലോഡ് ചെയ്ത മൊഡ്യൂളുകളുടെ ഒരു ലിസ്റ്റ് കാണണമെങ്കിൽ താഴെ പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക.

$ sudo apachectl configtest
$ sudo apachectl -M

ഘട്ടം 8: PhpMyAdmin ഇൻസ്റ്റാൾ ചെയ്യുകയും കോൺഫിഗർ ചെയ്യുകയും ചെയ്യുക

23. നിങ്ങൾ MySQL കമാൻഡ് ലൈൻ കൈകാര്യം ചെയ്യുന്നില്ലെങ്കിൽ വെബ് ഇന്റർഫേസിലൂടെ നൽകുന്ന MySQL ഡാറ്റാബേസിലേക്ക് ഒരു ലളിതമായ വിദൂര ആക്സസ് വേണമെങ്കിൽ, നിങ്ങളുടെ ആർച്ച് ബോക്സിൽ PhpMyAdmin പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്.

$ sudo pacman -S phpmyadmin php-mcrypt

24. പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്തതിന് ശേഷം നിങ്ങൾ ചില PHP എക്സ്റ്റൻഷനുകൾ പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട് (mysqli.so, mcrypt.so - ആന്തരിക പ്രാമാണീകരണത്തിനായി) കൂടാതെ, നിങ്ങൾക്ക് മറ്റുള്ളവയും പ്രവർത്തനക്ഷമമാക്കാം. ഭാവിയിലെ CMS പ്ലാറ്റ്uഫോമുകൾക്ക് ആവശ്യമായ openssl.so, imap.so അല്ലെങ്കിൽ iconv.so മുതലായ മൊഡ്യൂളുകൾ.

$ sudo nano /etc/php/php.ini

മുകളിലുള്ള വിപുലീകരണങ്ങൾ കണ്ടെത്തി അഭിപ്രായമിടുക.

extension=mcrypt.so
extension=mssql.so
extension=mysqli.so
extension=openssl.so
extension=iconv.so
extension=imap.so
extension=zip.so
extension=bz2.so

കൂടാതെ, അതേ ഫയലിൽ, open_basedir സ്റ്റേറ്റ്മെന്റ് തിരഞ്ഞ് കണ്ടെത്തുകയും PhpMyAdmin സിസ്റ്റം പാത്ത് ചേർക്കുകയും (/etc/webapps/ ഒപ്പം /usr/share/webapps/ >) ആ ഡയറക്uടറികൾക്ക് കീഴിലുള്ള ഫയലുകൾ ആക്uസസ് ചെയ്യാനും വായിക്കാനും PHP-ന് കഴിയുമെന്ന് ഉറപ്പാക്കാൻ (നിങ്ങളും, /srv/http/ എന്നതിൽ നിന്ന് മറ്റൊരു ലൊക്കേഷനിലേക്ക് Virtual Hosts DocumentRoot പാത്ത് മാറ്റുകയാണെങ്കിൽ, നിങ്ങൾ പുതിയ പാത ഇവിടെയും ചേർക്കേണ്ടതുണ്ട്. ).

25. PhpMyAdmin വെബ് ഇന്റർഫേസ് ആക്സസ് ചെയ്യുന്നതിന് നിങ്ങൾ അവസാനമായി ചെയ്യേണ്ടത് വിർച്ച്വൽ ഹോസ്റ്റുകളിൽ PhpMyAdmin അപ്പാച്ചെ പ്രസ്താവനകൾ ചേർക്കുക എന്നതാണ്. ഒരു സുരക്ഷാ നടപടിയെന്ന നിലയിൽ, PhpMyAdmin വെബ് ഇന്റർഫേസ് HTTPS പ്രോട്ടോക്കോൾ ഉപയോഗിച്ച് ലോക്കൽ ഹോസ്റ്റിൽ നിന്ന് (അല്ലെങ്കിൽ സിസ്റ്റം IP വിലാസം) മാത്രമേ ആക്സസ് ചെയ്യാൻ കഴിയൂ, മറ്റ് വ്യത്യസ്ത വെർച്വൽ ഹോസ്റ്റുകളിൽ നിന്നല്ല. അതിനാൽ, നിങ്ങളുടെ localhost-ssl.conf Apache ഫയൽ തുറന്ന് ചുവടെ, അവസാന പ്രസ്താവനയ്ക്ക് മുമ്പ് ഇനിപ്പറയുന്ന ഉള്ളടക്കം ചേർക്കുക.

$ sudo nano /etc/httpd/conf/sites-enabled/localhost-ssl.conf
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"

<Directory "/usr/share/webapps/phpMyAdmin">
    DirectoryIndex index.html index.php
    AllowOverride All
    Options FollowSymlinks
    Require all granted
</Directory>

26. അതിനുശേഷം അപ്പാച്ചെ ഡെമൺ പുനരാരംഭിച്ച് നിങ്ങളുടെ ബ്രൗസർ ഇനിപ്പറയുന്ന വിലാസത്തിലേക്ക് പോയിന്റ് ചെയ്യുക, നിങ്ങൾക്ക് നിങ്ങളുടെ PhpMyAdmin വെബ് ഇന്റർഫേസ് ആക്സസ് ചെയ്യാൻ കഴിയും: https://localhost/phpmyadmin അല്ലെങ്കിൽ https://system_IP/ phpmyadmin.

27. നിങ്ങൾ PhpMyAdmin-ലേക്ക് ലോഗിൻ ചെയ്uതതിന് ശേഷം, ഒരു blowfish_secret സംബന്ധിച്ച് താഴെയുള്ള പിശക് കാണുകയാണെങ്കിൽ, /etc/webapps/phpmyadmin/config.inc.php ഫയൽ തുറന്ന് എഡിറ്റ് ചെയ്യുക. ഇനിപ്പറയുന്ന പ്രസ്താവനയിൽ ഉള്ളതുപോലെ ഒരു ക്രമരഹിത സ്ട്രിംഗ് ചേർക്കുക, തുടർന്ന് പേജ് പുതുക്കുക.

$cfg['blowfish_secret'] = ‘{^QP+-(3mlHy+Gd~FE3mN{gIATs^1lX+T=KVYv{ubK*U0V’ ;

ഘട്ടം 9: LAMP സിസ്റ്റം വൈഡ് പ്രവർത്തനക്ഷമമാക്കുക

28. സിസ്റ്റം റീബൂട്ടിന് ശേഷം LAMP സ്റ്റാക്ക് സ്വയമേവ ആരംഭിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക.

$ sudo systemctl enable httpd mysqld

ഒരു ആർച്ച് ലിനക്uസ് സിസ്റ്റത്തെ ലളിതവും എന്നാൽ ശക്തവും വേഗതയേറിയതും കരുത്തുറ്റതുമായ വെബ് പ്ലാറ്റ്uഫോമാക്കി മാറ്റാൻ ആവശ്യമായ LAMP-ലെ ചില പ്രധാന കോൺഫിഗറേഷൻ ക്രമീകരണങ്ങളാണ് ചെറിയ അല്ലാത്തവർക്കായി അത്യാധുനിക സെർവർ സോഫ്റ്റ്uവെയർ ഉള്ളത്. ഗുരുതരമായ പരിതസ്ഥിതികൾ, പക്ഷേ നിങ്ങൾ ശാഠ്യം പിടിക്കുകയും വലിയ ഉൽപ്പാദന പരിതസ്ഥിതിയിൽ അത് ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുകയും ചെയ്യുന്നുവെങ്കിൽ, നിങ്ങൾ ക്ഷമയോടെ കാത്തിരിക്കുകയും പാക്കേജുകളുടെ അപ്uഡേറ്റുകളിൽ കൂടുതൽ ശ്രദ്ധ ചെലുത്തുകയും സിസ്റ്റം ബാക്കപ്പ് ചിത്രങ്ങൾ നിർമ്മിക്കുകയും വേണം. സിസ്റ്റം പരാജയങ്ങൾ.