Kif Tinstalla LEMP Stack ma 'PhpMyAdmin f'Ubuntu 20.04


Għal dawk minnkom li ma jafux x'inhu LEMP - din hija taħlita ta 'pakketti ta' softwer - Linux, Nginx (pronunzjata EngineX), MariaDB u PHP.

Tista' tuża LEMP għaż-żewġ skopijiet ta' ttestjar jew f'ambjent ta' produzzjoni reali biex tuża applikazzjonijiet tal-web billi tuża oqfsa PHP bħal Laravel jew Yii, jew sistemi ta' ġestjoni tal-kontenut bħal Joomla

Tista' tistaqsi x'inhi d-differenza bejn LAMP u LEMP. Ukoll, l-unika differenza hija s-server tal-web li huwa inkluż - Apache (f'LAMP) u Nginx (f'LEMP). Iż-żewġ servers tal-web huma pjuttost tajbin u filwaqt li Apache huwa l-aktar wieħed użat ta 'spiss, Nginx bl-ebda mod ma jmur lura.

Applikazzjoni oħra użata ħafna normalment installata flimkien mal-munzell LEMP hija PhpMyAdmin - hija għodda PHP bbażata fuq il-web għall-amministrazzjoni ta' server tad-database MySQL/MariaDB minn web browser.

Jekk qed tfittex setup LAMP għall-Ubuntu 20.04 tiegħek, allura għandek taqra l-gwida tagħna tas-setup LAMP fuq Ubuntu 20.04.

  1. Gwida għall-Installazzjoni tas-Server Ubuntu 20.04

F'dan l-artikolu, titgħallem kif tinstalla u tikkonfigura l-munzell LEMP ma 'PhpMyAdmin fis-server Ubuntu 20.04.

Pass 1: Installazzjoni ta 'Nginx fuq Ubuntu 20.04

1. Nginx huwa server web modern veloċi ddisinjat biex iservi ħafna konnessjonijiet konkorrenti mingħajr ma jikkunsmaw wisq riżorsi tas-server. Huwa għalhekk li ħafna drabi hija l-għażla preferuta f'ambjenti ta 'intrapriża.

NGINX jintuża wkoll komunement bħala load balancer u cache tal-kontenut tal-web. Jappoġġja servers virtwali bbażati fuq ismijiet u bbażati fuq IP (analogu għal hosts virtwali f'Apache).

Tista 'tinstalla Nginx fuq id-desktop jew is-server Ubuntu 20.04 tiegħek billi tħaddem il-kmand li ġej.

$ sudo apt update
$ sudo apt install nginx

Il-fajls tal-konfigurazzjoni Nginx huma maħżuna taħt id-direttorju /etc/nginx u l-fajl tal-konfigurazzjoni prinċipali tiegħu huwa /etc/nginx/nginx.conf. Importanti, l-għerq tad-dokument default tiegħu għall-ħażna tal-fajls tal-web tiegħek huwa /usr/share/nginx/html/. Imma tista 'tuża l-istandard /var/www/html li għandu jiġi kkonfigurat fil-fajl tal-konfigurazzjoni tal-blokk tas-server tal-websajt jew tal-applikazzjoni tiegħek.

2. L-installatur tal-pakkett Ubuntu jqajjem systemd biex jibda s-servizz Nginx u jippermettilu jibda awtomatikament kull darba li s-server jerġa 'jibda. Uża l-kmandi systemctl li ġejjin biex tikkonferma li s-servizz qed jaħdem u huwa attivat.

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

3. Issa wasal iż-żmien li tivverifika jekk l-installazzjoni ta 'Nginx kinitx ta' suċċess billi ċċempel lill-paġna Nginx permezz tal-browser bl-użu ta 'l-Indirizz IP tas-server.

http://SERVER_IP

Jekk ma tafx l-indirizz IP tas-server tiegħek, tista 'ssib tuża kmand IP kif muri.

$ ip addr show

Il-paġna web default NGINX għandha titgħabba kif muri fil-screenshot li ġej, li tikkonferma l-installazzjoni u l-operat korretti.

Pass 2: Installazzjoni ta' MariaDB Database fuq Ubuntu 20.04

4. MariaDB hija sistema ta' ġestjoni tad-database relazzjonali relattivament ġdida li kienet iddisinjata bħala furketta komunitarja ta' MySQL wara l-akkwist ta' Oracle .

L-installazzjoni ta 'MariaDB hija sempliċi u tista' tinbeda bil-kmand bħala:

$ sudo apt install mariadb-server mariadb-client

5. Is-servizz MariaDB jinbeda wkoll awtomatikament u jkun jista 'jibda dejjem fil-boot tas-sistema u tista' tikkonferma dan billi tuża l-kmandi li ġejjin.

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

6. Jekk tixtieq ittejjeb is-sigurtà ta' MariaDB, tista' tħaddem il-kmand mysql_secure_installation, li jipprovdi xi għażliet bażiċi iżda importanti biex jiġi kkonfigurat:

$ sudo mysql_secure_installation

Imbagħad agħżel l-għażla li tissettja l-password tal-utent tal-għerq tad-database (jew amministratur) u segwi l-istruzzjonijiet u aqra bir-reqqa l-mistoqsijiet. Biex tiżgura s-server tad-database tiegħek, wieġeb il-mistoqsijiet kif muri fil-screenshot.

  • Daħħal il-password attwali għall-għeruq (daħħal għal xejn): Daħħal
  • Issettja password root? [Y/n] y
  • Tneħħi utenti anonimi? [Y/n] y
  • Ma tħallix il-login ta' l-għeruq mill-bogħod? [Y/n] y
  • Tneħħi d-database tat-test u aċċess għaliha? [Y/n] y
  • Reload it-tabelli tal-privileġġi issa? [Y/n] y

7. Biex toħloq, timmaniġġja, u twettaq operazzjonijiet tad-database, għandek bżonn li mysql shell kmand bil-marka -u biex tispeċifika l-isem tal-utent tad-database u -p biex tipprovdi l-password tal-utent .

Biex tikkonnettja bħala l-utent root, uża l-kmand sudo (anke mingħajr il-bandiera -p) inkella tirċievi l-iżball enfasizzat fil-screenshot li ġej.

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

Pass 3: Installazzjoni ta' PHP f'Ubuntu 20.04

8. PHP huwa lingwa ta' skriptjar popolari ta' sors miftuħ, flessibbli u dinamiku għall-bini ta' websajts u applikazzjonijiet tal-web. Jappoġġja varjetà ta 'tekniki ta' programmar. Importanti, il-komunità PHP hija kbira u diversa, magħmula minn għadd ta' libreriji, oqfsa, u komponenti utli oħra.

NGINX juża FPM (FastCGI Process Manager) jew PHP-FPM, biex jipproċessa skripts PHP. PHP-FPM hija implimentazzjoni alternattiva PHP FastCGI użata ħafna li tintbagħat b'ħafna karatteristiċi addizzjonali u tintuża biex tħaddem siti/applikazzjonijiet tal-web b'traffiku għoli.

Biex tinstalla PHP u PHP-FPM, ħaddem il-kmand li ġej li jinstalla wkoll xi pakketti addizzjonali meħtieġa.

$ sudo apt install php php-mysql php-fpm

Peress li PHP 7.4 hija l-verżjoni default ta 'PHP f'Ubuntu 20.04, il-fajls tal-konfigurazzjoni PHP jinsabu f'/etc/php/7.4/ u l-fajls tal-konfigurazzjoni PHP-FPM huma maħżuna taħt /etc/php/7.4/fpm.

9. Sussegwentement, iċċekkja jekk is-servizz php7.4-fpm huwiex qed jaħdem u jekk huwiex attivat bil-kmand li ġej.

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

Pass 4: Konfigurazzjoni ta 'Nginx biex jaħdem ma' PHP-FPM

10. Issa għandek bżonn tikkonfigura NGINX biex tipprokura talbiet tal-klijenti lil PHP-FPM, li awtomatikament huwa kkonfigurat biex jisma' fuq socket UNIX kif definit mill-parametru jisimgħu fil-/etc/php/7.4/fpm/pool.d/www .conf fajl tal-konfigurazzjoni tal-pool default.

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

11. Fil-fajl tal-konfigurazzjoni tal-blokk tas-server default (/etc/nginx/sites-available/default), neħħi l-kumment tad-direttiva tal-post għall-ipproċessar tat-talbiet PHP biex tidher bħal dik murija fil-screenshot li ġej.

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

Issejvja l-fajl u oħroġ.

12. Imbagħad ittestja s-sintassi tal-konfigurazzjoni NGINX għall-korrettezza. Jekk huwa OK, ibda mill-ġdid is-servizz Nginx biex tapplika l-bidliet ġodda.

$ sudo nginx -t
$ sudo systemctl restart nginx

13. Issa ttestja jekk NGINX jistax jaħdem flimkien ma 'PHP-FPM biex jipproċessa talbiet PHP. Oħloq paġna info.php sempliċi taħt id-direttorju tal-għerq tad-dokument.

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

14. Fil-browser tiegħek, innaviga billi tuża l-indirizz li ġej. Il-paġna tal-konfigurazzjoni tal-PHP għandha tagħbija li turi kif muri fil-screenshot li ġej.

http://SERVER_IP/info.php

Pass 5: Installazzjoni ta' PhpMyAdmin f'Ubuntu 20.04

15. PhpMyAdmin hija applikazzjoni PHP bbażata fuq il-web b'xejn u open-source maħluqa speċifikament għall-amministrazzjoni ta' servers ta' database MySQL/MariaDB permezz ta' web browser. Jipprovdi interface grafiku intuwittiv u jappoġġja firxa wiesgħa ta 'karatteristiċi komuni għall-kompiti ta' amministrazzjoni tad-database.

$ sudo apt install phpmyadmin

16. Waqt l-installazzjoni tal-pakkett, inti tintalab tikkonfigura diversi aspetti tal-pakkett PhpMyAdmin. L-ewwel, se tkun imħeġġa tagħżel is-server tal-web default għat-tħaddim tiegħu. Agħfas Esc għax NGINX mhux fil-lista pprovduta.

17. Sussegwentement, PhpMyAdmin jeħtieġ database biex taħdem magħha. F'dan il-pront tal-konfigurazzjoni tal-pakkett, agħżel Iva biex tikkonfigura database għal PhpMyAdmin bil-pakkett dbconfig-common.

18. Fil-pront li jmiss, għandek bżonn tipprovdi password għal PhpMyAdmin biex tirreġistra mad-database MariaDB. Daħħal password sigura u kklikkja Daħħal.

Pass 6: Konfigurazzjoni ta 'NGINX biex Iservi PhpMyAdmin Site

19. Biex NGINX ikun jista’ jservi s-sit PhpMyAdmin li jinsab f’/usr/share/phpmyadmin, oħloq symlink għal dan id-direttorju taħt l-għerq tad-dokument, imbagħad issettja l-permessi u l-pussess korretti fuq id-direttorju PHPMyAdmin kif ġej.

$ 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. Barra minn hekk, żgura li d-direttiva tal-indiċi fil-fajl tal-konfigurazzjoni tal-blokk tas-server default (/etc/nginx/sites-available/default) tinkludi index.php kif muri fil-screenshot li ġej.

21. Sussegwentement, ibda mill-ġdid is-servizz Nginx għal darb'oħra biex tapplika l-bidliet ta 'hawn fuq.

$ sudo systemctl restart nginx

22. Issa aċċess għas-sit PhpMyAdmin minn browser billi tuża l-indirizz li ġej.

http://SERVER_IP/phpmyadmin

Fil-paġna tal-login, awtentika bl-isem tal-utent u l-password PHPMyAdmin. Ftakar li l-login remot tal-utent tal-għeruq huwa diżattivat sakemm ma tkunx qed taċċessa PHPMyAdmin fuq il-localhost fejn hija installata d-database MariaDB, l-aċċess tal-għeruq mhux se jaħdem.

Fl-aħħar iżda mhux l-inqas, assigura l-installazzjoni PhpMyAdmin tiegħek billi tuża l-gwida tagħna: 4 Suġġerimenti Utli biex Tiżgura l-Interface tal-Web PhpMyAdmin.

Konklużjoni

Is-setup LEMP tiegħek issa hija kompluta u tista 'tibda tibni l-applikazzjonijiet tal-web tiegħek jew sempliċement tilgħab mas-servizzi Nginx u MariaDB li għadek kif installajt. Dawn huma użati ħafna u l-kisba ta 'aktar għarfien fihom huwa rakkomandat ħafna għall-amministraturi tas-sistema.