Kako instalirati LEMP (Linux, Nginx, MariaDB, PHP-FPM) na Debian 9 Stretch


Budući da Debian pokreće veliki postotak web servera diljem svijeta, u ovom članku ćemo objasniti kako instalirati LEMP (Linux + Nginx + MariaDB + PHP-FPM) stog na Debian 9 Stretch kao alternativu za LAMP (koristite ovaj vodič za instalirati LAMP na Debian 9).

Osim toga, pokazat ćemo kako izvršiti minimalnu Nginx/PHP-FPM konfiguraciju tako da čak i novi administratori sistema mogu postaviti potpuno nove web servere za postavljanje dinamičkih stranica.

Da bismo to učinili, iskoristit ćemo nedavna ažuriranja službenih spremišta distribucije. Pretpostavlja se da ste instalirali Debian 9 na goli metal, virtualnu mašinu ili VPS, ili ste izvršili nadogradnju sa Jessie.

Instaliranje LEMP-a u Debian 9 Stretch

Možda se pitate zašto smo spomenuli PHP-FPM umjesto PHP kao dio LEMP steka. Za razliku od drugih web servera, Nginx ne pruža izvornu podršku za PHP.

Iz tog razloga, PHP-FPM (Fast Process Manager) se koristi za obradu zahtjeva za PHP stranice. Više o PHP-FPM-u možete saznati na službenoj stranici PHP-a.

Zadana verzija dostupna u Debian repozitorijumima php7.0-fpm. Kao što verovatno možete pretpostaviti na osnovu imena paketa, ova verzija može čak da obrađuje zahteve prema stranicama uključujući PHP 7 kod.

NAPOMENA: Ako je Apache prethodno instaliran u istom polju, uvjerite se da je zaustavljen i onemogućen prije nego što nastavite.

Uz to rečeno, instalirajmo komponente LEMP steka na sljedeći način:

aptitude update 
aptitude install nginx mariadb-server mariadb-client php-mysqli php7.0-fpm

Kada se instalacija završi, prvo se uvjerimo da su Nginx i PHP-FPM pokrenuti i omogućeni za pokretanje pri pokretanju:

systemctl status nginx php7.0-fpm

Ako pokazuje da jedna ili obje usluge nisu pokrenute, učinite to.

systemctl start nginx php7.0-fpm
systemctl enable nginx php7.0-fpm

Kao što je slučaj sa svakom instalacijom MariaDB ili MySQL, važno je pokrenuti mysql_secure_installation da izvršite minimalnu sigurnosnu konfiguraciju i postavite lozinku za korijenski račun baze podataka.

mysql_secure_installation

Ako ne znate kako to učiniti, možete pogledati korak #4 u Kako instalirati MariaDB 10 na Debian i Ubuntu.

Konfiguriranje Nginxa za korištenje PHP-FPM-a na Debianu 9

Nginx glavna konfiguracijska datoteka je /etc/nginx/sites-available/default, gdje ćemo morati napraviti sljedeće promjene unutar bloka servera:

  • Uvjerite se da je omogućen blok location koji rukuje PHP zahtjevima, s izuzetkom onog gdje fastcgi_pass direktiva pokazuje na mrežnu karticu povratne petlje.
  • Dodajte index.php nakon index direktive kako biste naznačili da, ako se pronađe, treba biti isporučen prema zadanim postavkama prije index.html ili drugih datoteka.
  • Dodajte server_name direktivu koja ukazuje na IP adresu ili ime hosta vašeg servera. Ovo će biti 192.168.0.35 u našem slučaju.
  • Osim toga, uvjerite se da root direktiva ukazuje na lokaciju na kojoj će vaši .php fajlovi biti pohranjeni (/var/www/html po defaultu) .

Kada završite, možete koristiti sljedeću naredbu da testirate konfiguracijsku datoteku na greške.

nginx -t 

U ovom trenutku, vaš /etc/nginx/sites-available/default bi trebao izgledati kako slijedi gdje brojevi koji se odnose na konfiguraciju predstavljaju gornju listu:

grep -Ev '#' /etc/nginx/sites-available/default

Testiranje Nginxa i PHP-FPM-a na Debianu 9

Da bismo bili sigurni da sada koristimo Nginx kao naš web server, napravimo fajl pod nazivom info.php unutar /var/www/html sa sljedeći sadržaji:

<?php
	phpinfo();
?>

Zatim idite na http://192.168.0.35/info.php i provjerite vrh stranice gdje biste trebali vidjeti ovo:

Na kraju, usmjerimo naš preglednik na datoteku booksandauthors.php koju smo kreirali u Install LAMP (Linux, Apache, MariaDB ili MySQL i PHP) stack na Debianu 9.

Kao što možete vidjeti na sljedećoj slici, ovaj fajl sada opslužuje Nginx:

NAPOMENA: Ako primijetite da Nginx služi datoteke .php kao preuzimanja umjesto da ih izvršava, obrišite keš pretraživača ili pokušajte s drugim preglednikom . Konkretno, ako koristite Chrome, možda ćete htjeti testirati s anonimnim načinom rada.

Sažetak

U ovom članku smo objasnili kako instalirati i konfigurirati Nginx za posluživanje dinamičkih .php stranica. Važno je napomenuti da nakon ovog početnog podešavanja postoje postavke koje treba uzeti u obzir za osiguranje web servera.

Osnovni sažetak možete pronaći u The Ultimate Guide to Secure, Harden and Improve Performance of Nginx Web Server.

Ako tražite virtuelni hosting na Nginxu, pročitajte Kako podesiti virtuelne hostove zasnovane na imenu i IP na NGINX-u.

Kao i uvijek, ne ustručavajte se javiti nam ako imate pitanja ili komentara o ovom članku.