Kako instalirati LEMP Stack na Debian 11 – Nginx MariaDB PHP

Lemp je zbirka softvera otvorenog koda koji se obično koristi zajedno za posluživanje web aplikacija. Pojam LEMP je akronim koji predstavlja konfiguraciju Linux operativnog sustava s Nginxom (izgovara se motor-x, dakle E u akronimu) web-poslužitelj, s podacima o web-mjestu pohranjenim u MySQL ili MariaDB bazi podataka i dinamičkim sadržajem obrađenim u PHP-u koji se popularno koristi za hosting opsežnih web stranica zbog svoje izvedbe i skalabilnosti.

U sljedećem tutorialu naučit ćete kako instalirati LEMP (Nginx, MariaDB, PHP 8.0) na Debian 11.

Preduvjeti

  • Preporučeni OS: Debian 11 Bullseye
  • Korisnički račun: Korisnički račun sa sudo privilegije or root pristup (su naredba).

Ažuriranje operativnog sustava

Ažurirajte svoj Debian 11 operativni sustav kako biste bili sigurni da su svi postojeći paketi ažurirani:

sudo apt update && sudo apt upgrade

Root ili Sudo pristup

Prema zadanim postavkama, kada kreirate svoj račun pri pokretanju s Debianom u usporedbi s drugim distribucijama, on ne dobiva automatski status sudoers. Morate imati pristup root lozinka koristiti naredba su ili posjetite naš vodič na Kako dodati korisnika u Sudoers na Debianu.


Oglas


Instalirajte Nginx

Da biste pokrenuli instalaciju LEMP steka, morat ćete instalirati Nginx Web poslužitelj, što se može učiniti sljedećom naredbom terminala:

sudo apt install nginx

Primjer rezultata:

Kako instalirati LEMP Stack na Debian 11 - Nginx MariaDB PHP

tip Y, a zatim pritisnite Enter tipka za nastavak instalacije.

Potvrdite instalaciju provjerom verzije izrade:

sudo nginx -v

Primjer rezultata:

nginx version: nginx/1.18.0

Sada provjerite status svoje Nginx usluge sljedećom naredbom terminala:

sudo systemctl status nginx

Primjer izlaza koji kaže da je sve u redu:

Kako instalirati LEMP Stack na Debian 11 - Nginx MariaDB PHP

Prema zadanim postavkama, kada instalirate Nginx na Debian, on bi trebao biti omogućen; ako ne, upotrijebite sljedeću naredbu za pokretanje Nginxa i omogućite mu učitavanje pri pokretanju.

sudo systemctl enable nginx && sudo systemctl start nginx

Primjer uspješnog omogućavanja (simbol):

Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx

Za korisnike koji žele koristiti ažuriraniju stabilnu ili glavnu verziju Nginxa za Debian 11, posjetite naš vodič Kako instalirati najnoviji Nginx Mainline ili Stable na Debian 11.

Instalacija i konfiguracija MariaDB-a

Montaža

MariaDB je zamjena za MySQL, a razvili su ga bivši članovi MySQL tima zabrinuti da bi Oracle mogao pretvoriti MySQL u zatvoreni izvor i potencijalno plaćeni proizvod.

Unesite sljedeću naredbu da instalirate MariaDB na Debian:

sudo apt install mariadb-server mariadb-client

Primjer izlaza u nastavku:

Kako instalirati LEMP Stack na Debian 11 - Nginx MariaDB PHP

Tip Y a zatim pritisnite Enter tipka za nastavak instalacije:

Sada provjerite status svoje usluge baze podataka MariaDB i je li operativna sljedećom naredbom:

sudo systemctl status mariadb

Primjer izlaza koji kaže da je sve u redu:

Kako instalirati LEMP Stack na Debian 11 - Nginx MariaDB PHP

Kao i kod Nginxa, prema zadanim postavkama, MariaDB bi trebao biti omogućen. Ako to nije slučaj, da biste pokrenuli i omogućili MariaDB pri pokretanju sustava, koristite sljedeće (systemctl) naredba terminala:

sudo systemctl enable mariadb && sudo systemctl start mariadb

Primjer uspješnog omogućavanja (simbol):

Synchronizing state of mariadb.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mariadb

Da biste provjerili koja je verzija MariaDB-a instalirana na vašem Debian sustavu, upišite sljedeću naredbu:

mysql --version

Primjer rezultata:

mysql  Ver 15.1 Distrib 10.5.11-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper

Za korisnike koji žele koristiti ažuriraniju stabilnu ili glavnu verziju Nginxa za Debian 11, posjetite naš vodič Kako instalirati MariaDB 10.6 na Debian 11.

konfiguracija

Sada kada je MariaDB pokrenut i radi na vašem Debian sustavu, morate pokrenuti sigurnosnu skriptu nakon instalacije jer je potrebno pregledati zadane postavke jer često nisu sigurne. Ovo je vrlo preporučljivo da ne preskačete.

Prvo pokrenite naredbu za sigurnu instalaciju MariaDB kako slijedi:

sudo mysql_secure_installation

Zatim ćete dobiti upit da unesete svoju (MariaDB root lozinku). Za sada pritisnite (UNESI) ključ jer root lozinka još nije postavljena kao u nastavku:

Zatim, upišite (I) i pritisnite enter za postavljanje (Root) lozinka kao u nastavku:

Sljedeći niz pitanja možete sigurno pogoditi (UNESI), koji će odgovoriti (I) na sva sljedeća pitanja koja vas traže (uklonite anonimne korisnike, onemogućite udaljenu root prijavu i uklonite testnu bazu podataka), Obratite pažnju na (I) je veliko, što znači da je to zadani odgovor kada pritisnete (UNESI) ključ.

Kako instalirati LEMP Stack na Debian 11 - Nginx MariaDB PHP

Primjer u nastavku:

Pregled onoga što je gore trebalo učiniti:

  • Postavljanje lozinke za korijen računi.
  • Uklanjanje root računa koji su dostupni izvan lokalnog hosta.
  • Uklanjanje računa anonimnih korisnika.
  • Uklanjanje testne baze podataka kojoj prema zadanim postavkama mogu pristupiti anonimni korisnici.

Ovaj korak je osnovni uvjet za sigurnost MariaDB baze podataka i ne smije se mijenjati ili preskakati osim ako ne znate što radite.

Sada se prijavite na terminal baze podataka MariaDB sa sljedećom naredbom:

sudo mysql -u root -p

Od vas će se tražiti da unesete root lozinku koju ste postavili bilo u instalacijskoj skripti ili sigurnosnoj skripti nakon instalacije. Jednom u instanci usluge MySQL, možete izvršiti sljedeću naredbu kao test da biste je vidjeli u radu.

Upišite sljedeće Naredba SHOW DATABASE:

SHOW DATABASES;

Za one koji su novi u MySQL-u i MariaDB-u, sve naredbe moraju završavati s ";"

Primjer:

Kako instalirati LEMP Stack na Debian 11 - Nginx MariaDB PHP

Da biste izašli iz terminala baze podataka MariaDB, upišite (exit;) kako slijedi:

exit;

Oglas


Instalacija PHP-a (PHP-FPM)

Posljednji dio za instalaciju u vašoj LEMP instalaciji je PHP. Morat ćete instalirati (PHP-FPM) što je skraćenica za (FastCGI Process Manager). Proces instaliranja posljednjeg koraka prilično je jednostavan; na kraju ćete stvoriti a .PHP test datoteku kako biste bili sigurni da sve radi.

Vodič pokriva instalaciju PHP-FPM 7.4. Za korisnike koji žele instalirati ažuriraniju verziju PHP-FPM 7.4 ili novi 8.0, 8.1, posjetite naš vodič Kako instalirati PHP 8 na Debian 11 Bullseye. Ako instalirate PHP-FPM 8.0, na primjer, iz vodiča, vratite se ovdje i preskočite instalacijski dio.

Da biste instalirali PHP-FPM, upotrijebite sljedeću naredbu:

sudo apt install php7.4 php7.4-fpm

Primjer rezultata:

Kako instalirati LEMP Stack na Debian 11 - Nginx MariaDB PHP

Tip Y a zatim pritisnite Enter tipka za nastavak instalacije:

Po želji, zatim možete instalirati bilo koja proširenja po svom izboru. U nastavku su neke od najčešće korištenih:

sudo apt install php7.4-cli php7.4-curl php7.4-mysqlnd php7.4-gd php7.4-opcache php7.4-zip php7.4-intl php7.4-common php7.4-bcmath php7.4-imap php7.4-imagick php7.4-xmlrpc php7.4-json php7.4-readline php7.4-memcached php7.4-memcache php7.4-redis php7.4-mbstring php7.4-apcu php7.4-xml

Primjer rezultata:

Kako instalirati LEMP Stack na Debian 11 - Nginx MariaDB PHP

Tip Y a zatim pritisnite Enter tipka za nastavak instalacije:

Imajte na umu da za sigurnosno pojačanje, a zapravo biste trebali instalirati samo gore navedene pakete, znate da ćete ih morati koristiti za mjere opreza.

Zatim potvrdite instalaciju PHP-a provjerom instalirane verzije i build-a:

php -v

Primjer rezultata:

PHP 7.4.21 (cli) (built: Jul  2 2021 03:59:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies

Sada, kao i prije s provjerom statusa ostalih zahtjeva u vašoj LEMP instalaciji, koristite sljedeće (systemctl) naredba terminala za provjeru statusa kako biste bili sigurni da sve radi:

sudo systemctl status php7.4-fpm

Ako nema pogrešaka, trebali biste dobiti sljedeći izlaz:

Kako instalirati LEMP Stack na Debian 11 - Nginx MariaDB PHP

Konačno, PHP-FPM poput Nginxa i MariaDB prije trebao bi biti omogućen prema zadanim postavkama; ako ne, da biste omogućili PHP-FPM pri pokretanju sustava i da biste ga pokrenuli, koristite sljedeće (systemctl) naredba:

sudo systemctl enable php7.4-fpm && sudo systemctl start php7.4-fpm

Primjer uspješnog omogućavanja (simbol):

Synchronizing state of php7.4-fpm.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable php7.4-fpm

Napravite blok Nginx poslužitelja

Blok Nginx poslužitelja je ekvivalent virtualnom hostu u Apacheu, koji sadrži konfiguraciju za vaš Nginx web poslužitelj koji odgovara javnim posjetiteljima. Ispod je potpuni primjer kako to postići imajući na umu PHP-FPM.

Izradite direktorije blokova poslužitelja

Franjevački (.conf) datoteke se obično nalaze u (stranice-dostupne) i (omogućeno za web-lokacije). Korisnici koji dolaze iz različitih distribucija primijetili bi da je to već instalirano; međutim, za Debian, morat ćete ih kreirati.

Napravite dva potrebna (stranice) direktorij sa sljedećom naredbom:

sudo mkdir /etc/nginx/sites-available && sudo mkdir /etc/nginx/sites-enabled

Uredite Nginx konfiguracijsku datoteku

Nakon kreiranja potrebnih direktorija, uredite Nginxovu glavnu konfiguracijsku datoteku (nginx.conf) kako slijedi:

sudo mkdir /etc/nginx/nginx.conf

Zatim zalijepite sljedećih nekoliko redaka u (HTTP) dio (nginx.conf) konfiguracijska datoteka:

include /etc/nginx/sites-enabled/*.conf;
server_names_hash_bucket_size 64;

Bilješka, (size_names_hash_bucket_size) povećava memoriju dodijeljenu raščlanjivanju imena domena.

Spremite konfiguraciju sa (CTRL+O) a zatim (CTRL+X) izaći.

Primjer:

Stvorite konfiguracijsku datoteku bloka poslužitelja

Sada stvorite datoteku bloka poslužitelja pomoću bilo kojeg uređivača teksta, koji će koristiti vodič (nano):

sudo nano /etc/nginx/sites-available/example.com.conf

Zatim morate postaviti konfiguracijsku datoteku s radnim primjerom s omogućenim PHP-FPM.

U nastavku je naveden primjer koji možete kopirati i zalijepiti. Napomena za zamjenu (ime_poslužitelja) s imenom vaše domene ili IP-om:

server {
 listen 80;
 listen [::]:80;
 server_name example.com www.example.com;
 root /usr/share/nginx/html/;
 index index.php index.html index.htm index.nginx-debian.html;

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

  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_intercept_errors on;	
 }

# A long browser cache lifetime can speed up repeat visits to your page
   location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
    access_log        off;
    log_not_found     off;
    expires           360d;
 }

# disable access to hidden files
  location ~ /\.ht {
   access_log off;
   log_not_found off;
   deny all;
 }
}

Sada spremite blok poslužitelja sa (CTRL+O), zatim izađite sa (CTRL+X).

Omogućite blokiranje Nginx poslužitelja

Sada ste u završnoj fazi i sada je vrijeme da omogućite konfiguracijsku datoteku bloka poslužitelja. Da biste to učinili, morate stvoriti simboličku vezu (simbol) za konfiguracijsku datoteku bloka poslužitelja u (stranice-dostupne) direktorij u (omogućene web-lokacije) koristeći sljedeću naredbu:

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf

Testirajte Nginx poslužiteljski blok

Da biste završili, uvijek biste trebali napraviti suho testiranje prije ponovnog pokretanja ili ponovnog učitavanja usluge Nginx, što je ključno ako radite u živom okruženju. Upišite sljedeću naredbu za testiranje konfiguracijske datoteke bloka poslužitelja:

sudo nginx -t

Ako nema grešaka, dobit ćete sljedeći izlaz:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Zatim otvorite svoj internetski preglednik i unesite adresu svoje domene (example.com) kako biste provjerili je li vaš poslužitelj dostupan. Čestitamo, uspješno ste kreirali blok poslužitelja Nginx koji je spreman za PHP-FPM.


Oglas


Testirajte PHP

Da biste testirali PHP-FPM s Nginx web poslužiteljem, morate stvoriti datoteku u webroot direktoriju.

Za vodič, dat ćete ime datoteke (info.php) kako slijedi:

sudo nano /var/www/html/example.com/info.php

Zalijepite sljedeće (info.php) Datoteka:

<?php

phpinfo();

?>

Spremite datoteku (CTRL+O), zatim izađi (CTRL+X).

Sada u adresnoj traci internetskog preglednika unesite (ip-adresa poslužitelja/info.php). Ako ste instalirali Nginx na svoje lokalno računalo, upotrijebite zadano (127.0.0.1/info.php) or (localhost/info.php).

Trebali biste vidjeti PHP informacije vašeg poslužitelja:

Kako instalirati LEMP Stack na Debian 11 - Nginx MariaDB PHP

Ove informacije pokazuju da se PHP skripte mogu ispravno izvoditi s Nginx web poslužiteljem.

Komentari i zaključak

U tutorialu ste naučili kako instalirati LEMP stog za osiguranje MariaDB-a, testirati PHP i stvoriti blok poslužitelja Nginx. Općenito, LEMP je trendi opcija. Sada je Nginx nadmašio Apache kao najčešće korišteni softver HTTP web poslužitelja, pravilno konfiguriran i upravljan performansama može vašem web poslužitelju dati snažnu prednost u odnosu na druge postavke.

Ostavite komentar