Instalace Nginx, MySQL, PHP - Debian 9
LEMP je balíček softwaru, který slouží k poskytování dynamických webových stránek a webových aplikací. LEMP je zkratka pro Linuxový operační systém s Nginx web serverem, backend data se ukládají do MySQL databáze a dynamické procesy jsou zpracovány pomocí PHP.
Pro potřeby našeho návodu budeme potřebovat
- Server s nainstalovanou distribucí Debian 9
- Uživatele s oprávněním sudo
Instalace Nginx Web Serveru
Pro zobrazení obsahu webových stránek, potřebujeme web server. Použijeme jeden z nejpopulárnějších webových serverů - Nginx.
Pro instalaci Nginx využijeme balíček z oficiálního repositáře.
sudo apt update
sudo apt install nginx
Pokud máte nastavený firewall (například ufw budeme muset povolit profil, který umožní provoz který potřebujeme.
Pro povolení zabezpečeního provozu SSL pro náš server bude potřeba povolit další profil.
sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS' // pro povolení zabezpečeného provozu
Ověříme si že se dostaneme na nově nainstalovaný webserver.
Zjistíme IP adresu našeho serveru pomocí:
ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
Otevřeme si prohlížeč a vyzkoušíme zda se dostaneme na úvodní stránku Nginx. Do URL řádku zadáme IP adresu našeho web serveru.
http://vysledna-ip-adresa
Instalace MySQL
Když už máme nainstalovaný Web server, potřebujeme nainstalovat MySQL, open source databázový server, uplatňující relační databázový model.
MySQL můžeme jednoduše nainstalovat pomocí:
sudo apt install mysql-server
MySQL máme nainstalovaný ale nastavení ještě není kompletní.
Pro dokončení nastavení MySQL použijeme skript:
sudo mysql_secure_installation
Skript po nás bude chtít heslo pro root, toto heslo jsme si ještě nenadefinovaly, stiskneme klávesu enter. Další otázka bude zda chceme nastavit heslo pro root, pokračujeme stisknutím y a enter. Pro ostatní otázky je dobré pokračovat stitknutím y a enter.
Instalace PHP
Instalaci php spustíme pomocí:
sudo apt install php-fpm php-mysql
PHP máme nainstalovaný. Dále si nastavíme Nginx aby PHP používal.
Nastavení Nginx
Všechny potřebné komponenty máme nainstalované. Jediné co zbývá je říct Nginx aby používal PHP pro dynamický obsah.
Místo upravování základní konfigurace Nginx si vytvoříme novou, včetně kořenové struktury pro naše PHP soubory.
Prvně vytvoříme složku v /var/www pro PHP stránky.
sudo mkdir /var/www/vase-domena
Otevřeme si nový konfigurační soubor Nginx ve složce sites-available
sudo nano /etc/nginx/sites-available/vase-domena
Vytvořili jsme nový prázdný soubor. Vložíme následující konfiguraci a uložíme.
server {
listen 80;
listen [::]:80;
root /var/www/vase-domena
index index.php index.html index.htm;
server_name vase-domena
location / {try_files $uri $uri/ =404;}
location ~ \.php$ {include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;}
}
Tato konfigurace je pouze pro nezabezpečený provoz na portu 80.
Aktivujeme nastavení linknutím konfiguračního souboru do složky sites-enabled
sudo ln -s /etc/nginx/sites-available/vase-domena /etc/nginx/sites-enabled
Následně otestujeme zda v konfiguračním souboru nejsou žádné chyby.
sudo nginx -t
Pokud se zobrazí jakýkoliv error, vraťte se zpátky a zkontrolujte váš konfigurační soubor.
Necháme nginx znovu načíst konfiguraci.
sudo systemctl reload nginx
Testování
Vytvoříme si nový php skript, který nám zobrazí aktuální informace o právě bežícím PHP na vašem serveru.
nano /var/www/vase-domena/info.php
Do souboru vložíme kód pro zobrazení informací o PHP.
Soubor uložíme a zavoláme v prohlížeči pomocí http://vase-domena/info.php. Pokud vidíte podobný výstup, znamená to že vše vám funguje v pořádku.
http://vase-domena/info.php
Hotovo.