Jinsi ya kufunga LEMP Stack na PhpMyAdmin katika Ubuntu 20.04


Kwa wale ambao hawajui LEMP ni nini - hii ni mchanganyiko wa vifurushi vya programu - Linux, Nginx (hutamkwa EngineX), MariaDB na PHP.

Unaweza kutumia LEMP kwa madhumuni yote mawili ya majaribio au katika mazingira halisi ya uzalishaji kupeleka programu za wavuti kwa kutumia mifumo ya PHP kama vile Laravel au Yii, au mifumo ya usimamizi wa maudhui kama vile Joomla.

Unaweza kujiuliza kuna tofauti gani kati ya LAMP na LEMP. Kweli, tofauti pekee ni seva ya wavuti ambayo imejumuishwa - Apache (katika LAMP) na Nginx (katika LEMP). Seva zote mbili za wavuti ni nzuri na wakati Apache ndiyo inayotumiwa mara kwa mara, Nginx hairudi nyuma kwa njia yoyote.

Programu nyingine inayotumika sana ambayo kawaida husakinishwa kando ya mrundikano wa LEMP ni PhpMyAdmin - ni zana inayotegemea wavuti ya PHP ya kusimamia seva ya hifadhidata ya MySQL/MariaDB kutoka kwa kivinjari cha wavuti.

Ikiwa unatafuta usanidi wa LAMP kwa Ubuntu 20.04 yako, basi unapaswa kusoma mwongozo wetu wa usanidi wa LAMP kwenye Ubuntu 20.04.

  1. Mwongozo wa Usakinishaji wa Seva ya Ubuntu 20.04

Katika makala hii, utajifunza jinsi ya kusakinisha na kusanidi stack ya LEMP na PhpMyAdmin katika seva ya Ubuntu 20.04.

Hatua ya 1: Kufunga Nginx kwenye Ubuntu 20.04

1. Nginx ni seva ya wavuti yenye kasi ya kisasa iliyoundwa kuhudumia miunganisho mingi ya wakati mmoja bila kutumia rasilimali nyingi za seva. Hii ndiyo sababu mara nyingi ni chaguo linalopendekezwa katika mazingira ya biashara.

NGINX pia hutumiwa kwa kawaida kama kusawazisha mzigo na kashe ya yaliyomo kwenye wavuti. Inaauni seva zinazotegemea Majina na IP-msingi (zinazofanana na wapangishaji pepe katika Apache).

Unaweza kusakinisha Nginx kwenye kompyuta au seva yako ya Ubuntu 20.04 kwa kutekeleza amri ifuatayo.

$ sudo apt update
$ sudo apt install nginx

Faili za usanidi wa Nginx huhifadhiwa chini ya saraka ya /etc/nginx na faili yake kuu ya usanidi ni /etc/nginx/nginx.conf. Muhimu, mzizi wake wa hati chaguo-msingi wa kuhifadhi faili zako za wavuti ni /usr/share/nginx/html/. Lakini unaweza kutumia kiwango /var/www/html ambacho kinapaswa kusanidiwa katika faili ya usanidi ya seva ya tovuti yako au ya programu.

2. Kisakinishi cha kifurushi cha Ubuntu huanzisha mfumo kuanzisha huduma ya Nginx na kuiwezesha kuanza kiotomatiki kila seva inapowashwa upya. Tumia amri zifuatazo za systemctl ili kuthibitisha kuwa huduma inaendeshwa na imewezeshwa.

$ sudo systemctl status nginx 
$ sudo systemctl is-enabled nginx

3. Sasa ni wakati wa kuangalia ikiwa usakinishaji wa Nginx ulifanikiwa kwa kupiga ukurasa wa Nginx kupitia kivinjari kwa kutumia Anwani ya IP ya seva.

http://SERVER_IP

Ikiwa hujui anwani ya IP ya seva yako, unaweza kupata kwa kutumia amri ya IP kama inavyoonyeshwa.

$ ip addr show

Ukurasa wa wavuti chaguo-msingi wa NGINX unapaswa kupakiwa kama inavyoonyeshwa kwenye picha ya skrini ifuatayo, ikithibitisha usakinishaji na uendeshaji sahihi.

Hatua ya 2: Kufunga Hifadhidata ya MariaDB kwenye Ubuntu 20.04

4. MariaDB ni mfumo mpya wa usimamizi wa hifadhidata wa uhusiano ambao uliundwa kama njia ya jumuiya ya MySQL baada ya upataji wa Oracle.

Ufungaji wa MariaDB ni rahisi na unaweza kuanza kwa amri kama:

$ sudo apt install mariadb-server mariadb-client

5. Huduma ya MariaDB pia inaanzishwa kiotomatiki na kuwezeshwa kuanza kila wakati kwenye mfumo wa kuwasha na unaweza kuthibitisha hili kwa kutumia amri zifuatazo.

$ sudo systemctl status mariadb
$ sudo systemctl is-enabled mariadb

6. Iwapo ungependa kuboresha usalama wa MariaDB, unaweza kutekeleza mysql_secure_installation amri, ambayo itatoa baadhi ya chaguo za msingi, lakini muhimu za kusanidi:

$ sudo mysql_secure_installation

Kisha chagua chaguo la kuweka mzizi wa hifadhidata (au msimamizi) nenosiri la mtumiaji na ufuate maongozi na usome maswali kwa uangalifu. Ili kulinda seva yako ya hifadhidata, jibu maswali kama inavyoonyeshwa kwenye picha ya skrini.

  • Ingiza nenosiri la sasa la mzizi (andika bila): Ingiza
  • Je, ungependa kuweka nenosiri la msingi? [Y/n] y
  • Ungependa kuondoa watumiaji wasiojulikana? [Y/n] y
  • Ungependa kutoruhusu kuingia kwa mizizi kwa mbali? [Y/n] y
  • Ungependa kuondoa hifadhidata ya majaribio na uifikie? [Y/n] y
  • Pakia upya majedwali ya upendeleo sasa? [Y/n] y

7. Ili kuunda, kudhibiti na kutekeleza shughuli za hifadhidata, unahitaji kuamuru mysql shell na -u bendera ili kubainisha jina la mtumiaji la hifadhidata na -p ili kutoa nenosiri la mtumiaji. .

Ili kuunganisha kama mtumiaji mzizi, tumia amri ya sudo (hata bila -p bendera) vinginevyo utapokea hitilafu iliyoangaziwa katika picha ya skrini ifuatayo.

$ mysql -u root -p
$ sudo mysql -u root

Hatua ya 3: Kufunga PHP katika Ubuntu 20.04

8. PHP ni lugha huria maarufu, inayoweza kunyumbulika na inayobadilika kwa ajili ya kujenga tovuti na programu za wavuti. Inasaidia mbinu mbalimbali za programu. Muhimu, jumuiya ya PHP ni kubwa na tofauti, inayojumuisha maktaba nyingi, mifumo, na vipengele vingine muhimu.

NGINX hutumia FPM (Kidhibiti Mchakato wa FastCGI) au PHP-FPM, kuchakata hati za PHP. PHP-FPM ni utekelezaji mbadala wa PHP FastCGI unaotumika sana ambao husafirisha na vipengele vingi vya ziada na hutumika kuwezesha tovuti/programu za wavuti zenye trafiki nyingi.

Ili kusakinisha PHP na PHP-FPM, endesha amri ifuatayo ambayo pia itasakinisha vifurushi vingine vya ziada vinavyohitajika.

$ sudo apt install php php-mysql php-fpm

Kwa kuwa PHP 7.4 ndio toleo la msingi la PHP katika Ubuntu 20.04, faili za usanidi wa PHP ziko ndani /etc/php/7.4/ na faili za usanidi wa PHP-FPM huhifadhiwa chini ya /etc/php/7.4/fpm.

9. Kisha, angalia ikiwa huduma ya php7.4-fpm iko na inafanya kazi na ikiwa imewezeshwa na amri ifuatayo.

$ sudo systemctl status php7.4-fpm
$ sudo systemctl is-enabled php7.4-fpm

Hatua ya 4: Kusanidi Nginx kufanya kazi na PHP-FPM

10. Sasa unahitaji kusanidi NGINX kwa maombi ya mteja wa seva mbadala kwa PHP-FPM, ambayo kwa chaguomsingi imesanidiwa kusikiliza kwenye tundu la UNIX kama inavyofafanuliwa na kigezo cha kusikiliza katika /etc/php/7.4/fpm/pool.d/www. .conf faili chaguo-msingi ya usanidi wa bwawa.

$ sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

11. Katika faili ya usanidi ya uzuiaji wa seva chaguo-msingi (/etc/nginx/sites-available/default), toa maoni ya maagizo ya eneo kwa ajili ya kuchakata maombi ya PHP ili kufanana na ile inayoonyeshwa kwenye picha ya skrini ifuatayo.

$ sudo vi /etc/nginx/sites-available/default

Hifadhi faili na uondoke.

12. Kisha jaribu syntax ya usanidi wa NGINX kwa usahihi. Ikiwa ni sawa, anzisha upya huduma ya Nginx ili kutumia mabadiliko mapya.

$ sudo nginx -t
$ sudo systemctl restart nginx

13. Sasa jaribu ikiwa NGINX inaweza kufanya kazi kwa kushirikiana na PHP-FPM kushughulikia maombi ya PHP. Unda ukurasa rahisi wa info.php chini ya saraka ya mizizi ya hati.

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

14. Katika kivinjari chako, nenda kwa kutumia anwani ifuatayo. Ukurasa wa usanidi wa PHP unapaswa kupakia kuonyesha kama inavyoonyeshwa kwenye picha ya skrini ifuatayo.

http://SERVER_IP/info.php

Hatua ya 5: Kufunga PhpMyAdmin katika Ubuntu 20.04

15. PhpMyAdmin ni programu huria na huria ya PHP ya wavuti iliyoundwa mahsusi kwa ajili ya kusimamia seva za hifadhidata za MySQL/MariaDB kupitia kivinjari cha wavuti. Inatoa kiolesura angavu cha picha na inasaidia anuwai ya vipengele vya kawaida kwa kazi za usimamizi wa hifadhidata.

$ sudo apt install phpmyadmin

16. Wakati wa usakinishaji wa kifurushi, utaulizwa kusanidi vipengele kadhaa vya kifurushi cha PhpMyAdmin. Kwanza, itaulizwa kuchagua seva ya wavuti chaguo-msingi kwa kuiendesha. Bonyeza Esc kwa sababu NGINX haiko kwenye orodha iliyotolewa.

17. Kisha, PhpMyAdmin inahitaji hifadhidata kufanya kazi nayo. Katika kidokezo hiki cha usanidi wa kifurushi, chagua Ndiyo ili kusanidi hifadhidata ya PhpMyAdmin na kifurushi cha dbconfig-common.

18. Katika kidokezo kinachofuata, unahitaji kutoa nenosiri kwa PhpMyAdmin ili kujisajili na hifadhidata ya MariaDB. Ingiza nenosiri salama na ubofye Ingiza.

Hatua ya 6: Kusanidi NGINX ili Kutumikia Tovuti ya PhpMyAdmin

19. Ili kuwezesha NGINX kutumikia tovuti ya PhpMyAdmin iliyoko /usr/share/phpmyadmin, tengeneza ulinganifu wa saraka hii chini ya mzizi wa hati, kisha uweke ruhusa sahihi na umiliki kwenye saraka ya PHPMyAdmin kama ifuatavyo.

$ sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
$ sudo chmod 775 -R /usr/share/phpmyadmin/
$ sudo chown root:www-data -R /usr/share/phpmyadmin/

20. Kando na hilo, hakikisha kwamba maagizo ya faharasa katika usanidi chaguo-msingi wa kuzuia seva (/etc/nginx/sites-available/default) ni pamoja na index.php kama inavyoonyeshwa kwenye skrini ifuatayo.

21. Kisha, anzisha upya huduma ya Nginx kwa mara nyingine tena ili kutumia mabadiliko yaliyo hapo juu.

$ sudo systemctl restart nginx

22. Sasa fikia tovuti ya PhpMyAdmin kutoka kwa kivinjari kwa kutumia anwani ifuatayo.

http://SERVER_IP/phpmyadmin

Katika ukurasa wa kuingia, thibitisha na jina la mtumiaji na nenosiri la PHPMyAdmin. Kumbuka kuingia kwa mtumiaji wa kijijini kumezimwa isipokuwa kama unafikia PHPMyAdmin kwenye mwenyeji ambapo hifadhidata ya MariaDB imesakinishwa, ufikiaji wa mizizi hautafanya kazi.

Mwisho kabisa, linda usakinishaji wako wa PhpMyAdmin kwa kutumia mwongozo wetu: Vidokezo 4 Muhimu vya Kulinda Kiolesura cha Wavuti cha PhpMyAdmin.

Hitimisho

Usanidi wako wa LEMP sasa umekamilika na unaweza kuanza kuunda programu zako za wavuti au kucheza tu na huduma za Nginx na MariaDB ambazo umesakinisha hivi punde. Hizi hutumiwa sana na kupata ujuzi zaidi ndani yao hupendekezwa sana kwa wasimamizi wa mfumo.