Kako instalirati LEMP Stack sa PhpMyAdmin u Ubuntu 20.04


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

Možete koristiti LEMP za potrebe testiranja ili u stvarnom proizvodnom okruženju za implementaciju web aplikacija koristeći PHP okvire kao što su Laravel ili Yii, ili sisteme za upravljanje sadržajem kao što su WordPress, Drupal , ili Joomla

Možda se pitate koja je razlika između LAMP-e i LEMP-e. Pa, jedina razlika je web server koji je uključen – Apache (u LAMP) i Nginx (u LEMP >). Oba web servera su prilično dobra i dok je Apache najčešće korišten, Nginx ni na koji način ne odustaje.

Još jedna široko korišćena aplikacija koja se obično instalira uz LEMP stog je PhpMyAdmin – je PHP web-bazirani alat za administraciju MySQL/MariaDB servera baze podataka iz web pretraživača.

Ako tražite LAMP podešavanje za svoj Ubuntu 20.04, onda bi trebali pročitati naš vodič za postavljanje LAMP-a na Ubuntu 20.04.

Preduvjeti:

  1. Vodič za instalaciju Ubuntu 20.04 servera

U ovom članku ćete naučiti kako da instalirate i konfigurišete LEMP stog sa PhpMyAdmin u Ubuntu 20.04 serveru.

Korak 1: Instaliranje Nginxa na Ubuntu 20.04

1. Nginx je brzi moderni web server dizajniran da poslužuje mnoge istovremene veze bez trošenja previše serverskih resursa. Zbog toga je to često preferirani izbor u poslovnim okruženjima.

NGINX se također obično koristi kao balansator opterećenja i keš web sadržaja. Podržava virtuelne servere zasnovane na imenu i IP (analogno virtuelnim hostovima u Apache-u).

Možete instalirati Nginx na svoj Ubuntu 20.04 desktop ili server tako što ćete pokrenuti sljedeću naredbu.

sudo apt update
sudo apt install nginx

Nginx konfiguracijske datoteke su pohranjene u direktoriju /etc/nginx, a njegova glavna konfiguracijska datoteka je /etc/nginx/nginx.conf. Važno je da je njegov zadani korijen dokumenta za pohranjivanje vaših web datoteka /usr/share/nginx/html/. Ali možete koristiti standardni /var/www/html koji bi trebao biti konfiguriran u konfiguracijskoj datoteci bloka servera vaše web stranice ili aplikacije.

2. Instalator Ubuntu paketa pokreće systemd da pokrene Nginx servis i omogući mu da se automatski pokrene svaki put kada se server ponovo pokrene. Koristite sljedeće systemctl komande da potvrdite da je usluga pokrenuta i omogućena.

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

3. Sada je vrijeme da provjerite da li je instalacija Nginxa bila uspješna pozivanjem Nginx stranice putem pretraživača koristeći IP adresu servera.

http://SERVER_IP

Ako ne znate IP adresu vašeg servera, možete je pronaći koristeći IP komandu kao što je prikazano.

ip addr show

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

Korak 2: Instaliranje MariaDB baze podataka na Ubuntu 20.04

4. MariaDB je relativno nov sistem upravljanja relacijskim bazama podataka koji je dizajniran kao fork zajednice MySQL nakon što ga je preuzeo Oracle.

Instalacija MariaDB-a je jednostavna i može se pokrenuti naredbom kao:

sudo apt install mariadb-server mariadb-client

5. Usluga MariaDB se također automatski pokreće i omogućava da se uvijek pokreće pri pokretanju sistema i to možete potvrditi koristeći sljedeće komande.

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 konfiguraciju :

sudo mysql_secure_installation

Zatim odaberite opciju za postavljanje lozinke korisnika root (ili administratora) baze podataka i slijedite upute i pažljivo pročitajte pitanja. Da biste zaštitili server baze podataka, odgovorite na pitanja kao što je prikazano na snimku ekrana.

  • Unesite trenutnu lozinku za root (unesite za nijednu): Enter
  • Postaviti root lozinku? [Y/n] y
  • Ukloniti anonimne korisnike? [Y/n] y
  • Zabraniti root prijavu na daljinu? [Y/n] y
  • Ukloniti testnu bazu podataka i pristupiti joj? [Y/n] y
  • Ponovno učitati tablice privilegija sada? [Y/n] y

7. Za kreiranje, upravljanje i izvođenje operacija baze podataka, potrebno je mysql shell komandu sa -u zastavicom da navedete korisničko ime baze podataka i -p da unesete korisničku lozinku.

Da se povežete kao root korisnik, koristite naredbu sudo (čak i bez oznake -p) inače ćete dobiti grešku istaknutu na sljedećem snimku ekrana.

mysql -u root -p
sudo mysql -u root

Korak 3: Instaliranje PHP-a u Ubuntu 20.04

8. PHP je popularan open-source, fleksibilan i dinamičan skript jezik za izradu web stranica i web aplikacija. Podržava različite tehnike programiranja. Važno je da je PHP zajednica velika i raznolika, sastavljena od bezbroj biblioteka, okvira i drugih korisnih komponenti.

NGINX koristi FPM (FastCGI Process Manager) ili PHP-FPM za obradu PHP skripti. PHP-FPM je široko korišćena alternativna PHP FastCGI implementacija koja se isporučuje sa mnogim dodatnim funkcijama i koristi se za pokretanje sajtova/web aplikacija sa velikim prometom.

Da instalirate 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

Pošto je PHP 7.4 zadana verzija PHP u Ubuntu 20.04, PHP konfiguracijske datoteke se nalaze u /etc/php/7.4 / i PHP-FPM konfiguracijski fajlovi su pohranjeni pod /etc/php/7.4/fpm.

9. Zatim provjerite da li je usluga php7.4-fpm pokrenuta i da li je omogućena sljedećom komandom.

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

Korak 4: Konfigurisanje Nginxa za rad sa PHP-FPM

10. Sada morate konfigurirati NGINX da proxy klijentske zahtjeve za PHP-FPM, koji je prema zadanim postavkama konfiguriran da sluša na UNIX utičnica kao što je definirano parametrom slušanja u /etc/php/7.4/fpm/pool.d/www.conf default konfiguracijskom fajlu spremišta.

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

11. U zadanoj konfiguracijskoj datoteci bloka servera (/etc/nginx/sites-available/default), dekomentirajte direktivu lokacije za obradu PHP-a zahtjeva da izgleda kao onaj prikazan na sljedećem snimku ekrana.

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

Sačuvajte fajl i izađite.

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

sudo nginx -t
sudo systemctl restart nginx

13. Sada testirajte može li NGINX raditi u sprezi sa PHP-FPM za obradu PHP zahtjeva. Kreirajte jednostavnu info.php stranicu u korijenskom direktoriju dokumenta.

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

14. U vašem pretraživaču, navigirajte koristeći sljedeću adresu. Stranica konfiguracije PHP-a bi se trebala učitati kao što je prikazano na sljedećem snimku ekrana.

http://SERVER_IP/info.php

Korak 5: Instaliranje PhpMyAdmin u Ubuntu 20.04

15. PhpMyAdmin je besplatna PHP aplikacija otvorenog koda zasnovana na webu posebno kreirana za administriranje MySQL/MariaDB servera baze podataka putem web pretraživača. Pruža intuitivno grafičko sučelje i podržava širok spektar uobičajenih karakteristika za zadatke administracije baze podataka.

sudo apt install phpmyadmin

16. Tokom instalacije paketa, od vas će se tražiti da konfigurišete nekoliko aspekata PhpMyAdmin paketa. Prvo će biti zatraženo da odaberete zadani web server za njegovo pokretanje. Pritisnite Esc jer NGINX nije na ponuđenoj listi.

17. Zatim, PhpMyAdmin zahtijeva bazu podataka za rad. U ovom upitu za konfiguraciju paketa odaberite Da da konfigurirate bazu podataka za PhpMyAdmin sa dbconfig-common paketom.

18. U sljedećoj promptu morate unijeti lozinku za PhpMyAdmin za registraciju u bazi podataka MariaDB. Unesite sigurnu lozinku i kliknite Enter.

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

19. Da omogućite NGINX da opslužuje PhpMyAdmin stranicu koja se nalazi na /usr/share/phpmyadmin, kreirajte simboličku vezu za ovaj direktorij u korijenu dokumenta, zatim postavite ispravne dozvole i vlasništvo na PHPMyAdmin direktorij na sljedeći način.

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, uvjerite se da index direktiva u zadanoj konfiguraciji bloka servera (/etc/nginx/sites-available/default) uključuje index.php kao što je prikazano na sljedećem snimku ekrana.

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

sudo systemctl restart nginx

22. Sada pristupite stranici PhpMyAdmin iz pretraživača koristeći sljedeću adresu.

http://SERVER_IP/phpmyadmin

Na stranici za prijavu izvršite autentifikaciju pomoću PHPMyAdmin korisničkog imena i lozinke. Zapamtite da je prijava udaljenog root korisnika onemogućena osim ako ne pristupate PHPMyAdmin-u na lokalnom hostu na kojem je instalirana MariaDB baza podataka, root pristup neće raditi.

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

Zaključak

Vaše LEMP podešavanje je sada završeno i možete početi graditi svoje web aplikacije ili se jednostavno igrati sa uslugama Nginx i MariaDB koje ste upravo instalirali. Oni se široko koriste i sticanje više znanja o njima se toplo preporučuje sistemskim administratorima.