1. Home
  2. Cloud a servery
  3. Virtuální server (VPS)
  4. Jak v Ubuntu Linux 20.04 LTS nainstalovat Nginx, MySQL a PHP (LEMP)

Jak v Ubuntu Linux 20.04 LTS nainstalovat Nginx, MySQL a PHP (LEMP)

Pod zkratkou LEMP se skrývá softvérový balík pro Linux obsahující webový server Nginx (vyslovuje se “Engine-X”), databázový server MySQL a programovací jazyk PHP. Tato trojice se instaluje na zobrazení většiny webových stránek napsaných v jazyce PHP, které si údaje ukládají do databáze MySQL.

Tento návod funguje na linuxovém operačním systému Ubuntu ve verzi 20.04 LTS (Focal Fossa). Jde o verzi LTS (Long Term Support = dlouhodobá podpora), která byla zveřejněná 23. 04. 2020 a je oficiálně podporovaná softwarovou společností Canonical 5 let od vydání, čili do dubna 2025. Vývojáři se v LTS ve zvýšené míře zaměřují na bezpečnost a hardwarovou kompatibilitu, aby bylo možné nasazení na enterprise úrovni.

Instalujeme Nginx

V první řade je potřeba zabezpečit aktuálnost všech balíků. Nainstalujeme tedy všechen updatovaný software pomocí dvou příkazů v jedné dávce:

sudo apt update && sudo apt upgrade

Když systém najde aktualizovatelné balíčky, takto se zeptá, jestli je chcete začít instalovat:

Do you want to continue? [Y/n]

Stlačte klávesu y když chcete začít aktualizační proces nebo klávesu n, když aktualizovat nechcete. Následně stlačte klávesu Enter.

Samotný Nginx nainstalujeme jediným příkazem:

sudo apt install nginx

Stlačíme klávesu y a následně klávesu enter a počkáme na dokončení instalace.

Po ukončení instalace ve webovém prohlížeči zkontrolujeme, jestli Nginx funguje správně:

http://IP_adresa

Pokud je všechno v pořádku, zobrazí se jednoduchá webová stránka s nadpisem “Welcome to nginx!” a s odkazy na online dokumentaci a podporu.

Zkusme si změnit HTML kód, abychom se ujistili, že můžeme upravovat webovou stránku:

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

Dopíšeme nebo vymažeme několik znaků, uložíme pomocí klávesové zkratky Ctrl + X a následně stlačením klávesy y a potvrzením klávesou Enter. Ve webovém prohlížeči teď obnovíme načítanou stránku a můžeme sledovat uložené změny.

Návod jak v Ubuntu 20.04 LTS nainstalovat Let’s Encrypt TLS/SSL pro Nginx (HTTPS)

Instalujeme PHP

Webové stránky zpracovávané na straně klienta (frontend pomocí HTML, CSS a JavaScriptu) už tedy po úspěšné instalaci Nginx dokážeme zobrazit. Pokud ale potřebujeme, aby stránky fungovaly dynamicky i na straně serveru (backend), musíme nainstalovat programovací jazyk PHP. Na to poslouží jediný příkaz:

sudo apt install php-fpm php-mysql

Stlačíme klávesu y a následně klávesu Enter a počkáme na dokončení instalace.

PHP je úspěšně nainstalované a teď zařídíme, aby Nginx s PHP dokázal spolupracovat. Změníme obsah konfiguračního souboru takto:

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

Do řádku číslo 44 doplníme index.php, takže výsledek může vypadat takto:

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

Potom už jen odkomentujeme řádky 56, 57, 60, 63, 68, 69 a 70. Uložíme pomocí klávesové zkratky Ctrl + X a následně stlačením klávesy y a potvrzením klávesou Enter.

Upravená část konfiguračního souboru tedy v textovém editoru nano vypadá takto:

*verzi php nahraďte vlastní PHP verzí, kterou si přejete využívat

Takto nastavený Nginx ještě restartujeme:

sudo systemctl reload nginx

Po úspěšném restartu Nginx vyzkoušíme, jestli se PHP kód doopravdy zpracuje:

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

Vložíme krátký PHP kód, díky kterému se načítají všechny důležité informace ohledně nainstalovaného PHP:

<?php
phpinfo();
?>

Uložíme pomocí klávesové zkratky Ctrl + X a následně stlačením klávesy y a potvrzením klávesou Enter.

Teď Nginx ukazuje všechny důležité nastavení PHP na hlavní stránce webu:

http://IP_adresa

Instalujeme MySQL

Nginx teď dokáže spolupracovat s jazykem PHP, který zase umí komunikovat s MySQL. Pojďme si tedy nainstalovat MySQL, abychom pomocí PHP dokázali ukládat údaje do databáze. Stačí jeden příkaz:

sudo apt install mysql-server

Stlačíme klávesu y a následně klávesu Enter a počkáme na dokončení instalace.

Z bezpečnostních důvodů se po instalaci MySQL doporučuje spustit skript

sudo mysql_secure_installation

ve kterém na všechny otázky odpovíme y a stlačíme klávesu Enter. V procesu skriptu si zvolíte ještě “password validation policy” na MEDIUM (číslo 1 + Enter) a heslo pro účet root přístupu do MySQL (není to stejné jako root Linuxu). V hesle použijte minimálně 8 znaků – malá a velká písmena, čísla a speciální znaky jako tečka, čárka, dvojtečka, zavináč, otazník, vykřičník, …

Zhrnutí

Nainstalovali jsme si trojici programů, která je nezbytná na zobrazení webových stránek. Webový server Nginx dokáže zobrazit statické stránky napsané v jazycích HTML a JavaScript (frontend). Pokud ale Nginx nastavíme tak, aby používal i programovací jazyk PHP, je možné stránky dynamicky měnit na straně serveru (backend), přičemž si údaje dokážeme ukládat i do databáze MySQL.

Aktualizováno: 15 května, 2023

Byl tento článek užitečný?

Related Articles

Zákaznická podpora
24 hodin denně, 7 dní v týdnu
KONTAKTOVAT PODPORU