1. Báza znalostí
  2. Cloud a servery
  3. Virtuálny server (VPS)
  4. Ako v Ubuntu Linux 20.04 LTS nainštalovať Nginx, MySQL a PHP (LEMP)

Ako v Ubuntu Linux 20.04 LTS nainštalovať Nginx, MySQL a PHP (LEMP)

Pod skratkou LEMP sa skrýva softvérový balík pre Linux obsahujúci webový server Nginx (vyslovuje sa “Engine-X”), databázový server MySQL a programovací jazyk PHP. Táto trojica sa inštaluje na zobrazenie väčšiny webových stránok napísaných v jazyku PHP, ktoré si údaje ukladajú do databázy MySQL.

Tento návod funguje na linuxovom operačnom systéme Ubuntu vo verzii 20.04 LTS (Focal Fossa). Ide o verziu LTS (Long Term Support = dlhodobá podpora), ktorá bola zverejnená 23. 04. 2020 a je oficiálne podporovaná softvérovou spoločnosťou Canonical 5 rokov od vydania, čiže do apríla 2025. Vývojári sa v LTS vo zvýšenej miere zameriavajú na bezpečnosť a hardvérovú kompatibilitu, aby bolo možné nasadenie na enterprise úrovni.

Inštalujeme Nginx

V prvom rade je potrebné zabezpečiť aktuálnosť všetkých balíkov. Nainštalujeme teda všetok updatovaný softvér pomocou dvoch príkazov v jednej dávke:

sudo apt update && sudo apt upgrade

Ak systém nájde aktualizovateľné balíčky, takto sa opýta, či ich chcete začať inštalovať:

Do you want to continue? [Y/n]

Stlačte klávesu y ak chcete začať aktualizačný proces alebo tlačidlo n, ak aktualizovať nechcete. Následne stlačte klávesu Enter.

Samotný Nginx nainštalujeme jediným príkazom:

sudo apt install nginx

Stlačíme klávesu y a následne klávesu enter a počkáme na dokončenie inštalácie.

Po ukončení inštalácie vo webovom prehliadači skontrolujeme, či Nginx funguje správne:

http://IP_adresa

Ak je všetko v poriadku, zobrazí sa jednoduchá webová stránka s nadpisom “Welcome to nginx!” a s odkazmi na online dokumentáciu a podporu.

Skúsme si zmeniť HTML kód, aby sme sa uistili, či môžeme upravovať webovú stránku:

sudo nano /var/www/html/index.nginx-debian.html

Dopíšeme alebo vymažeme niekoľko znakov, uložíme pomocou klávesovej skratky Ctrl + X a následne stlačením klávesy y a potvrdením klávesou Enter. Vo webovom prehliadači  teraz obnovíme načítanú stránku a môžeme sledovať uložené zmeny.

Návod ako v Ubuntu 20.04 LTS nainštalovať Let’s Encrypt TLS/SSL pre Nginx (HTTPS)

Inštalujeme PHP

Webové stránky spracovávané na strane klienta (frontend pomocou HTML, CSS a JavaScriptu) už teda po úspešnej inštalácii Nginx dokážeme zobraziť. Ak ale potrebujeme, aby stránky fungovali dynamicky aj na strane servera (backend), musíme nainštalovať programovací jazyk PHP. Na to poslúži jediný príkaz:

sudo apt install php-fpm php-mysql

Stlačíme klávesu y a následne klávesu Enter a počkáme na dokončenie inštalácie.

PHP je úspešne nainštalované a teraz zariadime, aby Nginx s PHP dokázal spolupracovať. Zmeníme obsah konfiguračného súboru takto:

sudo nano /etc/nginx/sites-available/default

Do riadku číslo 44 doplníme index.php, takže výsledok môže vyzerať takto:

index index.php index.html index.htm index.nginx-debian.html;

Potom už len odkomentujeme riadky 56, 57, 60, 63, 68, 69 a 70. Uložíme pomocou klávesovej skratky Ctrl + X a následne stlačením klávesy y a potvrdením klávesou Enter.

Upravená časť konfiguračného súboru teda v textovom editore nano vyzerá takto:

Takto nastavený Nginx ešte reštartujeme:

sudo systemctl reload nginx

Po úspešnom reštarte Nginx vyskúšame, či sa PHP kód naozaj spracuje:

sudo rm /var/www/html/index.nginx-debian.html
sudo nano /var/www/html/index.php

Vložíme krátky PHP kód, vďaka ktorému sa načítajú všetky dôležité informácie ohľadom nainštalovaného PHP:

<?php
phpinfo();
?>

Uložíme pomocou klávesovej skratky Ctrl + X a následne stlačením klávesy y a potvrdením klávesou Enter.

Teraz Nginx ukazuje všetky dôležité nastavenia PHP na hlavnej stránke webu:

http://IP_adresa

Inštalujeme MySQL

Nginx teraz dokáže spolupracovať s jazykom PHP, ktorý zase vie komunikovať s MySQL. Poďme si teda nainštalovať MySQL, aby sme pomocou PHP dokázali ukladať údaje do databázy. Stačí jeden príkaz:

sudo apt install mysql-server

Stlačíme klávesu y a následne klávesu Enter a počkáme na dokončenie inštalácie.

Z bezpečnostných dôvodov sa po inštalácii MySQL odporúča spustiť skript

sudo mysql_secure_installation

v ktorom na všetky otázky odpovieme y a stlačíme klávesu Enter. V procese skriptu si zvolíte ešte “password validation policy” na MEDIUM (číslo 1 + Enter) a heslo pre účet root prístupu do MySQL (nie je to isté ako root Linuxu). V hesle použite minimálne 8 znakov – malé a veľké písmená, čísla a špeciálne znaky ako bodka, čiarka, dvojbodka, zavináč, otáznik, výkričník, …

Zhrnutie

Nainštalovali sme si trojicu programov, ktorá je nevyhnutná na zobrazenie webových stránok. Webový server Nginx dokáže zobraziť statické stránky napísané v jazykoch HTML a JavaScript (frontend). Ak ale Nginx nastavíme tak, aby používal aj programovací jazyk PHP, je možné stránky dynamicky meniť na strane servera (backend), pričom si údaje dokážeme ukladať aj do databázy MySQL.

Aktualizované 22. júna 2020

Bol pre vás tento návod nápomocný?

Mohlo by vás tiež zaujímať:

Spýtajte sa nás, radi poradíme
Po - Ne 8:00-22:00
Kontaktovať podporu