Kako namestiti LEMP Stack s PhpMyAdmin v Ubuntu 20.04


Za tiste, ki ne veste, kaj je LEMP - gre za kombinacijo programskih paketov - Linux, Nginx (izgovarja EngineX), MariaDB in PHP.

LEMP lahko uporabite za namene testiranja ali v resničnem produkcijskem okolju za uvajanje spletnih aplikacij z uporabo okvirov PHP, kot sta Laravel ali Yii, ali sistemov za upravljanje vsebin, kot je Joomla

Lahko se vprašate, kakšna je razlika med LAMP in LEMP. No, edina razlika je vključeni spletni strežnik - Apache (v LAMP) in Nginx (v LEMP). Oba spletna strežnika sta precej dobra in čeprav je Apache najpogosteje uporabljen, Nginx nikakor ne odstopi.

Druga široko uporabljena aplikacija, ki je običajno nameščena poleg sklada LEMP, je PhpMyAdmin - je spletno orodje PHP za upravljanje strežnika baz podatkov MySQL/MariaDB iz spletnega brskalnika.

Če iščete nastavitev LAMP za vaš Ubuntu 20.04, potem preberite naš vodnik za nastavitev LAMP na Ubuntu 20.04.

  1. Vodnik za namestitev strežnika Ubuntu 20.04

V tem članku boste izvedeli, kako v strežnik Ubuntu 20.04 namestite in konfigurirate sklad LEMP s PhpMyAdmin.

1. korak: Namestitev Nginxa na Ubuntu 20.04

1. Nginx je hiter sodoben spletni strežnik, zasnovan za strežnik številnih sočasnih povezav, ne da bi porabil preveč strežniških virov. Zato je v poslovnih okoljih pogosto najprimernejša izbira.

NGINX se pogosto uporablja tudi kot izravnalnik obremenitve in predpomnilnik spletne vsebine. Podpira navidezne strežnike, ki temeljijo na imenih in IP (analogno navideznim gostiteljem v Apacheju).

Nginx lahko namestite na namizje ali strežnik Ubuntu 20.04 z zagonom naslednjega ukaza.

$ sudo apt update
$ sudo apt install nginx

Konfiguracijske datoteke Nginx so shranjene v imeniku/etc/nginx, njegova glavna konfiguracijska datoteka pa je /etc/nginx/nginx.conf. Pomembno je, da je privzeti koren dokumenta za shranjevanje spletnih datotek/usr/share/nginx/html /. Lahko pa uporabite standardni/var/www/html, ki ga je treba konfigurirati v konfiguracijski datoteki bloka strežnika vašega spletnega mesta ali aplikacije.

2. Namestitveni program paketa Ubuntu sproži systemd, da zažene storitev Nginx in omogoči samodejni zagon ob vsakem ponovnem zagonu strežnika. Z naslednjimi ukazi systemctl potrdite, da se storitev izvaja in je omogočena.

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

3. Zdaj je čas, da preverite, ali je bila namestitev Nginxa uspešna, tako da prek brskalnika s pomočjo IP-naslova strežnika pokličete stran Nginx.

http://SERVER_IP

Če ne poznate naslova IP strežnika, ga lahko najdete z uporabo ukaza IP, kot je prikazano.

$ ip addr show

Privzeta spletna stran NGINX se mora naložiti, kot je prikazano na spodnjem posnetku zaslona, kar potrjuje pravilno namestitev in delovanje.

2. korak: Namestitev zbirke podatkov MariaDB v Ubuntu 20.04

4. MariaDB je razmeroma nov sistem upravljanja relacijskih baz podatkov, ki je bil zasnovan kot skupni vilic MySQL po pridobitvi Oracle.

Namestitev MariaDB je preprosta in se jo lahko začne z ukazom kot:

$ sudo apt install mariadb-server mariadb-client

5. Storitev MariaDB se prav tako samodejno zažene in omogoči, da se vedno zažene ob zagonu sistema, kar lahko potrdite z naslednjimi ukazi.

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

6. Če želite izboljšati varnost MariaDB, lahko zaženete ukaz mysql_secure_installation , ki bo zagotovil nekaj osnovnih, a pomembnih možnosti za konfiguracijo:

$ sudo mysql_secure_installation

Nato izberite možnost, da nastavite uporabniško geslo skrbniškega baze (ali skrbnika), sledite pozivom in natančno preberite vprašanja. Če želite zaščititi strežnik zbirke podatkov, odgovorite na vprašanja, kot je prikazano na posnetku zaslona.

  • Vnesite trenutno geslo za root (vnesite za nobenega): Enter
  • Želite nastaviti korensko geslo? [D/n] y
  • Želite odstraniti anonimne uporabnike? [D/n] y
  • Želite na daljavo dovoliti root prijavo? [D/n] y
  • Želite odstraniti testno bazo podatkov in dostop do nje? [D/n] y
  • Želite zdaj znova naložiti tabele privilegij? [D/n] y

7. Če želite ustvariti, upravljati in izvajati operacije baze podatkov, morate ukaz lupine mysql z zastavico -u določiti uporabniško ime baze podatkov in -p , da navedete uporabniško geslo .

Če se želite povezati kot korenski uporabnik, uporabite ukaz sudo (tudi brez zastavice -p ), sicer boste prejeli napako, označeno na naslednjem posnetku zaslona.

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

3. korak: Namestitev PHP v Ubuntu 20.04

8. PHP je priljubljen odprtokodni, prilagodljiv in dinamičen skriptni jezik za izdelavo spletnih strani in spletnih aplikacij. Podpira različne tehnike programiranja. Pomembno je, da je skupnost PHP velika in raznolika, sestavljena iz neštetih knjižnic, ogrodja in drugih uporabnih komponent.

NGINX za obdelavo PHP skriptov uporablja FPM (FastCGI Process Manager) ali PHP-FPM. PHP-FPM je široko uporabljena alternativna izvedba PHP FastCGI, ki ima številne dodatne funkcije in se uporablja za napajanje spletnih mest/spletnih aplikacij z velikim prometom.

Če želite namestiti PHP in PHP-FPM, zaženite naslednji ukaz, ki bo namestil tudi nekaj dodatnih paketov.

$ sudo apt install php php-mysql php-fpm

Ker je PHP 7.4 privzeta različica PHP v Ubuntu 20.04, so konfiguracijske datoteke PHP v /etc/php/7.4/, konfiguracijske datoteke PHP-FPM pa so shranjene v /etc/php/7.4/fpm.

9. Nato preverite, ali storitev php7.4-fpm deluje in ali je omogočena z naslednjim ukazom.

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

4. korak: Konfiguriranje Nginxa za delo s PHP-FPM

10. Zdaj morate NGINX konfigurirati za proxy odjemalske zahteve za PHP-FPM, ki je privzeto konfiguriran za poslušanje v vtičnici UNIX, kot je določeno s parametrom Listen v /etc/php/7.4/fpm/pool.d/www .conf privzeta konfiguracijska datoteka bazena.

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

11. V privzeti konfiguracijski datoteki blokov strežnika (/ etc/nginx/sites-available/default) razkomentirajte lokacijsko direktivo za obdelavo zahtev PHP, da bo videti tako, kot je prikazana na naslednjem posnetku zaslona.

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

Shranite datoteko in zapustite.

12. Nato preizkusite sintakso konfiguracije NGINX za pravilnost. Če je v redu, znova zaženite storitev Nginx, da uveljavite nove spremembe.

$ sudo nginx -t
$ sudo systemctl restart nginx

13. Zdaj preizkusite, ali lahko NGINX deluje skupaj s PHP-FPM za obdelavo zahtev PHP. Ustvarite preprosto stran info.php v korenskem imeniku dokumenta.

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

14. V brskalniku se pomikajte po naslednjem naslovu. Stran za konfiguracijo PHP se mora naložiti tako, kot kaže spodnja slika zaslona.

http://SERVER_IP/info.php

5. korak: Namestitev PhpMyAdmin v Ubuntu 20.04

15. PhpMyAdmin je brezplačna in odprtokodna spletna PHP aplikacija, posebej ustvarjena za upravljanje strežnikov baz podatkov MySQL/MariaDB prek spletnega brskalnika. Ponuja intuitiven grafični vmesnik in podpira široko paleto skupnih funkcij za naloge administracije baz podatkov.

$ sudo apt install phpmyadmin

16. Med namestitvijo paketa boste morali konfigurirati več vidikov paketa PhpMyAdmin. Najprej boste pozvani, da izberete privzeti spletni strežnik za zagon. Pritisnite Esc, ker NGINX ni na navedenem seznamu.

17. Nato PhpMyAdmin zahteva zbirko podatkov za delo. V tem pozivu za konfiguracijo paketa izberite Yes , da konfigurirate bazo podatkov za PhpMyAdmin s paketom dbconfig-common.

18. V naslednjem pozivu morate vnesti geslo za PhpMyAdmin za registracijo v zbirko podatkov MariaDB. Vnesite varno geslo in kliknite Enter.

6. korak: Konfiguriranje NGINX za strežbo mesta PhpMyAdmin

19. Če želite NGINX omogočiti, da služi mestu PhpMyAdmin, ki se nahaja na/usr/share/phpmyadmin, ustvarite simbolno povezavo za ta imenik pod korenom dokumenta, nato nastavite pravilna dovoljenja in lastništvo v imeniku PHPMyAdmin, kot sledi.

$ 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. Poleg tega zagotovite, da direktiva indeksa v privzeti datoteki konfiguracije blokov strežnika (/ etc/nginx/sites-available/default) vključuje index.php, kot je prikazano na naslednjem posnetku zaslona.

21. Nato še enkrat znova zaženite storitev Nginx, da uporabite zgornje spremembe.

$ sudo systemctl restart nginx

22. Zdaj odprite spletno mesto PhpMyAdmin iz brskalnika po naslednjem naslovu.

http://SERVER_IP/phpmyadmin

Na strani za prijavo preverite pristnost z uporabniškim imenom in geslom PHPMyAdmin. Ne pozabite, da je prijava oddaljenega korenskega uporabnika onemogočena, razen če dostopate do PHPMyAdmin na lokalnem gostitelju, kjer je nameščena baza podatkov MariaDB, korenski dostop ne bo deloval.

Nenazadnje si zagotovite namestitev PhpMyAdmin z uporabo našega vodnika: 4 koristni nasveti za zaščito spletnega vmesnika PhpMyAdmin.

Zaključek

Vaša nastavitev LEMP je zdaj končana in lahko začnete graditi svoje spletne aplikacije ali se preprosto igrate s storitvami Nginx in MariaDB, ki ste jih pravkar namestili. Te se pogosto uporabljajo in pridobivanje več znanja zanje je zelo priporočljivo za sistemske skrbnike.