OpenSUSE-ൽ LEMP - Nginx, PHP, MariaDB, PhpMyAdmin എന്നിവ ഇൻസ്റ്റാൾ ചെയ്യുക


LEMP അല്ലെങ്കിൽ Linux, Engine-x, MySQL, PHP സ്റ്റാക്ക് എന്നിവ Nginx HTTP സെർവറും MySQL/MariaDB ഡാറ്റാബേസ് മാനേജുമെന്റ് സിസ്റ്റവും നൽകുന്ന PHP അടിസ്ഥാനമാക്കിയുള്ള വെബ് ആപ്ലിക്കേഷനുകൾ പ്രവർത്തിപ്പിക്കുന്നതിനായി Linux ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള ഓപ്പൺ സോഴ്uസ് സോഫ്uറ്റ്uവെയറുകൾ ഉൾക്കൊള്ളുന്ന ഒരു സോഫ്റ്റ്uവെയർ ബണ്ടിൽ ആണ്.

OpenSuse സെർവർ/ഡെസ്uക്uടോപ്പ് പതിപ്പുകളിൽ Nginx, MariaDB, PHP, PHP-FPM, PhpMyAdmin എന്നിവയ്uക്കൊപ്പം ഒരു LEMP സ്റ്റാക്ക് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം എന്നതിനെക്കുറിച്ച് ഈ ട്യൂട്ടോറിയൽ നിങ്ങളെ നയിക്കും.

Nginx HTTP സെർവർ ഇൻസ്റ്റാൾ ചെയ്യുന്നു

Nginx എന്നത് വേഗതയേറിയതും വിശ്വസനീയവുമായ HTTP, പ്രോക്സി സെർവറാണ്, അതിന് HTTP അഭ്യർത്ഥനകളുടെ ഉയർന്ന ലോഡ് കൈകാര്യം ചെയ്യാൻ കഴിയും. അഭ്യർത്ഥനകൾ കൈകാര്യം ചെയ്യുന്നതിനായി ഇത് ഒരു അസമന്വിത ഇവന്റ്-ഡ്രിവൺ സമീപനം ഉപയോഗിക്കുന്നു, കൂടാതെ അതിന്റെ മോഡുലാർ ഇവന്റ്-ഡ്രൈവ് ആർക്കിടെക്ചറിന് ഉയർന്ന ലോഡുകളിൽ കൂടുതൽ പ്രവചിക്കാവുന്ന പ്രകടനം നൽകാൻ കഴിയും.

OpenSuse-ൽ Nginx ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന്, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ sudo zypper install nginx

Nginx ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, നിങ്ങൾക്ക് ഇപ്പോൾ സേവനം ആരംഭിക്കാം, തുടർന്ന് ബൂട്ട് സമയത്ത് യാന്ത്രികമായി ആരംഭിക്കാൻ ഇത് പ്രാപ്തമാക്കുകയും ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിച്ച് Nginx-ന്റെ നില പരിശോധിക്കുകയും ചെയ്യുക.

$ sudo systemctl start nginx
$ sudo systemctl enable nginx
$ sudo systemctl status nginx

ഈ ഘട്ടത്തിൽ, Nginx വെബ് സെർവർ പ്രവർത്തനക്ഷമമായിരിക്കണം, കാണിച്ചിരിക്കുന്നതുപോലെ netstat കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് സ്റ്റാറ്റസ് പരിശോധിക്കാനും കഴിയും.

$ sudo netstat -tlpn | grep nginx

ഇപ്പോൾ, Nginx ഇൻസ്റ്റാളേഷൻ നന്നായി പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് പരിശോധിക്കേണ്ടതുണ്ട്. മറ്റ് ലിനക്സ് വിതരണങ്ങളിൽ നിന്ന് വ്യത്യസ്തമായി, openSUSE-ന് കീഴിൽ, വെബ് റൂട്ട് ഫോൾഡറിൽ Nginx-ന് ഒരു സാധാരണ index.html പ്രമാണമില്ല. കാണിക്കുന്നതുപോലെ റൂട്ട് വെബ് ഡയറക്uടറി \/srv/www/htdocs\ എന്നതിന് കീഴിൽ ഞങ്ങൾ ഒരു പുതിയ index.html ഫയൽ സൃഷ്uടിക്കേണ്ടതുണ്ട്.

$ echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html

നിങ്ങൾ ഫയർവാൾഡ് ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെങ്കിൽ, ഫയർവാളിൽ വെബ് ട്രാഫിക് അനുവദിക്കുന്നതിന് നിങ്ങൾ പോർട്ട് 80, 443 എന്നിവ തുറക്കേണ്ടതുണ്ട്.

$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=443/tcp
$ sudo firewall-cmd --reload

അടുത്തതായി, ഒരു വെബ് ബ്രൗസർ തുറന്ന് http://localhost എന്ന വിലാസത്തിലേക്ക് നാവിഗേറ്റ് ചെയ്ത് Nginx പേജ് പരിശോധിക്കുക.

MariaDB ഡാറ്റാബേസ് സെർവർ ഇൻസ്റ്റാൾ ചെയ്യുന്നു

MySQL റിലേഷണൽ ഡാറ്റാബേസ് മാനേജ്uമെന്റ് സിസ്റ്റത്തിന്റെ സ്വതന്ത്രവും ഓപ്പൺ സോഴ്uസ് ഫോർക്കും ആണ് MariaDB. ഇത് MySQL-ന്റെ യഥാർത്ഥ ഡെവലപ്പർമാർ വികസിപ്പിച്ചതാണ് കൂടാതെ ഓപ്പൺ സോഴ്uസ് ആയി തുടരാൻ ഉദ്ദേശിച്ചുള്ളതാണ്. മരിയാഡിബി വേഗതയേറിയതും അളക്കാവുന്നതും കരുത്തുറ്റതുമാണ്, സ്റ്റോറേജ് എഞ്ചിനുകൾ, പ്ലഗിനുകൾ, മറ്റ് നിരവധി ടൂളുകൾ എന്നിവയുടെ സമ്പന്നമായ ഇക്കോസിസ്റ്റം ഉപയോഗിച്ച്, വൈവിധ്യമാർന്ന ഉപയോഗ കേസുകൾക്കായി ഇത് വളരെ വൈവിധ്യപൂർണ്ണമാക്കുന്നു.

OpenSuse-ൽ MariaDB ഇൻസ്റ്റാൾ ചെയ്യാൻ, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ sudo zypper install mariadb mariadb-client 

അടുത്തതായി, ഇപ്പോൾ MariaDB സേവനം ആരംഭിക്കുക, തുടർന്ന് ബൂട്ട് സമയത്ത് സ്വയമേവ ആരംഭിക്കാൻ അത് പ്രവർത്തനക്ഷമമാക്കി അതിന്റെ നില പരിശോധിക്കുക.

$ sudo systemctl start mariadb 
$ sudo systemctl enable mariadb 
$ sudo systemctl status mariadb 

ഈ വിഭാഗത്തിന് കീഴിലുള്ള അടുത്ത നിർണായക ഘട്ടം MariaDB സെർവർ ഇൻസ്റ്റാളേഷൻ സുരക്ഷിതമാക്കുക എന്നതാണ്. അതിനാൽ, കാണിച്ചിരിക്കുന്നതുപോലെ, MariaDB പാക്കേജിനൊപ്പം അയയ്ക്കുന്ന സുരക്ഷാ സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കുക.

കുറിപ്പ്: മരിയാഡിബി സെക്യൂരിറ്റി സ്ക്രിപ്റ്റും അതിന്റെ എല്ലാ ഭാഗങ്ങളും പ്രവർത്തിപ്പിക്കുന്നത് എല്ലാ മരിയാഡിബി സെർവറുകൾക്കും വളരെ ശുപാർശ ചെയ്യുന്നു.

$ sudo mysql_secure_installation 

സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിച്ച ശേഷം, ഓരോ ഘട്ടത്തിലും വിവരണം ശ്രദ്ധാപൂർവ്വം വായിക്കുക. നിങ്ങൾ ഒരു റൂട്ട് യൂസർ പാസ്uവേഡ് സജ്ജീകരിക്കണം, അജ്ഞാത ഉപയോക്താക്കളെ നീക്കം ചെയ്യണം, റിമോട്ട് റൂട്ട് ആക്uസസ് അപ്രാപ്uതമാക്കണം, ടെസ്റ്റ് ഡാറ്റാബേസും അതിലേക്കുള്ള ആക്uസസ്സും നീക്കം ചെയ്uത് അവസാനം പ്രത്യേകാവകാശ പട്ടിക വീണ്ടും ലോഡുചെയ്യുക.

PHP, PHP-FPM എന്നിവ ഇൻസ്റ്റാൾ ചെയ്യുകയും കോൺഫിഗർ ചെയ്യുകയും ചെയ്യുന്നു

PHP-FPM (PHP FastCGI പ്രോസസ് മാനേജർ എന്നതിന്റെ ചുരുക്കം) PHP-യ്uക്കുള്ള ഒരു ബദൽ FastCGI ഡെമൺ ആണ്, കൂടാതെ ചില അധിക സവിശേഷതകളും ഉയർന്ന ലോഡുകൾ കൈകാര്യം ചെയ്യാൻ രൂപകൽപ്പന ചെയ്തതുമാണ്. ഇത് പൂളുകൾ (പിഎച്ച്പി അഭ്യർത്ഥനകളോട് പ്രതികരിക്കാൻ കഴിയുന്ന തൊഴിലാളികൾ) പരിപാലിക്കുന്നു. പ്രധാനമായി, മൾട്ടി-യൂസർ PHP പരിതസ്ഥിതികൾക്കായി SUPHP പോലുള്ള പരമ്പരാഗത CGI-അടിസ്ഥാന രീതികളേക്കാൾ ഇത് വേഗതയുള്ളതാണ്.

ആവശ്യമായ മൊഡ്യൂളുകൾക്കൊപ്പം PHP, PHP-FPM എന്നിവ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ sudo zypper install php php-mysql php-fpm php-gd php-mbstring

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

$ sudo cp /etc/php7/fpm/php-fpm.conf.default  /etc/php7/fpm/php-fpm.conf 
$ sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

തുടർന്ന് എഡിറ്റിംഗിനായി പ്രധാന php-fpm.conf കോൺഫിഗറേഷൻ ഫയൽ തുറക്കുക.

$ sudo vim /etc/php7/fpm/php-fpm.conf 

കാണിച്ചിരിക്കുന്നതുപോലെ വരി നമ്പർ 24-ൽ ഇനിപ്പറയുന്ന വരി അൺകമന്റ് ചെയ്യുക.

error_log = log/php-fpm.log

ഫയൽ സംരക്ഷിച്ച് അടയ്ക്കുക.

അടുത്തതായി, www.conf കോൺഫിഗറേഷൻ ഫയലിൽ കോൺഫിഗർ ചെയ്ത പൂളുകൾക്കായുള്ള ശരിയായ ക്രമീകരണങ്ങൾ നമുക്ക് നിർവ്വചിക്കേണ്ടതുണ്ട്.

$ sudo vim /etc/php7/fpm/php-fpm.d/www.conf

ആദ്യം, Unix ഉടമയെയും പ്രക്രിയകളുടെ ഗ്രൂപ്പ് ഉടമയെയും Nginx ഉപയോക്താവിലേക്കും ഗ്രൂപ്പിലേക്കും കോൺഫിഗർ ചെയ്യുക. ഉപയോക്താവിന്റെയും ഗ്രൂപ്പ് പാരാമീറ്ററുകളുടെയും മൂല്യങ്ങൾ ആരും എന്നതിൽ നിന്ന് nginx എന്നതിലേക്ക് മാറ്റിക്കൊണ്ട് ഇത് ചെയ്യുക.

user = nginx
group = nginx

ഇപ്പോൾ ഫയലിൽ മാറ്റങ്ങൾ സംരക്ഷിച്ച് അതിൽ നിന്ന് പുറത്തുകടക്കുക.

കൂടാതെ, നിർവഹിക്കാൻ മറ്റൊരു പ്രധാന കോൺഫിഗറേഷൻ കൂടിയുണ്ട്, അത് /etc/php/cli/php.ini ഫയലിൽ PHP-FPM സുരക്ഷിതമാക്കുന്നു.

$ sudo vim /etc/php7/cli/php.ini

;cgi.fix_pathinfo=1 എന്ന വരി തിരയുക, അതിലേക്ക് മാറ്റുക.

cgi.fix_pathinfo=0

ഫയലിൽ മാറ്റങ്ങൾ സംരക്ഷിച്ച് പുറത്തുകടക്കുക.

അടുത്തതായി, ഇപ്പോൾ PHP-FPM സേവനം ആരംഭിക്കുക, തുടർന്ന് ബൂട്ട് സമയത്ത് സ്വയമേവ ആരംഭിക്കുന്നതിന് അത് പ്രവർത്തനക്ഷമമാക്കുകയും അതിന്റെ നില പരിശോധിക്കുക.

$ sudo systemctl start php-fpm
$ sudo systemctl enable php-fpm
$ sudo systemctl status php-fpm

PHP-FPM-നൊപ്പം പ്രവർത്തിക്കാൻ Nginx കോൺഫിഗർ ചെയ്യുന്നു

ഈ ഘട്ടത്തിൽ, സ്ഥിരസ്ഥിതി Nginx കോൺഫിഗറേഷൻ ഫയലിൽ PHP-FPM-മായി പ്രവർത്തിക്കാൻ ഞങ്ങൾ Nginx കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്.

$ sudo vim /etc/nginx/nginx.conf

തുടർന്ന് ഇനിപ്പറയുന്ന വിഭാഗത്തിനായി നോക്കുക, പ്രതീക്ഷിക്കുന്ന സൂചിക ഫയലുകളുടെ പട്ടികയിൽ index.php ചേർക്കുക.

location / { 
           root   /srv/www/htdocs/; 
           index  index.php index.html index.htm ; 
       }

ഇനിപ്പറയുന്ന വിഭാഗവും കണ്ടെത്തി (അത് കമന്റ് ചെയ്യേണ്ടത്) കൂടാതെ അഭിപ്രായമിടാതിരിക്കുക. 127.0.0.1:9000-ൽ കേൾക്കുന്ന FastCGI സെർവറിലേക്ക് PHP സ്ക്രിപ്റ്റുകൾ കൈമാറാൻ ഈ വിഭാഗം ഉപയോഗിക്കുന്നു.

location ~ \.php$ { 
       root           /srv/www/htdocs/; 
       fastcgi_pass   127.0.0.1:9000; 
       fastcgi_index  index.php; 
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
       include        fastcgi_params; 
       }

ഫയലിൽ മാറ്റങ്ങൾ സംരക്ഷിച്ച് പുറത്തുകടക്കുക.

Nginx, PHP-FPM എന്നിവ പരിശോധിക്കുന്നു

കാണിച്ചിരിക്കുന്നതുപോലെ DocumentRoot ഡയറക്uടറിക്ക് കീഴിൽ ഒരു പുതിയ PHP ടെസ്റ്റ് ഫയൽ സൃഷ്uടിച്ച് PHP-FPM-മായി സംയോജിച്ച് Nginx നന്നായി പ്രവർത്തിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കുന്നതാണ് അടുത്ത ഘട്ടം.

$ echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php

ഞങ്ങൾ സേവനം പുനരാരംഭിക്കുന്നതിന് മുമ്പ്, ഇനിപ്പറയുന്ന രീതിയിൽ Nginx കോൺഫിഗറേഷൻ ശരിയാണോ എന്ന് പരിശോധിക്കേണ്ടതുണ്ട്.

$ sudo nginx -t

Nginx കോൺഫിഗറേഷൻ വാക്യഘടന ശരിയാണെങ്കിൽ, സമീപകാല മാറ്റങ്ങൾ പ്രാബല്യത്തിൽ വരുന്നതിനായി മുന്നോട്ട് പോയി Nginx, PHP-FPM സേവനങ്ങൾ പുനരാരംഭിക്കുക.

$ sudo systemctl restart nginx php-fpm

ഇപ്പോൾ ഒരു വെബ് ബ്രൗസർ തുറന്ന് ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ PHP കോൺഫിഗറേഷൻ പരിശോധിക്കാൻ http://localhost/info.php എന്ന വിലാസത്തിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക.

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

phpMyAdmin എന്നത് വെബിൽ MySQL സെർവർ കൈകാര്യം ചെയ്യുന്നതിനായി നിർമ്മിച്ച PHP-യിൽ എഴുതപ്പെട്ടതും ഉപയോഗിക്കാൻ എളുപ്പമുള്ളതും ലളിതവും ജനപ്രിയവുമായ ഒരു ടൂളാണ്. ഇത് MySQL, MariaDB എന്നിവയിൽ വിപുലമായ പ്രവർത്തനങ്ങൾ നടത്തുന്നു.

OpenSuse-ൽ phpMyAdmin ഇൻസ്റ്റാൾ ചെയ്യാൻ, ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക.

$ sudo zypper install phpMyAdmin

ഇൻസ്റ്റാളേഷൻ പൂർത്തിയായിക്കഴിഞ്ഞാൽ, കാണിച്ചിരിക്കുന്നതുപോലെ phpMyAdmin ആക്സസ് ചെയ്യുന്നതിനായി ഒരു പുതിയ vhost കോൺഫിഗറേഷൻ ഫയൽ സൃഷ്ടിക്കുക.

$ sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf

ഇനിപ്പറയുന്ന കോൺഫിഗറേഷനുകൾ ഫയലിലേക്ക് ചേർക്കുക.

server { 
   listen 80; 

   server_name localhost/phpMyAdmin; 

  root /srv/www/htdocs/phpMyAdmin; 

   location / { 
       try_files $uri /index.php?$args; 
   } 

   location ~ \.php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       include fastcgi_params; 
   } 
} 

മാറ്റങ്ങൾ സംരക്ഷിച്ച് ഫയൽ അടയ്ക്കുക. തുടർന്ന് ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് Nginx സേവനം പുനരാരംഭിക്കുക.

$ sudo systemctl restart nginx

ഇപ്പോൾ നിങ്ങളുടെ വെബ് ബ്രൗസറിൽ പോയി http://localhost/phpMyAdmin എന്ന വിലാസം ടൈപ്പ് ചെയ്യുക. ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു phpMyAdmin ലോഗിൻ പേജ് പ്രദർശിപ്പിക്കണം. നിങ്ങളുടെ ഡാറ്റാബേസ് റൂട്ട് യൂസർ ലോഗിൻ ക്രെഡൻഷ്യലുകൾ നൽകി Go ക്ലിക്ക് ചെയ്യുക.

അത്രയേയുള്ളൂ! ഈ ട്യൂട്ടോറിയലിൽ, OpenSuse സെർവർ/ഡെസ്uക്uടോപ്പ് പതിപ്പുകളിൽ Nginx, MariaDB, PHP, PHP-FPM, PhpMyAdmin എന്നിവയ്uക്കൊപ്പം ഒരു LEMP സ്റ്റാക്ക് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്ന് ഞങ്ങൾ വിശദീകരിച്ചു. സജ്ജീകരണ വേളയിൽ നിങ്ങൾക്ക് എന്തെങ്കിലും പ്രശ്uനങ്ങൾ നേരിടുന്നുണ്ടെങ്കിൽ, ചുവടെയുള്ള ഒരു കമന്റ് ഫോം വഴി നിങ്ങളുടെ ചോദ്യങ്ങൾ ചോദിക്കുക.