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


LEMP ili Linux, Engine-x, MySQL i PHP stog je softver paket sastavljen od softvera otvorenog koda instaliranog na operacijskom sustavu Linux za pokretanje web aplikacija temeljenih na PHP-u koje pokreće Nginx HTTP poslužitelj i MySQL/MariaDB sustav za upravljanje bazom podataka.

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

Ovaj vodič će vas voditi kako instalirati LEMP stog s Nginx, MariaDB, PHP, PHP-FPM i PhpMyAdmin na OpenSuse poslužiteljskim/stolnim izdanjima.

Instalacija Nginx HTTP poslužitelja

Nginx je brz i pouzdan HTTP i proxy poslužitelj koji može podnijeti veće opterećenje HTTP zahtjeva. Koristi asinkroni pristup vođen događajima za rukovanje zahtjevima, a njegova modularna arhitektura vođena događajima može pružiti predvidljiviju izvedbu pod velikim opterećenjima.

Da biste instalirali Nginx na OpenSuse, pokrenite sljedeću naredbu.

sudo zypper install nginx

Nakon što instalirate Nginx, za sada možete pokrenuti uslugu, a zatim joj omogućiti automatsko pokretanje pri pokretanju i provjeriti status Nginxa pokretanjem sljedećih naredbi.

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 poslužitelj bi trebao biti spreman i pokrenut, također možete provjeriti status pomoću naredbe netstat kao što je prikazano.

sudo netstat -tlpn | grep nginx

Sada moramo testirati radi li instalacija Nginx dobro. Za razliku od drugih distribucija Linuxa, pod openSUSE, Nginx nema standardni dokument index.html u web korijenskoj mapi. Moramo stvoriti 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 firewall, morate otvoriti port 80 i 443 kako biste omogućili web promet na vatrozidu.

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

Zatim otvorite web preglednik i idite na adresu http://localhost i potvrdite Nginx stranicu.

Instaliranje MariaDB poslužitelja baze podataka

MariaDB je besplatna i otvorena forka sustava za upravljanje relacijskom bazom podataka MySQL. Razvili su ga izvorni programeri MySQL-a i namjerava ostati otvorenog koda. MariaDB je brz, skalabilan i robustan, s bogatim ekosustavom mehanizama za pohranu, dodataka i mnogih drugih alata koji ga čine vrlo svestranim za različite slučajeve upotrebe.

Da biste instalirali MariaDB na OpenSuse, pokrenite sljedeću naredbu.

sudo zypper install mariadb mariadb-client 

Zatim pokrenite uslugu MariaDB za sada, a zatim joj omogućite automatsko pokretanje tijekom pokretanja i provjerite njezin status.

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

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

Napomena: Pokretanje sigurnosne skripte MariaDB i svih njezinih dijelova toplo se preporučuje za sve poslužitelje MariaDB u proizvodnji.

sudo mysql_secure_installation 

Nakon pokretanja skripte pažljivo pročitajte opis svakog koraka. Trebali biste postaviti root korisničku lozinku, ukloniti anonimne korisnike, onemogućiti udaljeni root pristup, ukloniti testnu bazu podataka i pristup njoj i na kraju ponovno učitati tablicu povlastica.

Instaliranje i konfiguriranje PHP-a i PHP-FPM-a

PHP-FPM (skraćenica za PHP FastCGI Process Manager) alternativni je FastCGI demon za PHP s nekim dodatnim značajkama i dizajniran za podnošenje velikih opterećenja. Održava skupove (radnike koji mogu odgovoriti na PHP zahtjeve) kako bi to postigao. Važno je da je brži od tradicionalnih metoda temeljenih na CGI-ju, kao što je SUPHP, za višekorisnička PHP okruženja.

Za instalaciju PHP i PHP-FPM zajedno s potrebnim modulima pokrenite sljedeću naredbu.

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

Prije nego nastavimo s pokretanjem usluge PHP-FPM, moramo kreirati potrebne konfiguracijske datoteke iz zadanih datoteka danih tijekom instalacije i konfigurirati uslugu spremnu 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 glavnu konfiguracijsku datoteku php-fpm.conf za uređivanje.

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

Odkomentirajte sljedeći redak u retku broj 24 kao što je prikazano.

error_log = log/php-fpm.log

Spremite i zatvorite datoteku.

Zatim moramo definirati ispravne postavke za konfigurirane skupove 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 korisničkih i grupnih parametara iz nobody u nginx.

user = nginx
group = nginx

Sada spremite promjene u datoteku i izađite iz nje.

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

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

Potražite redak ;cgi.fix_pathinfo=1 i promijenite ga u.

cgi.fix_pathinfo=0

Spremite promjene u datoteku i izađite.

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

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

Konfiguriranje Nginxa za rad s PHP-FPM

U ovom trenutku moramo konfigurirati Nginx za rad s PHP-FPM u zadanoj Nginx konfiguracijskoj datoteci.

sudo vim /etc/nginx/nginx.conf

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

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

Također pronađite sljedeći odjeljak (koji bi trebao biti komentiran) i uklonite komentare. Ovaj se odjeljak koristi za prosljeđivanje PHP skripti FastCGI poslužitelju koji sluša 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; 
       }

Spremite promjene u datoteku i izađite.

Testiranje Nginx-a i PHP-FPM-a

Sljedeći korak je testirati radi li Nginx dobro u kombinaciji s PHP-FPM stvaranjem nove PHP testne datoteke u DocumentRoot direktoriju kao prikazano.

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

Sada moramo provjeriti je li Nginx konfiguracija ispravna kako slijedi, prije nego nastavimo s ponovnim pokretanjem usluge.

sudo nginx -t

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

sudo systemctl restart nginx php-fpm

Sada otvorite web-preglednik i idite na adresu http://localhost/info.php da provjerite PHP konfiguraciju kao što je prikazano na sljedećoj snimci zaslona.

Instaliranje i konfiguriranje PhpMyAdmin

phpMyAdmin je besplatan, jednostavan za korištenje i popularan alat napisan u PHP-u, napravljen za administriranje MySQL poslužitelja preko weba. Podržava širok raspon operacija na MySQL i MariaDB.

Da biste instalirali phpMyAdmin na OpenSuse, pokrenite sljedeću naredbu.

sudo zypper install phpMyAdmin

Nakon što je instalacija dovršena, stvorite novu vhost konfiguracijsku datoteku za pristup phpMyAdmin kao što je prikazano.

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

Dodajte 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; 
   } 
} 

Spremite promjene i zatvorite datoteku. Zatim ponovno pokrenite uslugu Nginx sljedećom naredbom.

sudo systemctl restart nginx

Sada idite na svoj web preglednik i upišite adresu http://localhost/phpMyAdmin. Stranica za prijavu phpMyAdmin trebala bi se prikazati kao što je prikazano na sljedećoj snimci zaslona. Unesite vjerodajnice za prijavu korijenskog korisnika baze podataka i kliknite Idi.

To je sve! U ovom vodiču smo vam objasnili kako instalirati LEMP stog s Nginx, MariaDB, PHP, PHP-FPM i PhpMyAdmin na OpenSuse poslužiteljskim/stolnim izdanjima. Ako se suočite s bilo kakvim problemima tijekom postavljanja, postavite svoja pitanja putem obrasca za komentare u nastavku.