Kaip įdiegti LEMP Stack naudojant PhpMyAdmin Ubuntu 20.04


Tiems iš jūsų, kurie nežino, kas yra LEMP – tai programinės įrangos paketų derinys – Linux, Nginx (tariama EngineX), MariaDB ir PHP.

Galite naudoti LEMP tiek testavimo tikslais, tiek realioje gamybinėje aplinkoje, kad diegtumėte žiniatinklio programas naudodami PHP sistemas, pvz., Laravel arba Yii, arba turinio valdymo sistemas, tokias kaip WordPress, Drupal arba Joomla

Jums gali kilti klausimas, kuo skiriasi LAMP ir LEMP. Na, vienintelis skirtumas yra įtrauktas žiniatinklio serveris – Apache (LAMP) ir Nginx (LEMP). >). Abu žiniatinklio serveriai yra gana geri ir nors Apache yra dažniausiai naudojamas, Nginx jokiu būdu neatsisako.

Kita plačiai naudojama programa, paprastai įdiegiama kartu su LEMP krūva, yra PhpMyAdmin – tai PHP žiniatinklio įrankis, skirtas MySQL/MariaDB duomenų bazės serveriui administruoti. iš interneto naršyklės.

Jei ieškote LAMP sąrankos savo Ubuntu 20.04, turėtumėte perskaityti mūsų LAMP sąrankos vadovą apie Ubuntu 20.04.

Būtinos sąlygos:

  1. Ubuntu 20.04 serverio diegimo vadovas

Šiame straipsnyje sužinosite, kaip įdiegti ir konfigūruoti LEMP krūvą su PhpMyAdmin Ubuntu 20.04 serveryje.

1 veiksmas: „Nginx“ diegimas „Ubuntu 20.04“.

1. Nginx yra spartus modernus žiniatinklio serveris, sukurtas aptarnauti daug vienu metu vykstančių jungčių nenaudojant per daug serverio išteklių. Štai kodėl tai dažnai yra pageidaujamas pasirinkimas įmonės aplinkoje.

NGINX taip pat dažnai naudojamas kaip apkrovos balansavimo priemonė ir žiniatinklio turinio talpykla. Jis palaiko vardais ir IP pagrįstus virtualius serverius (analogiškus „Apache“ virtualiems pagrindiniams kompiuteriams).

Galite įdiegti Nginx savo Ubuntu 20.04 darbalaukyje arba serveryje vykdydami šią komandą.

sudo apt update
sudo apt install nginx

Nginx konfigūracijos failai saugomi kataloge /etc/nginx, o pagrindinis konfigūracijos failas yra /etc/nginx/nginx.conf. Svarbu tai, kad numatytoji žiniatinklio failų saugojimo dokumento šaknis yra /usr/share/nginx/html/. Tačiau galite naudoti standartinį /var/www/html, kuris turėtų būti sukonfigūruotas jūsų svetainės arba programos serverio bloko konfigūracijos faile.

2. Ubuntu paketo diegimo programa suaktyvina systemd, kad paleistų Nginx paslaugą ir įgalintų ją automatiškai paleisti kiekvieną kartą, kai serveris paleidžiamas iš naujo. Norėdami patvirtinti, kad paslauga veikia ir įjungta, naudokite šias systemctl komandas.

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

3. Dabar atėjo laikas patikrinti, ar Nginx diegimas buvo sėkmingas, iškvietus Nginx puslapį per naršyklę naudojant serverio IP adresą.

http://SERVER_IP

Jei nežinote savo serverio IP adreso, galite jį rasti naudodami IP komandą, kaip parodyta.

ip addr show

Numatytasis NGINX tinklalapis turėtų būti įkeltas, kaip parodyta toliau pateiktoje ekrano kopijoje, patvirtinant teisingą diegimą ir veikimą.

2 veiksmas: „MariaDB“ duomenų bazės diegimas „Ubuntu 20.04“.

4. „MariaDB“ yra palyginti nauja reliacinė duomenų bazių valdymo sistema, kuri buvo sukurta kaip MySQL bendruomenės šakutė, įsigijus „Oracle“.

„MariaDB“ diegimas yra paprastas ir gali būti pradėtas naudojant komandą:

sudo apt install mariadb-server mariadb-client

5. „MariaDB“ paslauga taip pat automatiškai paleidžiama ir įgalinama visada paleisti sistemos įkrovos metu. Tai galite patvirtinti naudodami šias komandas.

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

6. Jei norite patobulinti MariaDB apsaugą, galite paleisti komandą mysql_secure_installation, kuri suteiks keletą pagrindinių, tačiau svarbių konfigūravimo parinkčių. :

sudo mysql_secure_installation

Tada pasirinkite parinktį nustatyti duomenų bazės šakninio (arba administratoriaus) vartotojo slaptažodį ir vykdykite nurodymus bei atidžiai perskaitykite klausimus. Norėdami apsaugoti duomenų bazės serverį, atsakykite į klausimus, kaip parodyta ekrano kopijoje.

  • Įveskite dabartinį root slaptažodį (įveskite, jei neturite): Įveskite
  • Nustatyti root slaptažodį? [Y/n] y
  • Pašalinti anoniminius naudotojus? [Y/n] y
  • Neleisti root prisijungimo nuotoliniu būdu? [Y/n] y
  • Pašalinti bandymų duomenų bazę ir prieigą prie jos? [Y/n] y
  • Iš naujo įkelti privilegijų lenteles dabar? [Y/n] y

7. Norėdami sukurti, tvarkyti ir atlikti duomenų bazės operacijas, turite mysql apvalkalo komandą su žyma -u, kad nurodytumėte duomenų bazės naudotojo vardą ir -p, kad pateiktumėte vartotojo slaptažodį.

Jei norite prisijungti kaip root vartotojas, naudokite komandą sudo (net be vėliavėlės -p), kitaip gausite klaidą, paryškintą šioje ekrano kopijoje.

mysql -u root -p
sudo mysql -u root

3 veiksmas: PHP diegimas Ubuntu 20.04

8. PHP yra populiari atvirojo kodo, lanksti ir dinamiška scenarijų kalba, skirta svetainėms ir žiniatinklio programoms kurti. Jis palaiko įvairius programavimo būdus. Svarbu tai, kad PHP bendruomenė yra didelė ir įvairi, ją sudaro daugybė bibliotekų, sistemų ir kitų naudingų komponentų.

NGINX naudoja FPM (FastCGI Process Manager) arba PHP-FPM, kad apdorotų PHP scenarijus. PHP-FPM yra plačiai naudojamas alternatyvus PHP FastCGI diegimas, kuris pateikiamas su daugybe papildomų funkcijų ir naudojamas didelio srauto svetainėms/žiniatinklio programoms maitinti.

Norėdami įdiegti PHP ir PHP-FPM, paleiskite šią komandą, kuri taip pat įdiegs kai kuriuos reikiamus papildomus paketus.

sudo apt install php php-mysql php-fpm

Kadangi PHP 7.4 yra numatytoji PHP versija Ubuntu 20.04, PHP konfigūracijos failai yra adresu /etc/php/7.4 / ir PHP-FPM konfigūracijos failai yra saugomi /etc/php/7.4/fpm.

9. Tada patikrinkite, ar paslauga php7.4-fpm veikia ir ar ji įgalinta naudojant šią komandą.

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

4 veiksmas: „Nginx“ konfigūravimas darbui su PHP-FPM

10. Dabar turite sukonfigūruoti NGINX, kad tarpinio serverio klientų užklausos būtų teikiamos PHP-FPM, kuri pagal numatytuosius nustatymus sukonfigūruota klausytis UNIX lizdas, kaip apibrėžta klausymo parametru /etc/php/7.4/fpm/pool.d/www.conf numatytame telkinio konfigūracijos faile.

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

11. Numatytajame serverio bloko konfigūracijos faile (/etc/nginx/sites-available/default) panaikinkite PHP apdorojimo vietos direktyvą. užklausos atrodyti taip, kaip parodyta toliau esančioje ekrano kopijoje.

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

Išsaugokite failą ir išeikite.

12. Tada patikrinkite, ar NGINX konfigūracijos sintaksė yra teisinga. Jei viskas gerai, iš naujo paleiskite „Nginx“ paslaugą, kad pritaikytumėte naujus pakeitimus.

sudo nginx -t
sudo systemctl restart nginx

13. Dabar patikrinkite, ar NGINX gali veikti kartu su PHP-FPM, kad apdorotų PHP užklausas. Sukurkite paprastą info.php puslapį dokumento šakniniame kataloge.

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

14. Naršyklėje naršykite naudodami šį adresą. PHP konfigūracijos puslapis turėtų būti įkeltas, kaip parodyta toliau esančioje ekrano kopijoje.

http://SERVER_IP/info.php

5 veiksmas: „PhpMyAdmin“ įdiegimas Ubuntu 20.04

15. PhpMyAdmin yra nemokama atvirojo kodo žiniatinklio PHP programa, specialiai sukurta MySQL/MariaDB duomenų bazių serveriams per žiniatinklio naršyklę administruoti. Tai suteikia intuityvią grafinę sąsają ir palaiko daugybę bendrų duomenų bazės administravimo funkcijų.

sudo apt install phpmyadmin

16. Paketo diegimo metu jūsų bus paprašyta sukonfigūruoti kelis PhpMyAdmin paketo aspektus. Pirmiausia bus paprašyta pasirinkti numatytąjį žiniatinklio serverį, kad jį paleistumėte. Paspauskite Esc, nes NGINX pateiktame sąraše nėra.

17. Be to, PhpMyAdmin darbui reikalinga duomenų bazė. Šiame paketo konfigūravimo raginime pasirinkite Taip, kad sukonfigūruotumėte PhpMyAdmin duomenų bazę su dbconfig-common paketu.

18. Kitame raginime turite pateikti PhpMyAdmin slaptažodį, kad galėtumėte užsiregistruoti MariaDB duomenų bazėje. Įveskite saugų slaptažodį ir spustelėkite Enter.

6 veiksmas: NGINX konfigūravimas, kad būtų galima aptarnauti „PhpMyAdmin“ svetainę

19. Norėdami įgalinti NGINX aptarnauti PhpMyAdmin svetainę, esančią adresu /usr/share/phpmyadmin, sukurkite simbolinę nuorodą šiam katalogui po dokumento šaknimis, tada nustatykite teisingus leidimus ir nuosavybės teises PHPMyAdmin kataloge, kaip nurodyta toliau.

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. Be to, įsitikinkite, kad numatytosios serverio bloko konfigūracijos (/etc/nginx/sites-available/default) direktyva index apima index.php, kaip parodyta toliau esančioje ekrano kopijoje.

21. Tada dar kartą iš naujo paleiskite „Nginx“ paslaugą, kad pritaikytumėte anksčiau nurodytus pakeitimus.

sudo systemctl restart nginx

22. Dabar pasiekite PhpMyAdmin svetainę naudodami naršyklę naudodami šį adresą.

http://SERVER_IP/phpmyadmin

Prisijungimo puslapyje autentifikuokite naudodami PHPMyAdmin vartotojo vardą ir slaptažodį. Atminkite, kad nuotolinis root vartotojo prisijungimas yra išjungtas, nebent jūs pasiekiate PHPMyAdmin vietiniame priegloboje, kuriame įdiegta MariaDB duomenų bazė, šakninė prieiga neveiks.

Paskutinis, bet ne mažiau svarbus dalykas – apsaugokite savo PhpMyAdmin diegimą naudodami mūsų vadovą: 4 naudingi patarimai, kaip apsaugoti PhpMyAdmin žiniatinklio sąsają.

Išvada

Jūsų LEMP sąranka baigta ir galite pradėti kurti žiniatinklio programas arba tiesiog žaisti su ką tik įdiegtomis Nginx ir MariaDB paslaugomis. Jie yra plačiai naudojami ir įgyti daugiau žinių apie juos labai rekomenduojama sistemos administratoriams.