Kako instalirati LEMP Stack na Rocky Linux 8
LEMP je popularan stog koji se sastoji od softvera otvorenog koda koji se zajednički koristi za hostovanje i posluživanje web aplikacija, bilo u proizvodnji ili bilo kojoj fazi razvojnog ciklusa.
Terminologija LEMP je akronim za Linux, Nginx (izgovara se kao Engine X, otuda i E) što je web preglednik, MariaDB ili MySQL – baza podataka i PHP za obradu dinamičkog sadržaja). LEMP stog se popularno koristi za hostovanje web aplikacija i web stranica s velikim prometom i vrlo skalabilnim.
U ovom vodiču ćete naučiti kako instalirati LEMP stack na Rocky Linux 8.4.
Preduvjeti
Prije nego što počnete instalirati LEMP stog, uvjerite se da imate sljedeće zahtjeve.
- Instanca Rocky Linuxa 8 s konfiguriranim sudo korisnikom.
- SSH pristup Rocky Linux instanci.
Hajde da počnemo…
Korak 1: Instalirajte Nginx na Rocky Linux
Prvi korak je instaliranje prve komponente LEMP steka koji je Nginx web server. Prvo, nadogradite pakete.
sudo dnf update -y
Nakon što se ažuriranje završi, instalirajte Nginx tako što ćete pokrenuti sljedeću naredbu. Ovo instalira Nginx zajedno s drugim ovisnostima koje zahtijeva web server.
sudo dnf install nginx
Kada se Nginx postavi, omogućite mu da se pokrene u vrijeme pokretanja i pokrenite Nginx demon.
sudo systemctl enable nginx
sudo systemctl start nginx
Da biste potvrdili da web server radi, izvršite naredbu:
sudo systemctl status nginx
Iz rezultata možemo zaključiti da je web server pokrenut i radi.
Ako ste dovoljno radoznali, možete provjeriti verziju Nginxa na sljedeći način. Izlaz pokazuje da koristimo Nginx 1.14.1.
nginx -v
nginx version: nginx/1.14.1
Osim toga, možete potvrditi da pretraživač radi tako što ćete pregledati prikazani URL. Ovo će prikazati zadanu Nginx stranicu dobrodošlice koja pokazuje da je sve u redu.
http://server-ip or domain name
Ako imate problema s pregledavanjem stranice, razmislite o otvaranju porta 80 ili dopuštanju HTTP prometa na zaštitnom zidu.
sudo firewall-cmd --zone=public --add-service=http --permanent
Zatim ponovo učitajte zaštitni zid i ponovo učitajte stranicu.
sudo firewall-cmd --reload
Korak 2: Instalirajte MariaDB na Rocky Linux
Za ovaj vodič, mi ćemo instalirati MariaDB bazu podataka. Ovo je zbog optimizovanih performansi i bogatstva mehanizama za skladištenje koje pruža, što ga čini daleko superiornijim u odnosu na MySQL.
Da instalirate MariaDB server baze podataka, pokrenite naredbu:
sudo dnf install mariadb-server mariadb
Kada završite, omogućite i pokrenite MariaDB kao što je prikazano.
sudo systemctl enable mariadb
sudo systemctl start mariadb
Zatim provjerite njegov status.
sudo systemctl status mariadb
Zadane postavke za MariaDB nisu dovoljno sigurne i vaša baza podataka može biti lako probijena. Kao mjeru predostrožnosti za odvraćanje uljeza na najosnovnijem nivou, pokrenite skriptu ispod.
sudo mysql_secure_installation
Obavezno postavite Root lozinku.
Za preostale upite, jednostavno upišite 'Y'
da biste uklonili anonimne korisnike, odbili udaljenu root prijavu, uklonili testnu bazu podataka i na kraju sačuvali napravljene promjene.
Da biste se prijavili na server baze podataka, pokrenite naredbu:
sudo mysql -u root -p
Unesite lozinku i pritisnite ENTER.
Korak 3: Instalirajte PHP na Rocky Linux
Posljednja komponenta za instalaciju je PHP preko PHP-FPM, što je skraćenica za FastCGI Process Manager. Ovo je efikasan i vrlo napredan procesor za PHP koji pruža funkcije koje garantuju optimalne performanse i sigurnost za web stranice s velikim prometom.
Za početak ćemo instalirati Remi spremište koje je besplatno spremište treće strane koje pruža najnovije verzije PHP-a.
Da omogućite Remi spremište, pokrenite naredbu:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Kada je repozitorijum Remi omogućen, pogledajte listu PHP modula koji se hostuju pomoću prikazane komande.
sudo dnf module list php
Iz izlaza možemo vidjeti da je zadana verzija 7.2 – sa oznakom [d]
. Međutim, mi ćemo instalirati najnoviji modul koji je Remi 8.0.
Stoga, resetirajte zadane PHP module i omogućite najnoviji Remi PHP modul.
sudo dnf module list reset php
sudo dnf module enable php:remi-8.0
Zatim ažurirajte sistem i instalirajte PHP i PHP-FPM uz PHP ekstenzije po vašoj želji.
sudo dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache
Kada se instalacija završi, omogućite i pokrenite PHP-FPM kao što je prikazano.
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Zatim provjerite radni status PHP-FPM.
sudo systemctl status php-fpm
Obično, PHP-FPM radi kao Apache korisnik, ali pošto koristimo Nginx, moramo ga postaviti na Nginx<. Dakle, otvorite sljedeću konfiguracijsku datoteku.
sudo vim /etc/php-fpm.d/www.conf
Postavite korisnika i grupu na Nginx.
user = nginx
Group = nginx
Nakon toga, ponovo učitajte PHP-FPM demon.
sudo systemctl reload php-fpm
Da biste potvrdili da smo instalirali najnoviju verziju PHP-a, pokrenite naredbu.
php -v
Još jedan odličan način Testin PHP-a je kreiranje jednostavne PHP datoteke i postavljanje u webroot direktorij koji se nalazi u /usr/share/nginx/html. Dakle, kreirajte jednostavnu datoteku info.php u /usr/share/nginx/html web root direktoriju.
sudo vim /usr/share/nginx/html/info.php
Dodajte sljedeći sadržaj i sačuvajte datoteku.
<?php
phpinfo();
?>
Da biste izvršili promjene, ponovo učitajte Nginx web server.
sudo systemctl restart nginx
Konačno, pristupite sljedećem URL-u.
http://server-ip/info.php
Biće prikazana veb stranica sa detaljnim informacijama o instaliranoj verziji PHP-a zajedno sa drugim PHP ekstenzijama.
U ovom trenutku, naše LEMP postavljanje je završeno. U sljedećem koraku ćemo ugostiti oglednu stranicu tako što ćemo konfigurirati blok Nginx servera.
Korak 3: Konfigurirajte blok Nginx servera u Rocky Linuxu
Blok servera omogućava administratorima da hostuju više veb lokacija na jednom serveru definisanjem različitih korenskih direktorijuma dokumenata sajta. Ovo su direktoriji koji sadrže datoteke web stranice.
Ovdje ćemo kreirati jednu datoteku bloka Nginx servera za hostiranje uzorka web stranice.
Korak 1: Kreirajte imenik web stranice
Prvo, kreirajte direktorij dokumenata stranice koji će sadržavati podatke stranice koji će biti dostupni posjetiteljima stranice. Pretpostavimo da imate domenu pod nazivom example.com. Kreirajte direktorij domene web-mjesta na sljedeći način. Obavezno zamijenite example.com potpuno kvalificiranim imenom domene ili registriranom domenom svoje web lokacije.
sudo mkdir -p /var/www/example.com/html
Korak 2: Postavite vlasništvo i dozvole na web stranici
Struktura direktorija domene je sada postavljena za smještaj datoteka web-mjesta. Trenutno je root korisnik taj koji posjeduje datoteke. Moramo postaviti vlasništvo tako da obični korisnik bude vlasnik datoteke.
Da promijenite vlasništvo nad datotekama na trenutno prijavljenog korisnika, koristite chown komandu.
sudo chown -R $USER:$USER /var/www/example.com/html
Varijabla $USER
uzima vrijednost trenutno prijavljenog korisnika i dodjeljuje korisniku vlasništvo nad html datotekama i poddirektorijumima. Dodatno, dodijelite dopuštenje za čitanje opštem web korijenskom direktoriju tako da posjetitelji web-mjesta mogu pristupiti stranicama web-mjesta.
sudo chmod -R 755 /var/www
Direktorij web-mjesta je sada dobro konfiguriran da služi web stranicama web-mjesta.
Korak 3: Kreirajte demo stranicu
Kreirajmo sada ogledno mjesto za testiranje. Napravit ćemo vrlo osnovnu datoteku index.html u html direktoriju domene.
sudo vim /var/www/example.com/html/index.html
Zalijepite sadržaj ispod. Kao što vidite, prilično je osnovno jer ga koristimo samo u svrhe testiranja.
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The server block is active!</h1>
</body>
</html>
Sačuvajte i izađite iz HTML datoteke.
Korak 4: Kreirajte Nginx serverski blok za web lokaciju
Datoteka bloka servera je datoteka koja sadrži konfiguraciju stranice. Navodi kako Nginx web server odgovara na zahtjeve posjetitelja stranice. Počećemo kreiranjem dva direktorija:
- /etc/nginx/sites-available – Ovo je direktorij koji će sadržavati datoteku bloka servera.
- /etc/nginx/sites-enabled – Direktorij obavještava Nginx da je datoteka bloka servera spremna za posluživanje zahtjeva.
Stoga kreirajte direktorije na sljedeći način:
sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled
Nakon toga, uredite Nginxov glavni konfiguracijski fajl.
sudo mkdir /etc/nginx/nginx.conf
Zalijepite sljedeće redove. Prvi red specificira putanju do direktorija koji sadrži dodatne konfiguracijske datoteke. Drugi red povećava memoriju dodijeljenu raščlanjivanju imena domena.
include /etc/nginx/sites-enabled/*.conf;
server_names_hash_bucket_size 64;
Sačuvaj i izađi.
Zatim kreirajte datoteku bloka servera.
sudo vim /etc/nginx/sites-available/example.com.conf
Zalijepite sadržaj ispod. Zamijenite example.com sa svojim potpuno kvalificiranim imenom domene (FQDN) ili IP adresom servera.
server {
listen 80;
server_name example.com www.example.com;
location / {
root /var/www/example.com/html;
index index.html index.htm;
try_files $uri $uri/ =404;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Sačuvajte i izađite iz datoteke.
Korak 5: Omogućite blokiranje Nginx servera
Konačno, moramo omogućiti serverski blok fajl. Da bismo to učinili, kreirat ćemo simboličku vezu za datoteku bloka servera do direktorija s omogućenim web lokacijama.
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
Zatim ponovo pokrenite Nginx da bi se promjene izvršile.
sudo systemctl restart nginx
Korak 6: Testirajte Nginx web lokaciju
Da biste testirali konfiguraciju, pokrenite pretraživač i posjetite domenu svoje web stranice
http://example.com
Ovo bi trebalo da prikaže lokaciju serverskog bloka kako smo konfigurisali u koraku 3.
I ovo završava. U ovom vodiču smo vas proveli kroz instalaciju LEMP steka na Rocky Linux 8 i otišli korak dalje da kreirate i konfigurišete serverski blok fajl gde smo hostovali prilagođena web stranica.