Kako instalirati LEMP Stack s PhpMyAdmin u Ubuntu 20.04


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

LEMP možete koristiti i za svrhe testiranja ili u stvarnom proizvodnom okruženju za implementaciju web aplikacija pomoću PHP okvira kao što su Laravel ili Yii ili sustava za upravljanje sadržajem kao što su WordPress, Drupal , ili Joomla

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

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

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

Preduvjeti:

  1. Vodič za instalaciju poslužitelja Ubuntu 20.04

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

Korak 1: Instalirajte Nginx na Ubuntu 20.04

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

NGINX se također često koristi kao balanser opterećenja i predmemorija web sadržaja. Podržava virtualne poslužitelje temeljene na imenima i IP-u (analogno virtualnim hostovima u Apacheu).

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

sudo apt update
sudo apt install nginx

Nginx konfiguracijske datoteke pohranjene su u /etc/nginx direktoriju, a njegova glavna konfiguracijska datoteka je /etc/nginx/nginx.conf. Važno je da je njegov 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 konfiguracijskoj datoteci bloka poslužitelja vaše web stranice ili aplikacije.

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

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

3. Sada je vrijeme da provjerite je li instalacija Nginx bila uspješna pozivanjem Nginx stranice putem preglednika koristeći IP adresu poslužitelja.

http://SERVER_IP

Ako ne znate svoju IP adresu poslužitelja, možete je pronaći koristeći IP naredbu kao što je prikazano.

ip addr show

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

Korak 2: Instaliranje MariaDB baze podataka na Ubuntu 20.04

4. MariaDB je relativno novi sustav za upravljanje relacijskom bazom podataka koji je osmišljen kao zajedničko račvanje MySQL-a nakon što ga je kupio Oracle.

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

sudo apt install mariadb-server mariadb-client

5. Usluga MariaDB također se automatski pokreće i omogućeno joj je 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 konfiguraciju :

sudo mysql_secure_installation

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

  • Unesite trenutnu lozinku za root (unesite ako nema): Unesite
  • Postaviti root lozinku? [Y/n] y
  • Ukloniti anonimne korisnike? [Y/n] y
  • Onemogućiti root prijavu na daljinu? [Y/n] y
  • Ukloniti test bazu podataka i pristup njoj? [Y/n] y
  • Sada ponovno učitati tablice povlastica? [Y/n] y

7. Za stvaranje, upravljanje i izvođenje operacija baze podataka, trebate mysql naredbu ljuske s oznakom -u za navođenje korisničkog imena baze podataka i -p za unos korisničke lozinke.

Da biste se povezali kao root korisnik, upotrijebite naredbu sudo (čak i bez oznake -p) inače ćete dobiti pogrešku istaknutu na sljedećoj snimci zaslona.

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 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 bezbrojnih biblioteka, okvira i drugih korisnih komponenti.

NGINX koristi FPM (FastCGI Process Manager) ili PHP-FPM za obradu PHP skripti. PHP-FPM široko je korištena alternativna PHP FastCGI implementacija koja se isporučuje s mnogim dodatnim značajkama i koristi se za pokretanje web stranica/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, PHP konfiguracijske datoteke nalaze se u /etc/php/7.4 / i konfiguracijske datoteke PHP-FPM pohranjene su pod /etc/php/7.4/fpm.

9. Zatim provjerite je li usluga php7.4-fpm pokrenuta i radi 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

10. Sada trebate konfigurirati NGINX za proxy klijentske zahtjeve za PHP-FPM, koji je prema zadanim postavkama konfiguriran za slušanje na UNIX utičnica kako je definirana slušajućim parametrom u /etc/php/7.4/fpm/pool.d/www.conf zadanoj konfiguracijskoj datoteci bazena.

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

11. U zadanoj konfiguracijskoj datoteci bloka poslužitelja (/etc/nginx/sites-available/default), skinite komentar s naredbe lokacije za obradu PHP-a zahtjeva da izgleda kao onaj prikazan na sljedećoj snimci zaslona.

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

Spremite datoteku i izađite.

12. Zatim testirajte ispravnost konfiguracijske sintakse NGINX-a. Ako je u redu, ponovno pokrenite uslugu Nginx za primjenu novih promjena.

sudo nginx -t
sudo systemctl restart nginx

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

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

14. U svom pregledniku idite koristeći sljedeću adresu. PHP konfiguracijska stranica trebala bi se učitati i prikazivati kao što je prikazano na sljedećoj snimci zaslona.

http://SERVER_IP/info.php

Korak 5: Instalirajte PhpMyAdmin u Ubuntu 20.04

15. PhpMyAdmin je besplatna PHP aplikacija otvorenog koda, posebno stvorena za administriranje poslužitelja baze podataka MySQL/MariaDB putem web preglednika. Pruža intuitivno grafičko sučelje i podržava širok raspon uobičajenih značajki za zadatke administracije baze podataka.

sudo apt install phpmyadmin

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

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

18. U sljedećem upitu trebate unijeti lozinku za PhpMyAdmin da biste se registrirali u bazi podataka MariaDB. Unesite sigurnu lozinku i kliknite Enter.

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

19. Kako biste omogućili NGINX da poslužuje PhpMyAdmin stranicu koja se nalazi na /usr/share/phpmyadmin, stvorite simboličku vezu za ovaj direktorij u korijenu dokumenta, zatim postavite ispravne dozvole i vlasništvo na direktoriju 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 index u konfiguraciji zadanog bloka poslužitelja (/etc/nginx/sites-available/default) uključuje index.php kao što je prikazano na sljedećoj snimci zaslona.

21. Zatim ponovno pokrenite uslugu Nginx još jednom kako biste primijenili gore navedene promjene.

sudo systemctl restart nginx

22. Sada pristupite stranici PhpMyAdmin iz preglednika pomoću sljedeće adrese.

http://SERVER_IP/phpmyadmin

Na stranici za prijavu, autentificirajte se s PHPMyAdmin korisničkim imenom i lozinkom. Imajte na umu da je udaljena root korisnička prijava onemogućena osim ako ne pristupate PHPMyAdmin-u na lokalnom hostu gdje je instalirana MariaDB baza podataka, root pristup neće raditi.

Posljednje, ali ne manje važno, osigurajte svoju instalaciju PhpMyAdmin koristeći naš vodič: 4 korisna savjeta za sigurno web sučelje PhpMyAdmin.

Zaključak

Vaše LEMP postavljanje je sada dovršeno i možete početi s izgradnjom svojih web aplikacija ili se jednostavno igrati s Nginx i MariaDB uslugama koje ste upravo instalirali. Oni se široko koriste i stjecanje više znanja o njima toplo se preporučuje administratorima sustava.