Vyhledávání na webu

Nainstalujte LEMP - Nginx, PHP, MariaDB a PhpMyAdmin v OpenSUSE


Stack LEMP nebo Linux, Engine-x, MySQL a PHP je software balíček složený ze softwaru s otevřeným zdrojovým kódem nainstalovaného v operačním systému Linux pro spouštění webových aplikací založených na PHP využívajících server Nginx HTTP a systém správy databáze MySQL/MariaDB.

Přečtěte si také: Nainstalujte LAMP – Apache, PHP, MariaDB a PhpMyAdmin v OpenSUSE

Tento tutoriál vás provede instalací zásobníku LEMP pomocí Nginx, MariaDB, PHP, PHP-FPM a PhpMyAdmin na serverových/desktopových edicích OpenSuse.

Instalace Nginx HTTP Server

Nginx je rychlý a spolehlivý HTTP a proxy server, který zvládne vyšší zatížení HTTP požadavků. Používá asynchronní událostmi řízený přístup ke zpracování požadavků a jeho modulární architektura řízená událostmi může poskytnout předvídatelnější výkon při vysokém zatížení.

Chcete-li nainstalovat Nginx na OpenSuse, spusťte následující příkaz.

sudo zypper install nginx

Po instalaci Nginx můžete službu prozatím spustit, poté povolit její automatické spouštění při spouštění a ověřit stav Nginx spuštěním následujících příkazů.

sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

Přečtěte si také: 10 nejpoužívanějších příkazů Nginx, které musí znát každý uživatel Linuxu

V tuto chvíli by měl být webový server Nginx v provozu, stav můžete také ověřit pomocí příkazu netstat, jak je znázorněno.

sudo netstat -tlpn | grep nginx

Nyní musíme otestovat, zda instalace Nginx funguje správně. Na rozdíl od jiných distribucí Linuxu pod openSUSE nemá Nginx v kořenové složce webu standardní dokument index.html. Potřebujeme vytvořit nový soubor index.html v kořenovém webovém adresáři "/srv/www/htdocs", jak je ukázáno.

echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html

Pokud máte nainstalovanou bránu firewall, musíte otevřít port 80 a 443, abyste povolili webový provoz na bráně firewall.

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload

Dále otevřete webový prohlížeč a přejděte na adresu http://localhost a ověřte stránku Nginx.

Instalace databázového serveru MariaDB

MariaDB je bezplatný a open source fork systému správy relačních databází MySQL. Je vyvinut původními vývojáři MySQL a má zůstat open source. MariaDB je rychlá, škálovatelná a robustní, s bohatým ekosystémem úložných enginů, pluginů a mnoha dalších nástrojů z ní činí velmi univerzální pro širokou škálu případů použití.

Chcete-li nainstalovat MariaDB na OpenSuse, spusťte následující příkaz.

sudo zypper install mariadb mariadb-client 

Dále spusťte službu MariaDB, poté povolte její automatické spuštění při spouštění a zkontrolujte její stav.

sudo systemctl start mariadb 
sudo systemctl enable mariadb 
sudo systemctl status mariadb 

Dalším kritickým krokem v této části je zabezpečení instalace serveru MariaDB. Spusťte proto bezpečnostní skript, který je dodáván s balíčkem MariaDB, jak je znázorněno.

Poznámka: Spuštění bezpečnostního skriptu MariaDB a všech jeho částí se důrazně doporučuje pro všechny servery MariaDB ve výrobě.

sudo mysql_secure_installation 

Po spuštění skriptu si pozorně přečtěte popis každého kroku. Měli byste nastavit heslo uživatele root, odebrat anonymní uživatele, zakázat vzdálený přístup root, odebrat testovací databázi a přístup k ní a nakonec znovu načíst tabulku oprávnění.

Instalace a konfigurace PHP a PHP-FPM

PHP-FPM (zkratka pro PHP FastCGI Process Manager) je alternativní démon FastCGI pro PHP s některými dalšími funkcemi a navrženy tak, aby zvládaly vysoké zatížení. Za tímto účelem udržuje fondy (pracovníky, kteří mohou reagovat na požadavky PHP). Důležité je, že je rychlejší než tradiční metody založené na CGI, jako je SUPHP, pro víceuživatelská prostředí PHP.

Chcete-li nainstalovat PHP a PHP-FPM spolu s potřebnými moduly, spusťte následující příkaz.

sudo zypper install php php-mysql php-fpm php-gd php-mbstring

Než přistoupíme ke spuštění služby PHP-FPM, musíme vytvořit požadované konfigurační soubory z výchozích souborů poskytnutých během instalace a nakonfigurovat službu připravenou k provozu.

sudo cp /etc/php7/fpm/php-fpm.conf.default  /etc/php7/fpm/php-fpm.conf 
sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf

Poté otevřete hlavní konfigurační soubor php-fpm.conf pro úpravy.

sudo vim /etc/php7/fpm/php-fpm.conf 

Odkomentujte následující řádek na řádku číslo 24, jak je znázorněno.

error_log = log/php-fpm.log

Uložte a zavřete soubor.

Dále musíme definovat správná nastavení pro nakonfigurované fondy v konfiguračním souboru www.conf.

sudo vim /etc/php7/fpm/php-fpm.d/www.conf

Nejprve nakonfigurujte vlastníka Unixu a vlastníka skupiny procesů na uživatele a skupinu Nginx. Provedete to změnou hodnot parametrů uživatele a skupiny z nobody na nginx.

user = nginx
group = nginx

Nyní uložte změny do souboru a ukončete jej.

Navíc je potřeba provést ještě jednu důležitou konfiguraci, která zabezpečuje PHP-FPM v souboru /etc/php/cli/php.ini.

sudo vim /etc/php7/cli/php.ini

Vyhledejte řádek ;cgi.fix_pathinfo=1 a změňte jej na.

cgi.fix_pathinfo=0

Uložte změny do souboru a ukončete.

Nyní spusťte službu PHP-FPM, poté povolte její automatické spouštění při spouštění a zkontrolujte její stav.

sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl status php-fpm

Konfigurace Nginx pro práci s PHP-FPM

V tuto chvíli musíme nakonfigurovat Nginx tak, aby fungoval s PHP-FPM ve výchozím konfiguračním souboru Nginx.

sudo vim /etc/nginx/nginx.conf

Pak vyhledejte následující sekci a přidejte index.php do seznamu očekávaných indexových souborů.

location / { 
           root   /srv/www/htdocs/; 
           index  index.php index.html index.htm ; 
       }

Najděte také následující sekci (která by měla být zakomentována) a odkomentujte ji. Tato část se používá k předání skriptů PHP serveru FastCGI naslouchajícímu na 127.0.0.1:9000.

location ~ \.php$ { 
       root           /srv/www/htdocs/; 
       fastcgi_pass   127.0.0.1:9000; 
       fastcgi_index  index.php; 
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
       include        fastcgi_params; 
       }

Uložte změny do souboru a ukončete.

Testování Nginx a PHP-FPM

Dalším krokem je otestovat, zda Nginx funguje dobře ve spojení s PHP-FPM vytvořením nového testovacího souboru PHP v adresáři DocumentRoot jako zobrazeno.

echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php

Nyní musíme zkontrolovat, zda je konfigurace Nginx správná následovně, než přistoupíme k restartování služby.

sudo nginx -t

Pokud je syntaxe konfigurace Nginx v pořádku, pokračujte a restartujte služby Nginx a PHP-FPM, aby se poslední změny projevily.

sudo systemctl restart nginx php-fpm

Nyní otevřete webový prohlížeč a přejděte na adresu http://localhost/info.php a ověřte konfiguraci PHP, jak je znázorněno na následujícím snímku obrazovky.

Instalace a konfigurace PhpMyAdmin

phpMyAdmin je bezplatný, jednoduchý, snadno použitelný a oblíbený nástroj napsaný v PHP, vytvořený pro správu serveru MySQL přes web. Podporuje širokou škálu operací na MySQL a MariaDB.

Chcete-li nainstalovat phpMyAdmin na OpenSuse, spusťte následující příkaz.

sudo zypper install phpMyAdmin

Po dokončení instalace vytvořte nový konfigurační soubor vhost pro přístup k phpMyAdmin, jak je znázorněno.

sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf

Přidejte následující konfiguraci do souboru.

server { 
   listen 80; 

   server_name localhost/phpMyAdmin; 

  root /srv/www/htdocs/phpMyAdmin; 

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

   location ~ \.php$ { 
       try_files $uri =404; 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       include fastcgi_params; 
   } 
} 

Uložte změny a zavřete soubor. Poté restartujte službu Nginx pomocí následujícího příkazu.

sudo systemctl restart nginx

Nyní přejděte do webového prohlížeče a zadejte adresu http://localhost/phpMyAdmin. Přihlašovací stránka phpMyAdmin by se měla zobrazit jako na následujícím snímku obrazovky. Zadejte přihlašovací údaje kořenového uživatele databáze a klikněte na Přejít.

To je vše! V tomto tutoriálu jsme vám vysvětlili, jak nainstalovat zásobník LEMP pomocí Nginx, MariaDB, PHP, PHP-FPM a PhpMyAdmin na serverových/desktopových edicích OpenSuse. Pokud se během nastavování setkáte s nějakými problémy, zeptejte se na své otázky prostřednictvím formuláře pro komentáře níže.