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.