LEMP stack znamená Linux, Nginx, MariaDB a PHP stack a je široce používán pro hostování webových stránek/blogů.
Zde uvidíme, jak nainstalovat LEMP Stack na Ubuntu 18.04 s podporou PHP (přes PHP-FPM) a databází (MariaDB).
Instalovat LEMP Stack
Nainstalujte Linux
Zde je návod na instalaci Ubuntu 18.04 krok za krokem a upgrade Ubuntu 16.04 a Ubuntu 17.10 na Ubuntu 18.04.
Pokračujte v instalaci EMP (Nginx verze 1.17.2, PHP verze 7.2, MariaDB verze 10.1.40) na Ubuntu 18.04.
Nainstalujte Nginx
Nginx je bezplatný, open source, vysoce výkonný webový server HTTP a je známý svou stabilitou, jednoduchou konfigurací a nízkou spotřebou zdrojů.
Aktualizujte index úložiště.
sudo apt update
Nainstalujte níže uvedené balíčky.
sudo apt install -y wget gnupg2 ca-certificates
Stáhněte si podpisový klíč úložiště Nginx z oficiálního webu.
wget http://nginx.org/keys/nginx_signing.key
Přidejte veřejný klíč Nginx do systému.
sudo apt-key add nginx_signing.key
Přidejte úložiště Nginx do svého systému.
echo "deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu bionic nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
Nainstalujte balíček Nginx pomocí následujícího příkazu.
sudo apt update sudo apt install -y nginx
Po instalaci spusťte službu Nginx.
sudo systemctl start nginx
Otevřete webový prohlížeč a navštivte níže uvedenou adresu URL.
http://your-ip-add-ressMěla by se zobrazit výchozí stránka Nginx, která vám potvrdí, že Nginx je úspěšně nainstalován na serveru.
Výchozí kořen dokumentu Nginx na Ubuntu 18.04 je /usr/share/nginx/html/ a konfigurační soubory se nacházejí v adresáři /etc/nginx/.
Automaticky spustit Nginx při startu systému.
sudo systemctl enable nginx
Nainstalujte server MariaDB
Nainstalujte server MariaDB zadáním následujícího příkazu.
Ve výchozím nastavení Ubuntu 18.04 dodává MariaDB v10.1, která je o něco starší než verze dostupná v oficiálním úložišti MariaDB (v10.4). MariaDB v10.4 můžete nainstalovat podle kroků na níže uvedené adrese URL.Jak nainstalovat MariaDB na Ubuntu 18.04
sudo apt install -y mariadb-server mariadb-client
Dále zajistěte server MariaDB pomocí příkazu mysql_secure_installation.
mysql_secure_installation
Výstup:
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, we'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none): << No root password. Just press Enter OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] Y << Set MariaDB root password New password: << Enter root password Re-enter new password: << Re-enter root password Password updated successfully! Reloading privilege tables.. ... Success! By default, a MariaDB installation has an anonymous user, allowing anyone to log into MariaDB without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] Y << Remove anonymous users ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] Y << Disallow root login remotely ... Success! By default, MariaDB comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] Y << Remove test database - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] Y << Reload privilege ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
Nainstalujte PHP-FPM
Nainstalujte PHP pomocí PHP-FPM (PHP-FastCGI Process Manager), alternativní implementace PHP FastCGI. Poskytuje další funkce užitečné pro weby větší velikosti.
Ve výchozím nastavení Ubuntu 18.04 dodává PHP-FPM v7.2. Můžete také nainstalovat PHP-FPM v7.3 podle kroků na níže uvedené adrese URL.Jak nainstalovat PHP 7.3 na Ubuntu 18.04
Nainstalujte php-fpm pomocí následujícího příkazu.
sudo apt install -y php-fpm php-mysql php-cli
PHP-FPM standardně naslouchá na soketu /run/php/php7.2-fpm.sock.
Chcete-li, aby PHP-FPM používal připojení TCP, upravte níže uvedený soubor.
sudo nano /etc/php/7.2/fpm/pool.d/www.conf
Poté změňte parametr listen.
OD:
listen = /run/php/php7.2-fpm.sock
KOMU:
listen = 127.0.0.1:9000
Restartujte proces PHP-FPM a povolte jeho automatické spouštění při spouštění systému.
sudo systemctl restart php7.2-fpm sudo systemctl enable php7.2-fpm
Test LEMP Stack
Pojďme vytvořit virtuálního hostitele založeného na názvu na serveru Nginx pro následující podrobnosti.
Název domény: web.itzgeek.local
Kořenový adresář dokumentu: /usr/share/nginx/html/web.itzgeek.local
Nejprve vytvořte konfigurační soubor virtuálního hostitele pro naši doménu v adresáři /etc/nginx/conf.d/.
sudo nano /etc/nginx/conf.d/web.itzgeek.local.conf
Přidejte následující obsah.
server { server_name web.itzgeek.local; root /usr/share/nginx/html/web.itzgeek.local; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Vytvořte kořenový adresář pro našeho virtuálního hostitele.
sudo mkdir -p /usr/share/nginx/html/web.itzgeek.local
Pro testování podpory PHP-FPM umístěte soubor PHP do kořenového adresáře dokumentu vytvořeného virtuálního hostitele.
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/web.itzgeek.local/index.php
Aktualizujte oprávnění souboru.
sudo chown -R www-data:www-data /usr/share/nginx/html/web.itzgeek.local/
Restartujte služby.
sudo systemctl restart nginx sudo systemctl restart php7.2-fpm
Vytvořte položku hostitele pro vaši doménu (web.itzgeek.local) v souboru /etc/hosts pro případ, že vaše prostředí nemá server DNS pro překlad názvů.
nano /etc/hosts
Přidejte položku hostitele, která vypadá jako níže.
192.168.1.10 web.itzgeek.local web
Otevřete webový prohlížeč a do webové adresy zadejte název své domény.
http://web.itzgeek.localStránka bude vypadat takto:
Z výše uvedeného snímku obrazovky PHP pracuje prostřednictvím FPM/FastCGI , jak je znázorněno na řádku Server API.
Pokud stránku posunete dále dolů, uvidíte podporu MariaDB.
Závěr
To je vše. Doufám, že jste se naučili, jak nainstalovat LEMP stack na Ubuntu 18.04. Zvažte instalaci certifikátu Let’s Encrypt SSL pro váš web, abyste zlepšili zabezpečení. Podělte se o svůj názor v sekci komentářů.