LEMP je kolekce čtyř softwarových komponent s otevřeným zdrojovým kódem, které se společně používají k hostování webové stránky na internetu. V zásobníku LEMP představuje L operační systém Linux, E představuje webový server Nginx, M představuje databázový server MariaDB/MySQL a P představuje programovací jazyk PHP. Protože všechny komponenty jsou open-source v LEMP stacku, používá se ve vysoce škálovaných aplikacích po celém webu.
V tomto příspěvku vám ukážeme, jak nainstalovat zásobník LEMP na Oracle Linux 8.
Předpoklady
- Server se systémem Oracle Linux 8 na cloudové platformě Atlantic.Net
- Heslo uživatele root nakonfigurované na vašem serveru
Krok 1 – Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Oracle Linux 8 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte na svůj server, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
dnf update -y
Krok 2 – Instalace webového serveru Nginx na Oracle Linux 8
Nginx je první součástí zásobníku LEMP. Ve výchozím nastavení je balíček Nginx součástí výchozího úložiště Oracle Linux 8. Můžete jej nainstalovat pomocí následujícího příkazu:
dnf install nginx -y
Jakmile je Nginx nainstalován, spusťte službu Nginx a povolte její spuštění při restartu systému.
systemctl start nginx systemctl enable nginx
Stav Nginx můžete také ověřit pomocí následujícího příkazu:
systemctl status nginx
Chcete-li ověřit verzi Nginx, spusťte následující příkaz:
nginx -v
Měli byste vidět následující výstup:
nginx version: nginx/1.14.1
Nyní otevřete webový prohlížeč a zadejte adresu URL http://ip-vaseho-serveru . Na následující obrazovce byste měli vidět výchozí stránku Nginx:
Krok 3 – Instalace databázového serveru MariaDB na Oracle Linux 8
MariaDB je databázový server s otevřeným zdrojovým kódem používaný k ukládání obsahu webových stránek. Ve výchozím nastavení je MariaDB součástí výchozího úložiště Oracle Linux 8. Můžete jej nainstalovat pomocí následujícího příkazu:
dnf install mariadb-server mariadb -y
Jakmile je MariaDB nainstalována, spusťte službu MariaDB a povolte její spuštění při restartu systému:
systemctl start mariadb systemctl enable mariadb
Stav MariaDB můžete zkontrolovat pomocí následujícího příkazu:
systemctl status mariadb
Získáte následující příkaz:
● mariadb.service - MariaDB 10.3 database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-06-11 00:46:12 EDT; 6s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Process: 27020 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 26883 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS) Process: 26859 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 26988 (mysqld) Status: "Taking your SQL requests now..." Tasks: 30 (limit: 11409) Memory: 80.0M CGroup: /system.slice/mariadb.service └─26988 /usr/libexec/mysqld --basedir=/usr
Verzi MariaDB můžete také ověřit pomocí následujícího příkazu:
mysqladmin -V
Měli byste vidět následující výstup:
mysqladmin Ver 9.1 Distrib 10.3.32-MariaDB, for Linux on x86_64
Nyní budete muset zabezpečit instalaci MariaDB. Můžete jej zabezpečit pomocí následujícího příkazu:
mysql_secure_installation
Budete požádáni o nastavení hesla uživatele root, jak je uvedeno níže:
Enter current password for root (enter for none): 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 New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success!
Dále budete požádáni o odstranění anonymních uživatelů, jak je uvedeno níže:
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
Napište Y a stiskněte Enter. Budete požádáni, abyste zakázali vzdálené přihlášení root:
... 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
Napište Y a stiskněte klávesu Enter. Budete požádáni o odstranění testovací databáze:
... 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
Stiskněte Y a stiskněte klávesu Enter. Budete požádáni o opětovné načtení tabulky oprávnění:
- 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
Napište Y a stiskněte klávesu Enter pro zabezpečení MariaDB.
... 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!
Krok 4 – Instalace PHP na Oracle Linux 8
Můžete je přidat spuštěním následujícího příkazu:
dnf install epel-release -y dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Nyní vypište všechny dostupné verze PHP v následujícím výstupu:
dnf module list php
V následujícím výstupu uvidíte všechny dostupné verze PHP:
Safe Remi's RPM repository for Enterprise Linux 8 - x86_64 1.8 MB/s | 2.1 MB 00:01 Oracle Linux 8 Application Stream (x86_64) Name Stream Profiles Summary php 7.2 [d][e] common [d], devel, minimal PHP scripting language php 7.3 common [d], devel, minimal PHP scripting language php 7.4 common [d], devel, minimal PHP scripting language php 8.0 common [d], devel, minimal PHP scripting language Remi's Modular repository for Enterprise Linux 8 - x86_64 Name Stream Profiles Summary php remi-7.2 common [d], devel, minimal PHP scripting language php remi-7.3 common [d], devel, minimal PHP scripting language php remi-7.4 common [d], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language php remi-8.1 common [d], devel, minimal PHP scripting language
Nyní resetujte výchozí modul PHP a povolte PHP verze 8.1 pomocí následujícího příkazu:
dnf module reset php dnf module enable php:remi-8.1
Dále nainstalujte PHP s dalšími požadovanými rozšířeními pomocí následujícího příkazu:
dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache -y
Dále upravte výchozí konfigurační soubor PHP-FPM a změňte uživatele z apache na nginx:
nano /etc/php-fpm.d/www.conf
Změňte následující řádky:
user = nginx Group = nginx
Uložte a zavřete soubor, poté spusťte službu PHP-FPM a povolte její spuštění při restartu systému:
systemctl start php-fpm systemctl enable php-fpm
Krok 5 – Vytvořte ukázkový web s Nginx
V této části vám ukážeme, jak hostovat jednoduchý web pomocí virtuálního hostitele Nginx. Nejprve vytvořte adresář pro ukládání obsahu webu:
mkdir -p /var/www/html/website
Dále změňte vlastnictví a oprávnění webu pomocí následujícího příkazu:
chown -R nginx:nginx /var/www/html/website chmod -R 755 /var/www/html/website
Dále vytvořte jednoduchou stránku PHP pomocí následujícího příkazu:
nano /var/www/html/website/info.php
Přidejte následující kód PHP:
<?php phpinfo(); ?>
Uložte a zavřete soubor a poté vytvořte konfigurační soubor virtuálního hostitele Nginx:
nano /etc/nginx/conf.d/website.conf
Přidejte následující řádky:
server { listen 80; server_name website.example.com; location / { root /var/www/html/website/; index info.php; try_files $uri $uri/ =404; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index info.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Uložte a zavřete soubor a poté upravte hlavní konfigurační soubor Nginx:
nano /etc/nginx/nginx.conf
Přidejte následující řádek za řádek http {:
server_names_hash_bucket_size 64;
Uložte a zavřete soubor a poté ověřte konfiguraci Nginx pomocí následujícího příkazu:
nginx -t
Měli byste vidět následující výstup:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Poté restartujte službu Nginx, abyste použili konfiguraci:
systemctl restart nginx
Krok 6 – Ověřte web Nginx
Nyní otevřete webový prohlížeč a zadejte adresu URL http://web.example.com . Na následující obrazovce byste měli vidět stránku PHP:
Závěr
V tomto příspěvku jsme se naučili, jak nainstalovat server LEMP na Oracle Linux 8. Nyní můžete použít funkci virtuálního hostování Nginx k hostování více webových stránek na jednom počítači. Zkuste to na VPS hostingu od Atlantic.Net!