Pag-instalar sa LAMP (Linux, Apache, MySQL, PHP ug PhpMyAdmin) sa Gentoo Linux


Ang kinatas-an nga performance nga nakab-ot pinaagi sa pag-compile sa software gikan sa mga tinubdan sa Gentoo adunay gamay nga epekto, kung atong kuhaon isip reperensiya karon ang pagproseso sa kuryente sa hardware. Unya unsa ang katuyoan sa paggamit sa Gentoo ingon usa ka plataporma sa Web server nga mahimo nimong ipangutana? Aw, ang labing importante nga hiyas nga anaa sa Gentoo mao ang iyang hilabihang pagka-flexible nga ang Portage makahatag sa piho nga mga buluhaton ug ang bug-os nga kontrol nga makab-ot sa kataposang tiggamit sa tibuok sistema, tungod sa kamatuoran nga ang Gentoo kini gihugpong ug magtukod gikan sa mga tinubdan ug wala mogamit sa pre-packaged binary sama sa kadaghanan sa mga distribusyon sa Linux.

Kini nga giya naghatag og usa ka lakang sa lakang nga pamaagi sa pag-instalar alang sa sikat nga LAMP stack (Linux, Apache, MySQL, ug PHP/PhpMyAdmin) gamit ang gamay nga palibot sa pag-install sa Gentoo.

  1. Minimal nga palibot sa Gentoo Linux nga na-install sama niining tutorial (I-install ang Gentoo Linux)

Lakang 1: I-configure ang Static IP Address

1. Sa dili pa kita magpadayon sa pag-instalar sa LAMP stack ang sistema kinahanglan nga ma-configure sa usa ka static nga IP address, nga usa ka kinahanglan sa kaso sa usa ka server. Apan, sa dili pa kita magsugod sa pag-configure sa network static nga mga setting gamita ang ifconfig nga sugo aron ipakita ang mga ngalan sa Network Interface Cards.

# ifconfig -a

Sama sa imong makita nga ang ngalan sa NIC mahimong lahi sa ubang kasagarang mga ngalan nga gigamit sa Linux sama sa ethX, ensXX o uban pa, busa timan-i kini nga ngalan alang sa dugang nga mga setting.

2. Kung migamit ka kaniadto og DHCP server para sa imong network, siguroha nga imong gub-on ug i-disable ang DHCP Client sa imong sistema gamit ang mosunod nga mga command (ilisan ang mga IP ug device sa imong setting).

# 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. Dayon paghimo ug simbolo nga sumpay gikan sa network loopback device nga adunay ngalan sa konektado nga interface sa imong NIC ug paghimo ug static nga configuration file para niini nga device sa /etc/conf.d/ nga dalan.

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

I-edit kini nga file sa device gamit ang mosunod nga mga configuration.

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. Human mahuman ang pag-edit sa mga static configurations sa NIC, sugdi ang Network Interface ug pamatud-i ang network settings ug koneksyon gamit ang ifconfig ug ping nga mga sugo ug kung ang tanan malampuson nga ma-configure idugang kini aron masugdan ang proseso.

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

Kung gusto nimo ang mga server sa ngalan sa DNS nga ma-configure sa tibuok sistema i-edit ang /etc/resolv.conf file ug idugang ang string sa nameserver alang sa matag IP address sa DNS.

Lakang 2: I-install ang LAMP

5. Human nimo mahuman ang network settings ipadayon ang pag-install sa LAMP stack, pero dili sa dili pa nimo ma-verify ang mga profile sa Gentoo ug i-update ang Portage tree ug system.

Alang sa server nga nag-atubang sa Internet nga adunay mga patch sa seguridad lagmit gusto nimo nga mogamit usa ka Hardened nga profile nga nagbag-o sa mga setting sa package alang sa imong tibuuk nga sistema (mga maskara, USE flag, etc). Gamita ang mosunod nga mga sugo sa paglista ug pag-usab sa imong profile.

$ sudo eselect profile list
$ sudo eselect profile set 11

6. Human mabutang ang labing haum nga profile alang kanimo, i-update ang imong sistema ug ang Portage tree.

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

7. Karon na ang panahon sa pagpadayon sa pag-instalar sa LAMP. I-verify ang dokumentasyon sa Apache Web Server para sa USE flags gamit ang emerge –pv command switch, dayon i-edit ang Portage make.conf nga file nga adunay gikinahanglan nga USE flags sa dili pa mosulay sa instalar kini.

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

8. Pilia ang imong USE flags para sa proseso sa pag-compile (mahimo nimong biyaan kini kung ang imong server wala magkinahanglan ug piho nga modules), unya i-install ang Apache gamit ang mosunod nga sugo.

# emerge --ask www-servers/apache

9. Sa dili pa magsugod ang serbisyo sa Apache padagana ang mosunod nga sugo aron malikayan ang ServerName nga sayop, unya sugdi ang httpd daemon.

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

OR

# /etc/init.d/apache2 start

10. Sa sunod nga lakang i-install ang PHP dynamic nga scripting language. Tungod sa kadato sa PHP modules, kini nga tutorial magpresentar kanimo ug usa ka dako nga lista sa modules nga gigamit isip USE flags, apan kinahanglan ka magpabilin sa mga gikinahanglan sa imong server configuration.

Pagkuha una og GAMIT mga piho nga bandera para sa PHP gamit ang ubos nga sugo.

# emerge -pv php

11. Dayon i-edit ang /etc/portage/make.conf nga file ug gamita ang mosunod nga USE nga mga bandera para sa PHP5.5 (USE flags kinahanglan nga anaa sa usa ka linya).

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"

Laing pamaagi nga imong magamit mao ang pagpalanog sa USE flags aron maapil ang gusto nga PHP modules ug mga opsyon sa /etc/portage/package.use file.

# 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. Human nimo mapili ang gikinahanglan nga USE flags gamit ang usa sa duha ka gipresentar nga pamaagi, i-install ang PHP gamit ang mosunod nga sugo.

# emerge --ask dev-lang/php

13. Ang pag-uswag sa PHP nga proseso mahimong magdugay depende sa imong sistema nga mga kahinguhaan ug human kini mahuman sultihi ang Apache sa paggamit sa PHP modules pinaagi sa pag-edit sa /etc/conf.d/apache2 file ug pagdugang og PHP5 sa APACHE2_OPTS direktiba.

# nano /etc/conf.d/apache2

Himoa ang APACHE2_OPTS nga linya nga sama niini.

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

Aron makakuha usa ka lista sa na-install nga mga module gamita ang mosunud nga mando.

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

14. Para masulayan ang configuration sa server hangtod karon, paghimo ug phpinfo file sa localhost root directory (/var/www/localhost/htdocs/) ug i-restart ang serbisyo sa Apache, dayon itudlo ang imong browser ngadto sa http://localhost/info.php o http://system_IP/info.php.

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

OR

# /etc/init.d/apache2  restart

Kung makuha nimo ang parehas nga sangputanan sama sa imahe sa taas unya ang imong server husto nga na-configure. Busa, makapadayon kita sa MySQL database ug pag-instalar sa PhpMyAdmin.

15. Sa dili pa i-install ang MySQL database verify package USE flags ug usba ang Portage make.conf kung gikinahanglan. Gamita ang mosunod nga mga sugo aron masusi ug ma-install ang database sa MySQL-server.

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

16. Sa dili ka pa magsugod MySQL server siguroa nga ang MySQL database na-install sa imong sistema gamit ang mosunod nga sugo.

# /usr/bin/mysql_install_db

17. Karon sugdi ang MySQL database ug luwasa kini gamit ang mysql_secure_installationpinaagi sa pag-ilis sa root password, pag-disable sa root login sa gawas sa localhost, pagtangtang sa anonymous nga user ug pagsulay sa database.

# service mysql start
# mysql_secure_installation

18. Para sulayan ang database functionality login sa MySQL nga nag-issue sa command sa ubos ug exit sa database gamit ang quit statement.

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

19. Kung kinahanglan nimo ang usa ka graphical interface sa pagdumala sa MySQL server instalar PhpMyAdmin package pinaagi sa pagpadagan niini nga mga sugo.

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

20. Human ma-compile ug ma-install ang package, paghimo ug configuration file para sa PhpMyAdmin pinaagi sa pagkopya sa template file niini ug pulihan ang blowfish_secret passphrase gamit ang arbitrary string.

# 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. Sulayi ang proseso sa pag-login sa PhpMyAdmin pinaagi sa pag-abli sa browser ug gamita ang mosunod nga URL.

http://localhost/phpmyadmin

22. Kung ang tanan naa sa lugar, mahimo nimong awtomatiko nga sugdan ang imong mga serbisyo pagkahuman sa pag-reboot pinaagi sa paghimo niini nga magamit sa tibuuk nga sistema gamit ang mosunod nga mga mando.

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

Kana lang! Karon aduna kay dinamikong web environment nga adunay Apache, PHP scripting language ug relational MySQL database sa taas nga flexible ug customizable server platform nga gihatag sa Gentoo.