Otu esi etinye LEMP Stack na PhpMyAdmin na Ubuntu 20.04


Maka ndị n'ime gị na-amaghị ihe LEMP bụ - nke a bụ ngwakọta nke ngwugwu ngwanrọ - Linux, Nginx (akpọ EngineX), MariaDB na PHP.

Ị nwere ike iji LEMP maka ebumnuche ule abụọ ma ọ bụ na gburugburu ebe mmepụta ihe iji bufee ngwa weebụ site na iji PHP frameworks dị ka Laravel ma ọ bụ Yii, ma ọ bụ njikwa ọdịnaya dịka Joomla.

Ị nwere ike ịnọ na-eche ihe dị iche n'etiti LAMP na LEMP. Ọ dị mma, naanị ihe dị iche bụ sava weebụ nke gụnyere - Apache (na LAMP) na Nginx (na LEMP). Sava weebụ abụọ a dị mma ma ebe Apache bụ nke a na-ejikarị eme ihe, Nginx anaghị alaghachi azụ n'ụzọ ọ bụla.

Ngwa ọzọ a na-ejikarị eme ihe n'akụkụ nchịkọta LEMP bụ PhpMyAdmin - bụ ngwa weebụ dabeere na PHP maka ijikwa ihe nkesa nchekwa data MySQL/MariaDB site na ihe nchọgharị weebụ.

Ọ bụrụ na ị na-achọ nhazi LAMP maka Ubuntu 20.04 gị, mgbe ahụ ị ga-agụ akwụkwọ ntuziaka nhazi LAMP na Ubuntu 20.04.

  1. Ubuntu 20.04 Ntuziaka nwụnye nkesa

N'isiokwu a, ị ga-amụta ka esi etinye ma hazie nchịkọta LEMP na PhpMyAdmin na sava Ubuntu 20.04.

Kwụpụ 1: Wụnye Nginx na Ubuntu 20.04

1. Nginx bụ ngwa ngwa weebụ nke ọgbara ọhụrụ emebere iji mee ka ọtụtụ njikọ dị n'otu oge na-erighị ọtụtụ ihe nkesa. Nke a bụ ya mere ọ na-abụkarị nhọrọ kacha mma na gburugburu ụlọ ọrụ.

A na-ejikwa NGINX eme ihe dị ka ihe nkwụnye ibu na cache ọdịnaya weebụ. Ọ na-akwado sava mebere aha dabere na aha yana IP (nke dị ka ndị ọbịa mebere na Apache).

Ị nwere ike iwunye Nginx na desktọpụ Ubuntu 20.04 gị ma ọ bụ ihe nkesa site na iji iwu na-esonụ.

$ sudo apt update
$ sudo apt install nginx

A na-echekwa faịlụ nhazi Nginx n'okpuru ndekọ /etc/nginx yana faịlụ nhazi ya bụ /etc/nginx/nginx.conf. N'ụzọ dị mkpa, mgbọrọgwụ akwụkwọ ndabere ya maka ịchekwa faịlụ weebụ gị bụ /usr/share/nginx/html/. Mana ị nwere ike iji ọkọlọtọ/var/www/html nke ekwesịrị ịhazi na faịlụ nhazi ihe nkesa nke weebụsaịtị ma ọ bụ ngwa.

2. Ubuntu ngwugwu installer na-akpali systemd ka ịmalite ọrụ Nginx ma mee ka ọ malite na-akpaghị aka mgbe ọ bụla a na-emegharị ihe nkesa ahụ. Jiri iwu systemctl ndị a iji gosi na ọrụ a na-agba ma agbanyere ya.

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

3. Ugbu a, ọ bụ oge ịlele ma ọ bụrụ na ntinye Nginx gara nke ọma site na ịkpọ ibe Nginx site na ihe nchọgharị site na iji Adreesị IP nkesa.

http://SERVER_IP

Ọ bụrụ na ịmaghị adreesị IP nke ihe nkesa gị, ị nwere ike ịhụ site na iji iwu IP dị ka egosiri.

$ ip addr show

Ibe weebụ ndabara NGINX kwesịrị ibu dị ka egosiri na nseta ihuenyo na-esonụ, na-akwado nrụnye na ịrụ ọrụ ziri ezi.

Kwụpụ 2: Wụnye ọdụ data MariaDB na Ubuntu 20.04

4. MariaDB bụ usoro njikwa nchekwa data mmekọrịta ọhụrụ emebere dị ka ndụdụ obodo MySQL ka ọ nwetachara Oracle.

Ntinye nke MariaDB dị mfe ma nwee ike ịmalite site na iwu dịka:

$ sudo apt install mariadb-server mariadb-client

5. A na-amalitekwa ọrụ MariaDB na-akpaghị aka ma mee ka ọ malite mgbe niile na buut sistemụ ma ị nwere ike kwado nke a site na iji iwu ndị a.

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

6. Ọ bụrụ na ị chọrọ ịkwalite nchekwa MariaDB, ị nwere ike ịgba mysql_secure_installation iwu, nke ga-enye ụfọdụ isi, ma nhọrọ dị mkpa iji hazie:

$ sudo mysql_secure_installation

Wee họrọ nhọrọ iji tọọ mgbọrọgwụ nchekwa data (ma ọ bụ onye nchịkwa) paswọọdụ onye ọrụ wee soro ndị kpaliri wee jiri nlezianya gụọ ajụjụ ndị a. Iji chekwaa nkesa nchekwa data gị, zaa ajụjụ ndị dị ka egosiri na nseta ihuenyo.

  • Tinye paswọọdụ ugbu a maka mgbọrọgwụ (tinye maka enweghị nke ọ bụla): Tinye
  • Tọọ mgbọrọgwụ okwuntughe? [Y/n] y
  • Wepu ndị ọrụ amaghị aha? [Y/n] y
  • Kwepu nbanye mgbọrọgwụ n'ime oge? [Y/n] y
  • Wepu nchekwa data nnwale wee nweta ya? [Y/n] y
  • Bugharịa tebụl ihe ùgwù ugbu a? [Y/n] y

7. Iji mepụta, jikwaa, na ịrụ ọrụ nchekwa data, ị ga-achọ mysql shell na ọkọlọtọ -u iji kọwaa aha njirimara nchekwa data yana -p iji nye paswọọdụ onye ọrụ. .

Iji jikọọ dị ka onye ọrụ mgbọrọgwụ, jiri iwu sudo (ọbụlagodi na-enweghị ọkọlọtọ -p) ma ọ bụghị ya, ị ga-enweta njehie ahụ akọwapụtara na nseta ihuenyo na-esote.

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

Kwụpụ 3: Wụnye PHP na Ubuntu 20.04

8. PHP bụ a na-ewu ewu na-emeghe-isi iyi, mgbanwe, na ike scripting asụsụ maka iwu webụsaịtị na ngwa webụ. Ọ na-akwado usoro mmemme dị iche iche. N'ụzọ dị mkpa, obodo PHP buru ibu ma dị iche iche, mejupụtara ọtụtụ ọba akwụkwọ, ihe nhazi, na ihe ndị ọzọ bara uru.

NGINX na-eji FPM (FastCGI Process Manager) ma ọ bụ PHP-FPM, iji hazie script PHP. PHP-FPM bụ mmejuputa PHP FastCGI ọzọ a na-ejikarị eme ihe nke na-ebufe nwere ọtụtụ atụmatụ ndị ọzọ ma ejiri ya mee ka saịtị/ngwa weebụ dị elu.

Iji wụnye PHP na PHP-FPM, mee iwu na-esonụ nke ga-etinyekwa ụfọdụ ngwungwu ndị ọzọ achọrọ.

$ sudo apt install php php-mysql php-fpm

Ebe PHP 7.4 bụ ụdị ndabara nke PHP na Ubuntu 20.04, faịlụ nhazi PHP dị na /etc/php/7.4/ na faịlụ nhazi PHP-FPM na-echekwa n'okpuru /etc/php/7.4/fpm.

9. Ọzọ, lelee ma ọ bụrụ na ọrụ php7.4-fpm na-arụ ọrụ ma na-enyere ya aka na iwu na-esonụ.

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

Kwụpụ 4: Ịhazi Nginx ka ọ rụọ ọrụ na PHP-FPM

10. Ugbu a ịkwesịrị ịhazi NGINX ka ọ bụrụ arịrịọ ndị ahịa na-arịọ arịrịọ maka PHP-FPM, nke a na-ahazi site na ndabara iji gee ntị na oghere UNIX dị ka akọwara site na parameter ntị na /etc/php/7.4/fpm/pool.d/www. .conf ndabere ọdọ mmiri faịlụ nhazi.

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

11. Na ndabara ihe nkesa ngọngọ nhazi faịlụ (/etc/nginx/sites-available/default), uncomment na ọnọdụ ntụziaka maka nhazi PHP arịrịọ ka ọ dị ka nke egosiri na-esonụ nseta ihuenyo.

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

Chekwaa faịlụ wee pụọ.

12. Mgbe ahụ nwalee syntax nhazi NGINX maka izi ezi. Ọ bụrụ na ọ dị mma, malitegharịa ọrụ Nginx ka itinye mgbanwe ọhụrụ ahụ.

$ sudo nginx -t
$ sudo systemctl restart nginx

13. Ugbu a nwalee ma NGINX nwere ike ịrụ ọrụ na njikọ PHP-FPM iji hazie arịrịọ PHP. Mepụta ibe info.php dị mfe n'okpuru ndekọ mgbọrọgwụ akwụkwọ.

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

14. N'ime ihe nchọgharị gị, jiri adreesị na-esonụ gaa na ya. Ibe nhazi PHP kwesịrị ibu egosi dị ka egosiri na nseta ihuenyo na-esonụ.

http://SERVER_IP/info.php

Kwụpụ 5: Wụnye PhpMyAdmin na Ubuntu 20.04

15. PhpMyAdmin bụ ngwa PHP nwere n'efu na mepere emepe nke emepụtara maka ijikwa sava nchekwa data MySQL/MariaDB site na ihe nchọgharị weebụ. Ọ na-enye interface eserese nwere ọgụgụ isi ma na-akwado ọtụtụ atụmatụ a na-ahụkarị maka ọrụ nchịkwa nchekwa data.

$ sudo apt install phpmyadmin

16. N'oge ntinye ngwugwu, a ga-agwa gị ka ịhazi ọtụtụ akụkụ nke ngwugwu PhpMyAdmin. Nke mbụ, a ga-akpali gị ịhọrọ sava weebụ ndabara maka iji ya. Pịa Esc n'ihi na NGINX anọghị na listi enyere.

17. Ọzọ, PhpMyAdmin chọrọ nchekwa data na-arụ ọrụ na. Na ngwa nhazi ngwungwu a, họrọ Ee ka hazie nchekwa data maka PhpMyAdmin na ngwungwu dbconfig-common.

18. Na ngwa ngwa ọzọ, ịkwesịrị ịnye paswọọdụ maka PhpMyAdmin iji debanye aha na nchekwa data MariaDB. Tinye paswọọdụ echekwara wee pịa Tinye.

Kwụpụ 6: Na-ahazi NGINX iji jeere saịtị PhpMyAdmin

19. Iji mee ka NGINX jee ozi na saịtị PhpMyAdmin dị na/usr/share/phpmyadmin, mepụta symlink maka ndekọ a n'okpuru mgbọrọgwụ akwụkwọ, wee tọọ ikike na ikike ziri ezi na ndekọ PHPMyAdmin dị ka ndị a.

$ 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. E wezụga, hụ na ntụziaka index na ndabara nkesa ngọngọ nhazi (/etc/nginx/sites-available/default) faịlụ gụnyere index.php dị ka e gosiri na-esonụ nseta ihuenyo.

21. Ọzọ, malitegharịa ọrụ Nginx ọzọ iji tinye mgbanwe ndị dị n'elu.

$ sudo systemctl restart nginx

22. Ugbu a nweta saịtị PhpMyAdmin site na ihe nchọgharị site na iji adreesị a.

http://SERVER_IP/phpmyadmin

Na ibe nbanye, jiri aha njirimara na paswọọdụ PHPMyAdmin chọpụta. Cheta nbanye onye ọrụ mgbọrọgwụ dịpụrụ adịpụ nwere nkwarụ ọ gwụla ma ị na-enweta PHPMyAdmin na localhost ebe etinyere nchekwa data MariaDB, ohere mgbọrọgwụ agaghị arụ ọrụ.

N'ikpeazụ ma ọ dịghị ihe ọzọ, chekwaa nwụnye PhpMyAdmin gị site na iji ntuziaka anyị: 4 Ndụmọdụ bara uru iji chekwaa interface weebụ PhpMyAdmin.

Mmechi

Nhazi LEMP gị ezuola ugbu a ma ị nwere ike ịmalite wulite ngwa webụ gị ma ọ bụ jiri naanị ọrụ Nginx na MariaDB gwuo egwu. A na-ejikarị ihe ndị a eme ihe na inwetakwu ihe ọmụma na ha ka akwadoro nke ukwuu maka ndị nchịkwa usoro.