Instalirajte LEMP - Nginx, PHP, MariaDB i PhpMyAdmin u OpenSUSE


LEMP ili Linux, Engine-x, MySQL i PHP stog je softver paket koji se sastoji od softvera otvorenog koda instaliranog na Linux operativnom sistemu za pokretanje web aplikacija zasnovanih na PHP-u koje pokreće Nginx HTTP server i MySQL/MariaDB sistem za upravljanje bazom podataka.

Pročitajte također: Instalirajte LAMP – Apache, PHP, MariaDB i PhpMyAdmin u OpenSUSE

Ovaj vodič će vas uputiti kako da instalirate LEMP stog sa Nginxom, MariaDB, PHP, PHP-FPM i PhpMyAdmin na OpenSuse serverskim/desktop izdanjima.

Instalacija Nginx HTTP servera

Nginx je brz i pouzdan HTTP i proxy server koji može podnijeti veće opterećenje HTTP zahtjeva. Koristi asinhroni pristup vođen događajima za rukovanje zahtjevima, a njegova modularna arhitektura vođena događajima može pružiti predvidljivije performanse pod velikim opterećenjem.

Da instalirate Nginx na OpenSuse, pokrenite sljedeću naredbu.

sudo zypper install nginx

Jednom kada se Nginx instalira, možete pokrenuti uslugu za sada, zatim omogućiti da se automatski pokrene prilikom pokretanja i provjerite status Nginxa tako što ćete pokrenuti sljedeće komande.

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

Pročitajte također: 10 najčešće korištenih Nginx naredbi koje svaki korisnik Linuxa mora znati

U ovom trenutku, Nginx web server bi trebao biti pokrenut, a status možete provjeriti i pomoću naredbe netstat kao što je prikazano.

sudo netstat -tlpn | grep nginx

Sada moramo testirati da li Nginx instalacija radi dobro. Za razliku od drugih Linux distribucija, pod openSUSE, Nginx nema standardni index.html dokument u web root folderu. Moramo kreirati novu datoteku index.html u korijenskom web direktoriju "/srv/www/htdocs" kao što je prikazano.

echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html

Ako imate instaliran firewalld, trebate otvoriti portove 80 i 443 da biste omogućili web promet na firewall-u.

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

Zatim otvorite web pretraživač i idite na adresu http://localhost i potvrdite Nginx stranicu.

Instalacija MariaDB servera baze podataka

MariaDB je besplatna i otvorena fork za MySQL sistem za upravljanje relacionim bazama podataka. Razvili su ga originalni programeri MySQL-a i namijenjen je da ostane otvorenog koda. MariaDB je brz, skalabilan i robustan, sa bogatim ekosistemom mehanizama za skladištenje podataka, dodataka i mnogih drugih alata čine ga veoma raznovrsnim za širok spektar slučajeva upotrebe.

Da instalirate MariaDB na OpenSuse, pokrenite sljedeću naredbu.

sudo zypper install mariadb mariadb-client 

Zatim pokrenite MariaDB uslugu za sada, a zatim omogućite njeno automatsko pokretanje prilikom pokretanja i provjerite njen status.

sudo systemctl start mariadb 
sudo systemctl enable mariadb 
sudo systemctl status mariadb 

Sljedeći kritični korak u ovom dijelu je osigurati instalaciju MariaDB servera. Stoga pokrenite sigurnosnu skriptu koja se isporučuje s MariaDB paketom, kao što je prikazano.

Napomena: Pokretanje MariaDB sigurnosne skripte i svih njenih dijelova se toplo preporučuje za sve MariaDB servere u proizvodnji.

sudo mysql_secure_installation 

Nakon što pokrenete skriptu, pažljivo pročitajte opis u svakom koraku. Trebali biste postaviti root korisničku lozinku, ukloniti anonimne korisnike, onemogućiti udaljeni root pristup, ukloniti testnu bazu podataka i pristup njoj i konačno ponovo učitati tabelu privilegija.

Instalacija i konfiguracija PHP-a i PHP-FPM-a

PHP-FPM (skraćenica od PHP FastCGI Process Manager) je alternativni FastCGI demon za PHP sa nekim dodatnim funkcijama i dizajnirani da izdrže velika opterećenja. Održava skupove (radnike koji mogu odgovoriti na PHP zahtjeve) da bi se to postiglo. Važno je da je brži od tradicionalnih metoda zasnovanih na CGI, kao što je SUPHP, za višekorisnička PHP okruženja.

Da biste instalirali PHP i PHP-FPM zajedno sa potrebnim modulima, pokrenite sljedeću naredbu.

sudo zypper install php php-mysql php-fpm php-gd php-mbstring

Prije nego što nastavimo sa pokretanjem usluge PHP-FPM, potrebno je kreirati potrebne konfiguracijske datoteke od zadanih datoteka koje smo dobili tokom instalacije i konfigurirati servis spreman za rad.

sudo cp /etc/php7/fpm/php-fpm.conf.default  /etc/php7/fpm/php-fpm.conf 
sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

Zatim otvorite glavni php-fpm.conf konfiguracioni fajl za uređivanje.

sudo vim /etc/php7/fpm/php-fpm.conf 

Odkomentirajte sljedeći red na redu broj 24 kao što je prikazano.

error_log = log/php-fpm.log

Sačuvajte i zatvorite datoteku.

Zatim moramo definirati ispravne postavke za konfigurisana spremišta u www.conf konfiguracijskoj datoteci.

sudo vim /etc/php7/fpm/php-fpm.d/www.conf

Prvo, konfigurirajte Unix vlasnika i vlasnika grupe procesa za Nginx korisnika i grupu. Učinite to promjenom vrijednosti parametara korisnika i grupe iz nobody u nginx.

user = nginx
group = nginx

Sada sačuvajte promjene u datoteci i izađite iz nje.

Dodatno, postoji još jedna važna konfiguracija koju treba izvesti, a koja osigurava PHP-FPM u datoteci /etc/php/cli/php.ini.

sudo vim /etc/php7/cli/php.ini

Potražite liniju ;cgi.fix_pathinfo=1 i promijenite je u.

cgi.fix_pathinfo=0

Sačuvajte promene u datoteci i izađite.

Zatim pokrenite uslugu PHP-FPM za sada, a zatim omogućite njeno automatsko pokretanje prilikom pokretanja i provjerite njen status.

sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl status php-fpm

Konfigurisanje Nginxa za rad sa PHP-FPM

U ovom trenutku, moramo konfigurirati Nginx da radi sa PHP-FPM u zadanoj Nginx konfiguracijskoj datoteci.

sudo vim /etc/nginx/nginx.conf

Zatim potražite sljedeći odjeljak i dodajte index.php na listu očekivanih indeksnih datoteka.

location / { 
           root   /srv/www/htdocs/; 
           index  index.php index.html index.htm ; 
       }

Također pronađite sljedeći odjeljak (koji bi trebalo prokomentirati) i dekomentirajte ga. Ovaj odjeljak se koristi za prosljeđivanje PHP skripti na FastCGI server koji sluša na 127.0.0.1:9000.

location ~ \.php$ { 
       root           /srv/www/htdocs/; 
       fastcgi_pass   127.0.0.1:9000; 
       fastcgi_index  index.php; 
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
       include        fastcgi_params; 
       }

Sačuvajte promene u datoteci i izađite.

Testiranje Nginxa i PHP-FPM-a

Sljedeći korak je testiranje da li Nginx radi dobro u kombinaciji sa PHP-FPM kreiranjem nove PHP test datoteke u direktoriju DocumentRoot kao pokazano.

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

Sada moramo provjeriti da li je Nginx konfiguracija ispravna na sljedeći način, prije nego što nastavimo s ponovnim pokretanjem usluge.

sudo nginx -t

Ako je sintaksa konfiguracije Nginxa u redu, samo naprijed i ponovo pokrenite Nginx i PHP-FPM usluge kako bi nedavne promjene stupile na snagu.

sudo systemctl restart nginx php-fpm

Sada otvorite web pretraživač i idite na adresu http://localhost/info.php da potvrdite PHP konfiguraciju kao što je prikazano na sljedećem snimku ekrana.

Instalacija i konfiguracija PhpMyAdmin

phpMyAdmin je besplatan, jednostavan za upotrebu i popularan alat napisan u PHP-u, napravljen za administriranje MySQL servera preko Weba. Podržava širok spektar operacija na MySQL i MariaDB.

Da instalirate phpMyAdmin na OpenSuse, pokrenite sljedeću naredbu.

sudo zypper install phpMyAdmin

Kada se instalacija završi, kreirajte novu konfiguracijsku datoteku vhost-a za pristup phpMyAdmin kao što je prikazano.

sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf

Dodajte ove sljedeće konfiguracije u datoteku.

server { 
   listen 80; 

   server_name localhost/phpMyAdmin; 

  root /srv/www/htdocs/phpMyAdmin; 

   location / { 
       try_files $uri /index.php?$args; 
   } 

   location ~ \.php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       include fastcgi_params; 
   } 
} 

Sačuvajte promjene i zatvorite datoteku. Zatim ponovo pokrenite Nginx uslugu sa sljedećom komandom.

sudo systemctl restart nginx

Sada idite na svoj web pretraživač i upišite adresu http://localhost/phpMyAdmin. Stranica za prijavu phpMyAdmin trebala bi se prikazati kao što je prikazano na sljedećem snimku ekrana. Unesite vjerodajnice za prijavu root korisnika baze podataka i kliknite Idi.

To je sve! U ovom vodiču smo vam objasnili kako da instalirate LEMP stog sa Nginxom, MariaDB, PHP, PHP-FPM i PhpMyAdmin na OpenSuse serverskim/desktop izdanjima. Ako naiđete na bilo kakve probleme tokom postavljanja, postavite svoja pitanja putem obrasca za komentare ispod.