Gentoo Linux-ൽ LAMP (Linux, Apache, MySQL, PHP, PhpMyAdmin) ഇൻസ്റ്റാൾ ചെയ്യുന്നു


ഇന്നത്തെ ഹാർഡ്uവെയറിന്റെ പവർ പ്രോസസ്സിംഗ് ഒരു റഫറൻസായി എടുക്കുകയാണെങ്കിൽ, Gentoo ഉപയോഗിച്ച് സോഴ്uസുകളിൽ നിന്ന് സോഫ്uറ്റ്uവെയർ കംപൈൽ ചെയ്യുന്നതിലൂടെ നേടുന്ന പരമാവധി പ്രകടനത്തിന് കുറഞ്ഞ സ്വാധീനം മാത്രമേ ഉണ്ടാകൂ. അപ്പോൾ നിങ്ങൾ ചോദിച്ചേക്കാവുന്ന ഒരു വെബ് സെർവർ പ്ലാറ്റ്uഫോമായി Gentoo ഉപയോഗിക്കുന്നതിന്റെ ഉദ്ദേശ്യം എന്താണ്? ശരി, ജെന്റൂവിനുള്ള ഏറ്റവും പ്രധാനപ്പെട്ട ആട്രിബ്യൂട്ട്, ഗെന്റു കംപൈൽ ചെയ്uതതും, കംപൈൽ ചെയ്uതതും ആയതിനാൽ, നിർദ്ദിഷ്uട ടാസ്uക്കുകളും അന്തിമ ഉപയോക്താവിന് നേടാനാകുന്ന പൂർണ്ണ നിയന്ത്രണവും നൽകാനാകുന്ന പോർട്ടേജ് അതിന്റെ അങ്ങേയറ്റത്തെ വഴക്കമാണ്. ഭൂരിഭാഗം Linux വിതരണങ്ങളും പോലെ, ഉറവിടങ്ങളിൽ നിന്ന് നിർമ്മിക്കുക, മുൻകൂട്ടി പാക്കേജ് ചെയ്ത ബൈനറി ഉപയോഗിക്കുന്നില്ല.

ഈ ഗൈഡ് പ്രശസ്തമായ LAMP സ്റ്റാക്ക് (Linux, Apache, MySQL, കൂടാതെ PHP/PhpMyAdmin) കുറഞ്ഞ Gentoo ഇൻസ്റ്റാളേഷൻ എൻവയോൺമെന്റ് ഉപയോഗിക്കുന്നു.

  1. ഈ ട്യൂട്ടോറിയലിലെ പോലെ മിനിമൽ Gentoo Linux എൻവയോൺമെന്റ് ഇൻസ്റ്റാൾ ചെയ്തു (Gentoo Linux ഇൻസ്റ്റാൾ ചെയ്യുക)

ഘട്ടം 1: സ്റ്റാറ്റിക് ഐപി വിലാസം കോൺഫിഗർ ചെയ്യുക

1. ഞങ്ങൾ LAMP സ്റ്റാക്ക് ഇൻസ്റ്റാൾ ചെയ്യുന്നതുമായി മുന്നോട്ടുപോകുന്നതിനുമുമ്പ് സിസ്റ്റം ഒരു സ്റ്റാറ്റിക് IP വിലാസം ഉപയോഗിച്ച് കോൺഫിഗർ ചെയ്തിരിക്കണം, അത് ഒരു സെർവറിന്റെ കാര്യത്തിൽ \നിർബന്ധമാണ്. പക്ഷേ, ഞങ്ങൾ നെറ്റ്uവർക്ക് സ്റ്റാറ്റിക് ക്രമീകരണങ്ങൾ കോൺഫിഗർ ചെയ്യാൻ തുടങ്ങുന്നതിനുമുമ്പ്. നെറ്റ്uവർക്ക് ഇന്റർഫേസ് കാർഡുകളുടെ പേരുകൾ കാണിക്കുന്നതിനുള്ള ifconfig കമാൻഡ്.

# ifconfig -a

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ലിനക്സിൽ ഉപയോഗിക്കുന്ന മറ്റ് പൊതുവായ പേരുകളായ ethX, ensXX അല്ലെങ്കിൽ മറ്റുള്ളവയിൽ നിന്ന് NIC-യുടെ പേര് വ്യത്യസ്തമാകാം, അതിനാൽ കൂടുതൽ ക്രമീകരണങ്ങൾക്കായി ഈ പേര് ശ്രദ്ധിക്കുക.

2. നിങ്ങളുടെ നെറ്റ്uവർക്കിനായി നിങ്ങൾ മുമ്പ് ഒരു DHCP സെർവർ ഉപയോഗിച്ചിരുന്നെങ്കിൽ, ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് നിങ്ങളുടെ സിസ്റ്റത്തിലെ DHCP ക്ലയന്റ് കീറുകയും പ്രവർത്തനരഹിതമാക്കുകയും ചെയ്യുന്നുവെന്ന് ഉറപ്പാക്കുക (നിങ്ങളുടെ IP-കളും ഉപകരണങ്ങളും മാറ്റിസ്ഥാപിക്കുക ക്രമീകരണങ്ങൾ).

# rc-update del dhcpcd default
# /etc/init.d/dhcpcd stop
# ifconfig eno16777736 down
# ifconfig eno16777736 del 192.168.1.13 netmask 255.255.255.0
# emerge –unmerge dhcpcd

3. തുടർന്ന് നെറ്റ്uവർക്ക് ലൂപ്പ്ബാക്ക് ഉപകരണത്തിൽ നിന്ന് നിങ്ങളുടെ എൻഐസിയുടെ കണക്റ്റുചെയ്uത ഇന്റർഫേസിന്റെ പേരിനൊപ്പം ഒരു പ്രതീകാത്മക ലിങ്ക് സൃഷ്uടിക്കുകയും /etc/conf.d/ പാതയിൽ ഈ ഉപകരണത്തിനായി ഒരു സ്റ്റാറ്റിക് കോൺഫിഗറേഷൻ ഫയൽ സൃഷ്uടിക്കുകയും ചെയ്യുക.

# ln -s /etc/init.d/net.lo  /etc/init.d/net.eno16777736
# sudo nano /etc/conf.d/net.eno16777736

ഇനിപ്പറയുന്ന കോൺഫിഗറേഷനുകൾ ഉപയോഗിച്ച് ഈ ഉപകരണ ഫയൽ എഡിറ്റ് ചെയ്യുക.

config_eno16777736="192.168.1.25 netmask 255.255.255.0 brd 192.168.1.255"
routes_eno16777736="default via 192.168.1.1"
dns_servers_eno16777736="192.168.1.1 8.8.8.8"

4. NIC-യുടെ സ്റ്റാറ്റിക് കോൺഫിഗറേഷനുകൾ എഡിറ്റ് ചെയ്ത ശേഷം, നെറ്റ്uവർക്ക് ഇന്റർഫേസ് ആരംഭിച്ച്, ifconfig, ping എന്നീ കമാൻഡുകൾ ഉപയോഗിച്ച് നെറ്റ്uവർക്ക് ക്രമീകരണങ്ങളും കണക്ഷനും പരിശോധിച്ചുറപ്പിക്കുക, എല്ലാം വിജയകരമായി കോൺഫിഗർ ചെയ്uതിട്ടുണ്ടെങ്കിൽ, പ്രോസസ്സ് ആരംഭിക്കുന്നതിന് അത് ചേർക്കുക.

# /etc/init.d/net.eno16777736 start
# ifconfig
# ping -c2 domain.tld
# rc-update add net.eno16777736 default

നിങ്ങൾക്ക് DNS നെയിം സെർവറുകൾ സിസ്റ്റം-വൈഡ് കോൺഫിഗർ ചെയ്യണമെങ്കിൽ /etc/resolv.conf ഫയൽ എഡിറ്റ് ചെയ്ത് എല്ലാ DNS IP വിലാസത്തിനും നെയിംസെർവർ സ്ട്രിംഗ് ചേർക്കുക.

ഘട്ടം 2: LAMP ഇൻസ്റ്റാൾ ചെയ്യുക

5. നിങ്ങൾ നെറ്റ്uവർക്ക് ക്രമീകരണം പൂർത്തിയാക്കിയ ശേഷം LAMP സ്റ്റാക്ക് ഇൻസ്റ്റാൾ ചെയ്യുന്നത് തുടരുക, എന്നാൽ നിങ്ങൾ Gentoo പ്രൊഫൈലുകൾ പരിശോധിച്ച് പോർട്ടേജ് ട്രീയും സിസ്റ്റവും അപ്uഡേറ്റ് ചെയ്യുന്നതിനുമുമ്പ്.

സെക്യൂരിറ്റി പാച്ചുകളുള്ള ഒരു ഇന്റർനെറ്റ് ഫേസിംഗ് സെർവറിനായി, നിങ്ങളുടെ മുഴുവൻ സിസ്റ്റത്തിനുമുള്ള പാക്കേജ് ക്രമീകരണങ്ങൾ മാറ്റുന്ന ഒരു കഠിനമായ പ്രൊഫൈൽ ഉപയോഗിക്കാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം (മാസ്കുകൾ, USE ഫ്ലാഗുകൾ മുതലായവ). നിങ്ങളുടെ പ്രൊഫൈൽ ലിസ്റ്റുചെയ്യുന്നതിനും മാറ്റുന്നതിനും ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിക്കുക.

$ sudo eselect profile list
$ sudo eselect profile set 11

6. നിങ്ങൾക്ക് ഏറ്റവും അനുയോജ്യമായ പ്രൊഫൈൽ സജ്ജമാക്കിയ ശേഷം, നിങ്ങളുടെ സിസ്റ്റവും പോർട്ടേജ് ട്രീയും അപ്ഡേറ്റ് ചെയ്യുക.

$ sudo emerge --sync
$ sudo emerge --update @world

7. ഇപ്പോൾ LAMP ഇൻസ്റ്റാളേഷനുമായി മുന്നോട്ട് പോകാനുള്ള സമയമാണിത്. emerge –pv കമാൻഡ് സ്വിച്ച് ഉപയോഗിച്ച് USE ഫ്ലാഗുകൾക്കായി Apache Web Server ഡോക്യുമെന്റേഷൻ പരിശോധിച്ചുറപ്പിക്കുക, തുടർന്ന് ആവശ്യമായ USE ഫ്ലാഗുകൾ ഉപയോഗിച്ച് Portage make.conf ഫയൽ എഡിറ്റുചെയ്യുക. അത് ഇൻസ്റ്റാൾ ചെയ്യുക.

# emerge -pv apache
# nano /etc/portage/make.conf

8. കംപൈലിംഗ് പ്രക്രിയയ്ക്കായി നിങ്ങളുടെ പതാകകൾ ഉപയോഗിക്കുക തിരഞ്ഞെടുക്കുക (നിങ്ങളുടെ സെർവറിന് ചില മൊഡ്യൂളുകൾ ആവശ്യമില്ലെങ്കിൽ നിങ്ങൾക്ക് അത് അതേപടി ഉപേക്ഷിക്കാം), തുടർന്ന് ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് അപ്പാച്ചെ ഇൻസ്റ്റാൾ ചെയ്യുക.

# emerge --ask www-servers/apache

9. Apache സേവനം ആരംഭിക്കുന്നതിന് മുമ്പ് ServerName പിശക് ഒഴിവാക്കാൻ ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക, തുടർന്ന് httpd ഡെമൺ ആരംഭിക്കുക.

# echo “ServerName localhost” >> /etc/apache2/httpd.conf
# service apache2  start

OR

# /etc/init.d/apache2 start

10. അടുത്ത ഘട്ടത്തിൽ PHP ഡൈനാമിക് സ്ക്രിപ്റ്റിംഗ് ഭാഷ ഇൻസ്റ്റാൾ ചെയ്യുക. PHP മൊഡ്യൂളുകളുടെ സമ്പന്നത കാരണം, ഈ ട്യൂട്ടോറിയൽ നിങ്ങൾക്ക് പതാകകൾ ഉപയോഗിക്കുക ആയി ഉപയോഗിക്കുന്ന ഒരു വലിയ മൊഡ്യൂളുകളുടെ ലിസ്റ്റ് അവതരിപ്പിക്കും, എന്നാൽ നിങ്ങളുടെ സെർവർ കോൺഫിഗറേഷന് ആവശ്യമായവയിൽ നിങ്ങൾ ഉറച്ചുനിൽക്കണം.

ചുവടെയുള്ള കമാൻഡ് ഉപയോഗിച്ച് ആദ്യം PHP-യ്uക്കായി പ്രത്യേക ഫ്ലാഗുകൾ ഉപയോഗിക്കുക നേടുക.

# emerge -pv php

11. തുടർന്ന് /etc/portage/make.conf ഫയൽ എഡിറ്റ് ചെയ്uത് PHP5.5 എന്നതിനായി ഇനിപ്പറയുന്ന USE ഫ്ലാഗുകൾ ഉപയോഗിക്കുക (USE ഫ്ലാഗുകൾ ഓണായിരിക്കണം ഒരൊറ്റ വരി).

USE="apache2 php pam berkdb bzip2 cli crypt ctype exif fileinfo filter gdbm hash iconv ipv6 json -ldap nls opcache phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -bcmath calendar -cdb cgi -cjk curl -debug -embed -enchant -firebird -flatfile -fpm (-frontbase) ftp gd -gmp imap -inifile -intl -iodbc -kerberos -ldap-sasl -libedit libmysqlclient -mhash -mssql mysql mysqli -oci8-instant-client -odbc -pcntl pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -sqlite (-sybase-ct) -systemd -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt zip jpeg png pcre session unicode"

PHP_TARGETS="php5-5"

/etc/portage/package.use ഫയലിൽ ആവശ്യമുള്ള PHP മൊഡ്യൂളുകളും ഓപ്ഷനുകളും ഉൾപ്പെടുത്തുന്നതിന് ഫ്ലാഗുകൾ ഉപയോഗിക്കുക പ്രതിധ്വനിക്കുക എന്നതാണ് നിങ്ങൾക്ക് ഉപയോഗിക്കാവുന്ന മറ്റൊരു രീതി.

# echo “dev-lang/php apache2 cgi ctype curl curlwrappers -doc exif fastbuild filter ftp hash inifile json mysql mysqli pdo pic posix sockets spell truetype xml zip” >> /etc/portage/package.use

12. അവതരിപ്പിച്ച രണ്ട് രീതികളിൽ ഒന്ന് ഉപയോഗിച്ച് ആവശ്യമായ ഫ്ലാഗുകൾ ഉപയോഗിക്കുക തിരഞ്ഞെടുത്ത ശേഷം, ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് PHP ഇൻസ്റ്റാൾ ചെയ്യുക.

# emerge --ask dev-lang/php

13. നിങ്ങളുടെ സിസ്റ്റം റിസോഴ്uസുകളെ ആശ്രയിച്ച് PHP ഉയർന്നുവരുന്ന പ്രക്രിയയ്ക്ക് കുറച്ച് സമയമെടുക്കാം, അത് പൂർത്തിയായ ശേഷം /etc/conf.d/apache2 ഫയൽ എഡിറ്റ് ചെയ്ത് PHP5 ചേർത്ത് APACHE2_OPTS-ൽ PHP മൊഡ്യൂളുകൾ ഉപയോഗിക്കാൻ Apache-നോട് പറയുക. നിർദ്ദേശം.

# nano /etc/conf.d/apache2

APACHE2_OPTS ലൈൻ ഇതുപോലെയാക്കുക.

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"

ഇൻസ്റ്റാൾ ചെയ്ത മൊഡ്യൂളുകളുടെ ഒരു ലിസ്റ്റ് ലഭിക്കാൻ താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിക്കുക.

# ls -al /etc/apache2/modules.d/

14. ഇതുവരെയുള്ള സെർവർ കോൺഫിഗറേഷൻ പരിശോധിക്കുന്നതിന്, ലോക്കൽഹോസ്റ്റ് റൂട്ട് ഡയറക്ടറിയിൽ (/var/www/localhost/htdocs/) ഒരു phpinfo ഫയൽ സൃഷ്ടിച്ച് അപ്പാച്ചെ സേവനം പുനരാരംഭിക്കുക, തുടർന്ന് നിങ്ങളുടെ http://localhost/info.php അല്ലെങ്കിൽ http://system_IP/info.php എന്നതിലേക്കുള്ള ബ്രൗസർ.

# echo "<!--?php phpinfo(); ?-->"  /var/www/localhost/htdocs/info.php
# service apache2  restart

OR

# /etc/init.d/apache2  restart

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

15. MySQL ഡാറ്റാബേസ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുമുമ്പ് പാക്കേജ് ഫ്ലാഗുകൾ ഉപയോഗിക്കുക പരിശോധിച്ച് ആവശ്യമെങ്കിൽ Portage make.conf എഡിറ്റ് ചെയ്യുക. MySQL-സെർവർ ഡാറ്റാബേസ് പരിശോധിച്ചുറപ്പിക്കാനും ഇൻസ്റ്റാൾ ചെയ്യാനും ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിക്കുക.

# emerge -pv mysql
# emerge --ask dev-db/mysql

16. നിങ്ങൾ MySQL സെർവർ ആരംഭിക്കുന്നതിന് മുമ്പ് ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങളുടെ സിസ്റ്റത്തിൽ MySQL ഡാറ്റാബേസ് ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.

# /usr/bin/mysql_install_db

17. ഇപ്പോൾ MySQL ഡാറ്റാബേസ് ആരംഭിച്ച് റൂട്ട് പാസ്uവേഡ് മാറ്റി mysql_secure_installation ഉപയോഗിച്ച് സുരക്ഷിതമാക്കുക, ലോക്കൽ ഹോസ്റ്റിന് പുറത്തുള്ള റൂട്ട് ലോഗിൻ പ്രവർത്തനരഹിതമാക്കുക, അജ്ഞാത ഉപയോക്താവിനെ നീക്കം ചെയ്യുകയും ഡാറ്റാബേസ് പരിശോധിക്കുകയും ചെയ്യുക.

# service mysql start
# mysql_secure_installation

18. ഡാറ്റാബേസ് പ്രവർത്തനക്ഷമത പരിശോധിക്കുന്നതിന് താഴെയുള്ള കമാൻഡ് നൽകി MySQL-ലേക്ക് ലോഗിൻ ചെയ്യുകയും ക്വിറ്റ് സ്റ്റേറ്റ്uമെന്റുമായി ഡാറ്റാബേസിൽ നിന്ന് പുറത്തുകടക്കുകയും ചെയ്യുക.

mysql -u roo -p
mysql> select user,host from mysql.user;
mysql> quit;

19. MySQL സെർവർ നിയന്ത്രിക്കുന്നതിന് നിങ്ങൾക്ക് ഒരു ഗ്രാഫിക്കൽ ഇന്റർഫേസ് ആവശ്യമുണ്ടെങ്കിൽ, ഈ കമാൻഡുകൾ പ്രവർത്തിപ്പിച്ച് PhpMyAdmin പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുക.

# emerge -pv phpmyadmin
# emerge  dev-db/phpmyadmin

20. പാക്കേജ് കംപൈൽ ചെയ്uത് ഇൻസ്റ്റാൾ ചെയ്ത ശേഷം, PhpMyAdmin-നായി അതിന്റെ ടെംപ്ലേറ്റ് ഫയൽ പകർത്തി ഒരു കോൺഫിഗറേഷൻ ഫയൽ സൃഷ്uടിക്കുകയും ഒരു അനിയന്ത്രിതമായ സ്ട്രിംഗ് ഉപയോഗിച്ച് blowfish_secret പാസ്uഫ്രെയ്uസ് മാറ്റിസ്ഥാപിക്കുകയും ചെയ്യുക.

# cp /var/www/localhost/htdocs/phpmyadmin/config.sample.inc.php  /var/www/localhost/htdocs/phpmyadmin/config.inc.php
# nano /var/www/localhost/htdocs/phpmyadmin/config.inc.php

21. ഒരു ബ്രൗസർ തുറന്ന് PhpMyAdmin ലോഗിൻ പ്രോസസ്സ് പരിശോധിക്കുക, ഇനിപ്പറയുന്ന URL ഉപയോഗിക്കുക.

http://localhost/phpmyadmin

22. എല്ലാം ശരിയാണെങ്കിൽ, റീബൂട്ടിന് ശേഷം നിങ്ങളുടെ സേവനങ്ങൾ ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് സിസ്റ്റം മുഴുവനും ലഭ്യമാക്കി സ്വയമേവ ആരംഭിക്കാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം.

# rc-update -v add apache2 default
# rc-update -v add mysql default

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