Kako instalirati LEMP stog s PhpMyAdminom u Ubuntu 20.04


Za one od vas koji ne znate što je LEMP - ovo je kombinacija softverskih paketa - Linux, Nginx (izgovara se EngineX), MariaDB i PHP.

LEMP možete koristiti u obje svrhe testiranja ili u stvarnom proizvodnom okruženju za postavljanje web aplikacija pomoću PHP okvira kao što su Laravel ili Yii ili sustava za upravljanje sadržajem kao što je Joomla

Možda se pitate koja je razlika između LAMPE i LEMP-a. Pa, jedina razlika je uključeni web poslužitelj - Apache (u LAMP-u) i Nginx (u LEMP-u). Oba su web poslužitelja prilično dobra i iako je Apache najčešće korišten, Nginx ni na koji način ne odstupa.

Još jedna široko korištena aplikacija koja se obično instalira uz LEMP stog je PhpMyAdmin - PHP-ov je web alat za administriranje MySQL/MariaDB poslužitelja baze podataka iz web preglednika.

Ako tražite LAMP postavke za svoj Ubuntu 20.04, tada biste trebali pročitati naš vodič za postavljanje LAMP-a na Ubuntu 20.04.

  1. Vodič za instalaciju poslužitelja Ubuntu 20.04

U ovom ćete članku naučiti kako instalirati i konfigurirati LEMP stog pomoću PhpMyAdmin na poslužitelju Ubuntu 20.04.

Korak 1: Instalacija Nginxa na Ubuntu 20.04

1. Nginx je brzi moderni web poslužitelj dizajniran za posluživanje mnogih istodobnih veza bez trošenja previše poslužiteljskih resursa. Zbog toga je često preferirani izbor u poslovnim okruženjima.

NGINX se također često koristi kao uravnoteživač opterećenja i predmemorija web sadržaja. Podržava virtualne poslužitelje zasnovane na imenima i IP-ove (analogno virtualnim domaćinima u Apacheu).

Nginx možete instalirati na radnu površinu ili poslužitelj Ubuntu 20.04 pokretanjem sljedeće naredbe.

$ sudo apt update
$ sudo apt install nginx

Datoteke za konfiguraciju Nginx pohranjuju se u direktorij/etc/nginx, a glavna im je datoteka /etc/nginx/nginx.conf. Važno je da je zadani korijen dokumenta za pohranu vaših web datoteka/usr/share/nginx/html /. Ali možete koristiti standardni/var/www/html koji bi trebao biti konfiguriran u datoteci za konfiguraciju bloka poslužitelja vašeg web mjesta ili aplikacije.

2. Instalacijski program paketa Ubuntu pokreće systemd da pokrene Nginx uslugu i omogući joj automatsko pokretanje svaki put kada se poslužitelj ponovno pokrene. Upotrijebite sljedeće naredbe systemctl da biste potvrdili da je usluga pokrenuta i omogućena.

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

3. Sada je vrijeme da provjerite je li instalacija Nginxa bila uspješna pozivanjem stranice Nginx putem preglednika pomoću IP adrese poslužitelja.

http://SERVER_IP

Ako ne znate IP adresu svog poslužitelja, možete je pronaći pomoću IP naredbe kao što je prikazano.

$ ip addr show

Zadana web stranica NGINX-a trebala bi se učitati kako je prikazano na sljedećem snimku zaslona, što potvrđuje ispravnu instalaciju i rad.

Korak 2: Instalacija baze podataka MariaDB na Ubuntu 20.04

4. MariaDB je relativno novi sustav upravljanja relacijskim bazama podataka koji je osmišljen kao vilica zajednice MySQL nakon stjecanja Oraclea.

Instalacija MariaDB je jednostavna i može se započeti naredbom kao:

$ sudo apt install mariadb-server mariadb-client

5. Usluga MariaDB se također automatski pokreće i omogućava joj da se uvijek pokreće prilikom pokretanja sustava, a to možete potvrditi pomoću sljedećih naredbi.

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

6. Ako želite poboljšati sigurnost MariaDB, možete pokrenuti naredbu mysql_secure_installation , koja će pružiti neke osnovne, ali važne opcije za konfiguriranje:

$ sudo mysql_secure_installation

Zatim odaberite opciju za postavljanje korisničke lozinke korijena baze podataka (ili administratora), slijedite upute i pažljivo pročitajte pitanja. Da biste osigurali poslužitelj baze podataka, odgovorite na pitanja kao što je prikazano na snimci zaslona.

  • Unesite trenutnu lozinku za root (unesite za nijedan): Enter
  • Postaviti root lozinku? [Y/n] y
  • Ukloniti anonimne korisnike? [Y/n] y
  • Želite li daljinski onemogućiti prijavu za root? [Y/n] y
  • Ukloniti testnu bazu podataka i pristup njoj? [Y/n] y
  • Želite li sada ponovo učitati tablice privilegija? [Y/n] y

7. Da biste kreirali, upravljali i izvršavali operacije baze podataka, trebate naredbu ljuske mysql s zastavicom -u da odredite korisničko ime baze podataka i -p da navedete korisničku lozinku .

Da biste se povezali kao root korisnik, upotrijebite naredbu sudo (čak i bez zastavice -p ), inače ćete primiti pogrešku istaknutu na sljedećem snimku zaslona.

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

Korak 3: Instaliranje PHP-a u Ubuntu 20.04

8. PHP je popularan jezik otvorenog koda, fleksibilan i dinamičan skriptni jezik za izradu web stranica i web aplikacija. Podržava razne tehnike programiranja. Važno je da je PHP zajednica velika i raznolika, sastavljena od bezbroj knjižnica, okvira i drugih korisnih komponenti.

NGINX koristi FPM (FastCGI Process Manager) ili PHP-FPM za obradu PHP skripti. PHP-FPM je široko korištena alternativna PHP FastCGI implementacija koja se isporučuje s mnogim dodatnim značajkama i koristi se za napajanje web mjesta/web aplikacija s velikim prometom.

Da biste instalirali PHP i PHP-FPM, pokrenite sljedeću naredbu koja će također instalirati neke potrebne dodatne pakete.

$ sudo apt install php php-mysql php-fpm

Budući da je PHP 7.4 zadana verzija PHP-a u Ubuntu 20.04, datoteke PHP-a za konfiguraciju nalaze se u /etc/php/7.4/, a datoteke za konfiguraciju PHP-FPM pohranjuju se u /etc/php/7.4/fpm.

9. Zatim provjerite radi li i radi li usluga php7.4-fpm te je li omogućena sljedećom naredbom.

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

Korak 4: Konfiguriranje Nginxa za rad s PHP-FPM-om

10. Sada morate konfigurirati NGINX za proxy zahtjeve klijenta za PHP-FPM, koji je prema zadanim postavkama konfiguriran za preslušavanje na UNIX utičnici kako je definirano parametrom Listen u /etc/php/7.4/fpm/pool.d/www .conf zadana konfiguracijska datoteka spremišta.

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

11. U zadanoj konfiguracijskoj datoteci bloka poslužitelja (/ etc/nginx/sites-available/default), poništite smjernicu lokacije za obradu PHP zahtjeva kako bi izgledala poput one prikazane na sljedećem snimku zaslona.

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

Spremite datoteku i izađite.

12. Zatim testirajte ispravnost sintakse NGINX konfiguracije. Ako je u redu, ponovo pokrenite uslugu Nginx da biste primijenili nove promjene.

$ sudo nginx -t
$ sudo systemctl restart nginx

13. Sada testirajte može li NGINX raditi zajedno s PHP-FPM za obradu PHP zahtjeva. Stvorite jednostavnu stranicu info.php ispod korijenskog direktorija dokumenta.

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

14. U pregledniku se krećite pomoću sljedeće adrese. Stranica za konfiguraciju PHP-a trebala bi se učitati na način prikazan na sljedećem snimku zaslona.

http://SERVER_IP/info.php

Korak 5: Instaliranje PhpMyAdmin u Ubuntu 20.04

15. PhpMyAdmin je besplatna web-bazirana PHP aplikacija otvorenog koda posebno stvorena za upravljanje MySQL/MariaDB poslužiteljima baza podataka putem web preglednika. Pruža intuitivno grafičko sučelje i podržava širok raspon zajedničkih značajki za administracijske zadatke baze podataka.

$ sudo apt install phpmyadmin

16. Tijekom instalacije paketa, od vas će se tražiti da konfigurirate nekoliko aspekata paketa PhpMyAdmin. Prvo će biti zatraženo da odaberete zadani web poslužitelj za njegovo pokretanje. Pritisnite Esc jer NGINX nije na navedenom popisu.

17. Dalje, PhpMyAdmin zahtijeva bazu podataka za rad. U ovom upitu za konfiguraciju paketa odaberite Yes da konfigurirate bazu podataka za PhpMyAdmin s dbconfig-common paketom.

18. U sljedećem odzivu trebate navesti lozinku za PhpMyAdmin za registraciju u bazu podataka MariaDB. Unesite sigurnu lozinku i kliknite Enter.

Korak 6: Konfiguriranje NGINX-a za posluživanje stranice PhpMyAdmin

19. Da biste omogućili NGINX-u da služi mjestu PhpMyAdmin smještenom na/usr/share/phpmyadmin, stvorite simboličku vezu za ovaj direktorij ispod korijena dokumenta, a zatim postavite ispravna dopuštenja i vlasništvo nad direktorijom PHPMyAdmin kako slijedi.

$ 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. Osim toga, osigurajte da direktiva indeksa u datoteci zadane konfiguracije bloka poslužitelja (/ etc/nginx/sites-available/default) uključuje index.php kao što je prikazano na sljedećem snimku zaslona.

21. Zatim ponovo pokrenite uslugu Nginx da biste primijenili gore navedene promjene.

$ sudo systemctl restart nginx

22. Pristupite web mjestu PhpMyAdmin iz preglednika pomoću sljedeće adrese.

http://SERVER_IP/phpmyadmin

Na stranici za prijavu provjerite autentičnost pomoću PHPMyAdmin korisničkog imena i lozinke. Zapamtite da je prijava udaljenog korijenskog korisnika onemogućena ako ne pristupate PHPMyAdminu na lokalnom hostu na kojem je instalirana baza podataka MariaDB, root pristup neće raditi.

I na kraju, ali ne najmanje važno, osigurajte svoju PhpMyAdmin instalaciju pomoću našeg vodiča: 4 korisna savjeta za osiguranje web sučelja PhpMyAdmin.

Zaključak

Vaše postavljanje LEMP-a sada je gotovo i možete započeti izradu svojih web aplikacija ili se jednostavno igrati s uslugama Nginx i MariaDB koje ste upravo instalirali. Oni se široko koriste i stjecanje više znanja u njima toplo se preporučuje administratorima sustava.