Installazzjoni ta' LAMP (Linux, Apache, MySQL, PHP u PhpMyAdmin) f'Gentoo Linux


Il-prestazzjoni massima miksuba bil-kompilazzjoni ta 'softwer minn sorsi ma' Gentoo għandha impatt minimu, jekk nieħdu bħala referenza llum l-ipproċessar tal-enerġija tal-ħardwer. Imbagħad x'inhu l-iskop li tuża Gentoo bħala pjattaforma ta' server tal-Web tista' tistaqsi? Ukoll, l-aktar attribut importanti li għandu Gentoo huwa l-flessibbiltà estrema tiegħu li Portage jista 'jwettaq kompiti speċifiċi u l-kontroll sħiħ li l-utent finali jista' jikseb fuq is-sistema kollha, minħabba l-fatt li Gentoo huwa kkompilat u jibni minn sorsi u ma jużax binarju ppakkjat minn qabel bħall-maġġoranza tad-distribuzzjonijiet tal-Linux.

Din il-gwida tipprovdi proċedura ta' installazzjoni pass pass għall-munzell famuż LAMP (Linux, Apache, MySQL, u PHP/PhpMyAdmin) bl-użu ta’ ambjent minimu ta’ installazzjoni ta’ Gentoo.

  1. Ambjent Gentoo Linux Minimu installat bħal f'dan it-tutorja (Installa Gentoo Linux)

Pass 1: Ikkonfigura Indirizz IP Statiku

1. Qabel ma nipproċedu bl-installazzjoni ta 'LAMP munzell is-sistema għandha tkun ikkonfigurata b'indirizz IP statiku, li huwa \għandu fil-każ ta' server. Iżda, qabel ma nibdew nikkonfiguraw is-settings statiċi tan-netwerk uża il-kmand ifconfig biex juri l-ismijiet tal-Kards tal-Interface tan-Netwerk.

# ifconfig -a

Kif tistgħu taraw l-isem ta’ NIC jista’ jkun differenti minn ismijiet komuni oħra użati fil-Linux bħal ethX, ensXX jew oħrajn, għalhekk innota dan l-isem għal aktar settings.

2. Jekk qabel użajt server DHCP għan-netwerk tiegħek, kun żgur li twarrab u tiddiżattiva Klijent DHCP fis-sistema tiegħek billi tuża l-kmandi li ġejjin (ibdel l-IPs u l-apparati b’ settings).

# 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. Imbagħad oħloq rabta simbolika minn apparat ta 'loopback tan-netwerk bl-isem tal-interface konnessa tal-NIC tiegħek u oħloq fajl ta' konfigurazzjoni statiku għal dan l-apparat fil-mogħdija /etc/conf.d/.

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

Editja dan il-fajl tal-apparat bil-konfigurazzjonijiet li ġejjin.

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. Wara li tispiċċa l-editjar tal-konfigurazzjonijiet statiċi ta 'NIC, ibda l-Interface tan-Netwerk u ivverifika l-issettjar tan-netwerk u l-konnessjoni billi tuża kmandi ta' ifconfig u ping u jekk kollox ikun ikkonfigurat b'suċċess żidha biex tibda l-proċess.

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

Jekk trid li s-servers tal-ismijiet tad-DNS ikunu kkonfigurati fis-sistema kollha editja l-fajl /etc/resolv.conf u waħħal is-sekwenza tas-server tal-isem għal kull indirizz IP DNS.

Pass 2: Installa LAMPA

5. Wara li tkun lest l-issettjar tan-netwerk ipproċedi bl-installazzjoni ta 'LAMP munzell, iżda mhux qabel ma tivverifika l-profili Gentoo u taġġorna s-siġra u s-sistema Portage.

Għal server li jħares l-Internet b'garża ta' sigurtà probabilment trid tuża profil Hardened li jibdel is-settings tal-pakkett għas-sistema kollha tiegħek (maskri, USE flags, eċċ). Uża l-kmandi li ġejjin biex telenka u tibdel il-profil tiegħek.

$ sudo eselect profile list
$ sudo eselect profile set 11

6. Wara li l-profil l-aktar adattat għalik ikun ġie stabbilit, aġġorna s-sistema tiegħek u s-siġra Portage.

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

7. Issa wasal iż-żmien li tipproċedi bl-installazzjoni tal-LAMPA. Ivverifika d-dokumentazzjoni ta' Apache Web Server għal bnadar USE billi tuża l-iswiċċ tal-kmand emerge –pv, imbagħad editja l-fajl Portage make.conf bil-bnadar USE meħtieġa qabel tipprova tagħmel tinstallah.

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

8. Agħżel il-uża l-bnadar tiegħek għall-proċess ta 'kompilazzjoni (tista' tħalliha kif inhu jekk is-server tiegħek ma jeħtieġx ċerti moduli), imbagħad installa Apache billi tuża l-kmand li ġej.

# emerge --ask www-servers/apache

9. Qabel ma tibda s-servizz Apache mexxi l-kmand li ġej biex tevita żball ServerName, imbagħad ibda httpd daemon.

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

OR

# /etc/init.d/apache2 start

10. Fuq il-pass li jmiss installa PHP lingwa tal-iskript dinamiku. Minħabba r-rikkezza tal-moduli PHP, dan it-tutorja jippreżentalek lista kbira ta' moduli użati bħala bnadar USE, iżda għandek iżżomm ma' dawk li teħtieġ il-konfigurazzjoni tas-server tiegħek.

L-ewwel ikseb UŻA bnadar speċifiċi għall-PHP billi tuża l-kmand hawn taħt.

# emerge -pv php

11. Imbagħad editja l-fajl /etc/portage/make.conf u uża l-bnadar USE li ġejjin għal PHP5.5 (il-bnadar USE għandhom ikunu mixgħula linja waħda).

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"

Metodu ieħor li tista' tuża huwa billi tikteb bnadar USE biex tinkludi moduli u għażliet PHP mixtieqa fil-fajl /etc/portage/package.use.

# 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. Wara li tkun għażilt UŻA bnadar meħtieġa billi tuża wieħed miż-żewġ metodi ppreżentati, installa PHP bil-kmand li ġej.

# emerge --ask dev-lang/php

13. Il-proċess emerġenti tal-PHP jista' jieħu ftit jiddependi mir-riżorsi tas-sistema tiegħek u wara li jispiċċa għid lil Apache biex juża moduli PHP billi teditja l-fajl /etc/conf.d/apache2 u żid PHP5 fuq APACHE2_OPTS direttiva.

# nano /etc/conf.d/apache2

Agħmel il-linja APACHE2_OPTS tidher bħal din.

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

Biex tikseb lista ta 'moduli installati uża l-kmand li ġej.

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

14. Biex tittestja l-konfigurazzjoni tas-server s'issa, oħloq fajl phpinfo fuq id-direttorju tal-għeruq localhost (/var/www/localhost/htdocs/) u erġa' ibda s-servizz Apache, imbagħad ippunta tiegħek browser għal http://localhost/info.php jew http://system_IP/info.php.

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

OR

# /etc/init.d/apache2  restart

Jekk ikollok l-istess riżultat bħall-immaġni ta 'hawn fuq allura s-server tiegħek huwa kkonfigurat b'mod korrett. Allura, nistgħu nimxu 'l quddiem bid-database MySQL u l-installazzjoni ta' PhpMyAdmin.

15. Qabel ma tinstalla d-database MySQL ivverifika l-pakkett USE flags u editja Portage make.conf jekk meħtieġ. Uża l-kmandi li ġejjin biex tivverifika u tinstalla database MySQL-server.

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

16. Qabel ma tibda MySQL server kun żgur li MySQL database hija installata fis-sistema tiegħek billi tuża l-kmand li ġej.

# /usr/bin/mysql_install_db

17. Issa ibda d-database MySQL u assiguraha billi tuża mysql_secure_installation billi tbiddel il-password tal-għeruq, iddiżattiva l-login tal-għeruq barra localhost, neħħi utent anonimu u test database.

# service mysql start
# mysql_secure_installation

18. Biex tittestja l-funzjonalità tad-database idħol f'MySQL billi toħroġ il-kmand hawn taħt u toħroġ id-database b'dikjarazzjoni ta' nieqaf.

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

19. Jekk għandek bżonn interface grafiku biex timmaniġġja s-server MySQL installa l-pakkett PhpMyAdmin billi tmexxi dan il-kmandi.

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

20. Wara li l-pakkett ikun ġie kkompilat u installat, oħloq fajl ta' konfigurazzjoni għal PhpMyAdmin billi tikkopja l-fajl tal-mudell tiegħu u ibdel il-passphrase blowfish_secret billi tuża sekwenza arbitrarja.

# 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. Ittestja l-proċess ta’ login ta’ PhpMyAdmin billi tiftaħ browser u uża l-URL li ġej.

http://localhost/phpmyadmin

22. Jekk kollox huwa f'postu, tista 'tkun trid tibda awtomatikament is-servizzi tiegħek wara li terġa' tibda billi tagħmilhom disponibbli fis-sistema kollha billi tuża l-kmandi li ġejjin.

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

Dak kollox! Issa għandek ambjent web dinamiku b'Apache, lingwa ta' skriptjar PHP u database relazzjonali MySQL fuq pjattaforma ta' server għolja flessibbli u personalizzabbli pprovduta minn Gentoo.