LAMP (Linux, Apache, MySQL, PHP ir PhpMyAdmin) diegimas „Gentoo Linux“


Didžiausias našumas, pasiektas kompiliuojant programinę įrangą iš šaltinių su Gentoo, turi minimalų poveikį, jei šiandien laikysime aparatinės įrangos energijos apdorojimą. Tada koks yra „Gentoo“ kaip žiniatinklio serverio platformos naudojimo tikslas? Na, svarbiausias „Gentoo“ bruožas yra ypatingas lankstumas, kuriuo Portage gali atlikti konkrečias užduotis, ir visiška kontrolė, kurią galutinis vartotojas gali pasiekti visoje sistemoje dėl to, kad „Gentoo“ jis yra sukompiliuotas ir kurti iš šaltinių ir nenaudoja iš anksto supakuoto dvejetainio failo, kaip dauguma Linux platinimų.

Šiame vadove pateikiama nuosekli garsiojo LAMP rinkinio (Linux, Apache, MySQL ir PHP/PhpMyAdmin), naudojant minimalią „Gentoo“ diegimo aplinką.

Reikalavimai

  1. Minimali „Gentoo Linux“ aplinka įdiegta, kaip nurodyta šioje pamokoje (įdiegti „Gentoo Linux“)

1 veiksmas: konfigūruokite statinį IP adresą

1. Prieš diegiant LAMP dėklą, sistemoje turi būti sukonfigūruotas statinis IP adresas, kuris yra būtinas serverio atveju. Tačiau prieš pradėdami konfigūruoti tinklo statinius nustatymus naudokite komandą ifconfig, kad būtų rodomi tinklo sąsajos kortelių pavadinimai.

ifconfig -a

Kaip matote, NIC pavadinimas gali skirtis nuo kitų įprastų Linux naudojamų pavadinimų, pvz., ethX, ensXX ar kitų, todėl užsirašykite šį pavadinimą tolesniems nustatymams.

2. Jei anksčiau tinkle naudojote DHCP serverį, būtinai išardykite ir išjunkite DHCP klientą savo sistemoje naudodami šias komandas (pakeiskite IP ir įrenginius savo nustatymais).

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. Tada sukurkite simbolinę nuorodą iš tinklo atgalinio įrenginio su NIC prijungtos sąsajos pavadinimu ir sukurkite statinį šio įrenginio konfigūracijos failą adresu /etc/conf.d/ kelias.

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

Redaguokite šį įrenginio failą naudodami toliau nurodytas konfigūracijas.

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. Baigę redaguoti NIC statines konfigūracijas, paleiskite tinklo sąsają ir patikrinkite tinklo nustatymus bei ryšį naudodami komandas ifconfig ir ping ir ar viskas sėkmingai sukonfigūruota pridėkite jį, kad pradėtumėte procesą.

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

Jei norite, kad DNS vardų serveriai būtų sukonfigūruoti visoje sistemoje, redaguokite /etc/resolv.conf failą ir pridėkite vardų serverio eilutę kiekvienam DNS IP adresui.

2 veiksmas: įdiekite LAMP

5. Baigę tinklo nustatymus, tęskite LAMP dėklo diegimą, bet ne prieš patvirtindami „Gentoo“ profilius ir atnaujindami „Portage“ medį bei sistemą.

Interneto serveriui su saugos pataisomis tikriausiai norėsite naudoti Sustiprintą profilį, kuris pakeičia visos sistemos paketo nustatymus (kaukes, USE vėliavėles ir kt.). Norėdami sudaryti sąrašą ir pakeisti savo profilį, naudokite šias komandas.

sudo eselect profile list
sudo eselect profile set 11

6. Nustačius jums tinkamiausią profilį, atnaujinkite sistemą ir „Portage“ medį.

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

7. Dabar laikas tęsti LAMP diegimą. Patikrinkite „Apache“ žiniatinklio serverio dokumentaciją, skirtą USE vėliavėlėms, naudodami komandų jungiklį emerge –pv, tada redaguokite „Portage“ make.conf failą su reikalingomis USE vėliavėlėmis prieš bandydami ją įdiegti.

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

8. Pasirinkite USE vėliavėles kompiliavimo procesui (galite palikti jį taip, kaip yra, jei jūsų serveriui nereikia tam tikrų modulių), tada įdiekite „Apache“ naudodami šią komandą.

emerge --ask www-servers/apache

9. Prieš paleisdami „Apache“ paslaugą paleiskite šią komandą, kad išvengtumėte ServerName klaidos, tada paleiskite httpd demoną.

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

service apache2  start

OR

/etc/init.d/apache2 start

10. Atlikdami kitą veiksmą įdiekite PHP dinaminę scenarijų kalbą. Dėl PHP modulių turtingumo šioje pamokoje bus pateiktas didelis modulių sąrašas, naudojamas kaip USE vėliavėlės, tačiau turėtumėte laikytis tų, kurių reikalauja jūsų serverio konfigūracija.

Pirmiausia gaukite USE specifines PHP žymas naudodami toliau pateiktą komandą.

emerge -pv php

11. Tada redaguokite /etc/portage/make.conf failą ir naudokite šias USE žymas PHP5.5 > (USE vėliavėlės turi būti vienoje eilutėje).

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"

Kitas būdas, kurį galite naudoti, yra atkartoti USE vėliavėles, kad į /etc/portage/package.use failą būtų įtraukti norimi PHP moduliai ir parinktys.

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. Pasirinkę reikiamas USE vėliavėles naudodami vieną iš dviejų pateiktų metodų, įdiekite PHP naudodami šią komandą.

emerge --ask dev-lang/php

13. PHP kūrimo procesas gali šiek tiek užtrukti, atsižvelgiant į jūsų sistemos išteklius ir jam pasibaigus nurodykite „Apache“ naudoti PHP modulius, redaguodami /etc/conf.d/apache2 failą ir pridėkite PHP5 direktyvoje APACHE2_OPTS.

nano /etc/conf.d/apache2

Padarykite APACHE2_OPTS eilutę taip.

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

Norėdami gauti įdiegtų modulių sąrašą, naudokite šią komandą.

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

14. Norėdami iki šiol išbandyti serverio konfigūraciją, sukurkite phpinfo failą localhost šakniniame kataloge (/var/www/localhost/htdocs/) ir iš naujo paleiskite „Apache“ paslaugą, tada nukreipkite naršyklę į http://localhost/info.php arba http://system_IP/info.php.


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

OR

/etc/init.d/apache2  restart

Jei gaunate tokį patį rezultatą kaip aukščiau pateiktame paveikslėlyje, jūsų serveris yra tinkamai sukonfigūruotas. Taigi, galime judėti į priekį su MySQL duomenų baze ir PhpMyAdmin diegimu.

15. Prieš diegdami MySQL duomenų bazę, patikrinkite paketą Naudokite vėliavėles ir, jei reikia, redaguokite „Portage“ make.conf. Norėdami patikrinti ir įdiegti MySQL serverio duomenų bazę, naudokite šias komandas.

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

16. Prieš paleisdami „MySQL“ serverį įsitikinkite, kad „MySQL“ duomenų bazė yra įdiegta jūsų sistemoje, naudodami šią komandą.

/usr/bin/mysql_install_db

17. Dabar paleiskite „MySQL“ duomenų bazę ir apsaugokite ją naudodami mysql_secure_installation pakeisdami pagrindinį slaptažodį, išjunkite root prisijungimą ne „localhost“, pašalinkite anoniminį vartotoją ir patikrinkite duomenų bazę.

service mysql start
mysql_secure_installation

18. Norėdami išbandyti duomenų bazės funkcionalumą, prisijunkite prie MySQL, išduodami toliau pateiktą komandą ir išeikite iš duomenų bazės naudodami quit sakinį.

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

19. Jei MySQL serveriui valdyti reikia grafinės sąsajos, įdiekite PhpMyAdmin paketą vykdydami šias komandas.

emerge -pv phpmyadmin
emerge  dev-db/phpmyadmin

20. Kai paketas bus sukompiliuotas ir įdiegtas, sukurkite konfigūracijos failą, skirtą PhpMyAdmin, nukopijuodami jo šablono failą ir pakeiskite blowfish_secret slaptafrazę naudodami savavališką eilutę.

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. Išbandykite PhpMyAdmin prisijungimo procesą atidarydami naršyklę ir naudodami šį URL.

http://localhost/phpmyadmin

22. Jei viskas yra vietoje, galbūt norėsite automatiškai paleisti paslaugas po perkrovimo padarydami jas pasiekiamas visoje sistemoje, naudodami šias komandas.

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

Tai viskas! Dabar jūs turite dinamišką žiniatinklio aplinką su Apache, PHP scenarijų kalba ir reliacine MySQL duomenų baze labai lanksčioje ir tinkinamoje serverio platformoje, kurią teikia Gentoo.