Wéi installéiere ech LEMP Stack op Rocky Linux 8
LEMP ass e populäre Stack deen Open-Source Software enthält déi kollektiv benotzt gëtt fir Webapplikatiounen ze hosten an ze déngen, egal ob an der Produktioun oder all Etapp am Entwécklungszyklus.
D'Terminologie LEMP ass en Akronym fir Linux, Nginx (ausgeschwat als Engine X, also den E) wat e Webbrowser ass, MariaDB oder MySQL - Datebank, a PHP fir dynamesch Inhalter ze veraarbecht). LEMP Stack gëtt populär benotzt fir héich Traffic an héich skalierbar Webapplikatiounen a Websäiten ze hosten.
An dësem Guide léiert Dir wéi Dir de LEMP Stack op Rocky Linux 8.4 installéiere wëllt.
Ier Dir setzt fir de LEMP Stack z'installéieren, gitt sécher datt Dir déi folgend Ufuerderungen op der Plaz hutt.
- Eng Instanz vu Rocky Linux 8 mat engem Sudo Benotzer konfiguréiert.
- SSH Zougang zu der Rocky Linux Instanz.
Loosst eis ufänken ...
Schrëtt 1: Installéiert Nginx op Rocky Linux
Den éischte Schrëtt ass den éischte Bestanddeel vum LEMP Stack z'installéieren deen den Nginx Webserver ass. Als éischt, upgrade d'Packagen.
$ sudo dnf update -y
Nodeems den Update fäerdeg ass, installéiert Nginx andeems Dir de folgende Kommando ausféiert. Dëst installéiert Nginx nieft aner Ofhängegkeeten déi vum Webserver erfuerderlech sinn.
$ sudo dnf install nginx
Wann Nginx op der Plaz ass, aktivéiert et fir op der Bootzäit unzefänken an den Nginx Daemon unzefänken.
$ sudo systemctl enable nginx $ sudo systemctl start nginx
Fir ze bestätegen datt de Webserver leeft, fuert de Kommando aus:
$ sudo systemctl status nginx
Vun der Ausgab kënne mir ofschléissen datt de Webserver op a leeft.
Wann Dir virwëtzeg genuch sidd, kënnt Dir d'Versioun vun Nginx kontrolléieren wéi follegt. D'Ausgab weist datt mir Nginx 1.14.1 lafen.
$ nginx -v nginx version: nginx/1.14.1
Zousätzlech kënnt Dir bestätegen datt de Browser funktionnéiert andeems Dir d'URL kuckt. Dëst wäert d'Standard Nginx Wëllkomm Säit weisen wat beweist datt alles gutt ass.
http://server-ip or domain name
Wann Dir Probleemer hutt mat der Säit ze gesinn, betruecht de Port 80 opzemaachen oder den HTTP-Traffic op der Firewall z'erméiglechen.
$ sudo firewall-cmd --zone=public --add-service=http --permanent
Da lued d'Firewall nei a lued d'Säit nei.
$ sudo firewall-cmd --reload
Schrëtt 2: Installéiert MariaDB op Rocky Linux
Fir dëse Guide installéiere mir d'MariaDB Datebank. Dëst ass wéinst der optimiséierter Leeschtung a Räichtum vu Späichermotoren déi et ubitt, wat et vill méi iwwer MySQL mécht.
Fir den MariaDB Datebankserver z'installéieren, fuert de Kommando aus:
$ sudo dnf install mariadb-server mariadb
Eemol gemaach, aktivéiert a start MariaDB wéi gewisen.
$ sudo systemctl enable mariadb $ sudo systemctl start mariadb
Dann z'iwwerpréiwen säi Status.
$ sudo systemctl status mariadb
D'Standardastellunge fir MariaDB sinn net sécher genuch an Är Datebank kann einfach verletzt ginn. Als Virsiichtsmoossnahme fir Andréngen op de meescht Basisniveau ofzeschléissen, lafen de Skript hei drënner.
$ sudo mysql_secure_installation
Gitt sécher de Root Passwuert opzestellen.
Fir déi verbleiwen Ufroen, gitt einfach Y
fir anonym Benotzer ze läschen, Remote Root Login ze refuséieren, d'Testdatenbank ze läschen, a schliisslech d'Ännerunge späicheren.
Fir op den Datebankserver aloggen, fuert de Kommando:
$ sudo mysql -u root -p
Gitt d'Passwuert un a dréckt ENTER.
Schrëtt 3: Installéiere PHP op Rocky Linux
Déi lescht Komponent fir z'installéieren ass PHP iwwer PHP-FPM, wat fir FastCGI Process Manager steet. Dëst ass en effizienten an héich fortgeschrattene PHP-Prozessor deen Features ubitt déi optimal Leeschtung garantéieren, a Sécherheet fir Websäite mat héijen Traffic.
Fir unzefänken, installéiere mir de Remi Repository deen en Drëtt Partei gratis Repository ass deen déi lescht PHP Versiounen ubitt.
Fir de Remi Repository z'aktivéieren, fuert de Kommando aus:
$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Wann de Remi Repository aktivéiert ass, kuckt d'Lëscht vun de PHP Moduler déi gehost ginn mat dem gewise Kommando.
$ sudo dnf module list php
Vun der Ausgab kënne mir gesinn datt d'Standardversioun 7.2 ass - mam Tag [d]
. Wéi och ëmmer, mir wäerte dee leschte Modul installéieren deen Remi 8.0 ass.
Dofir setzt d'Default PHP Moduler zréck an aktivéiert de leschten Remi PHP Modul.
$ sudo dnf module list reset php $ sudo dnf module enable php:remi-8.0
Als nächst, update de System an installéiert PHP a PHP-FPM niewent PHP Extensiounen vun Ärer Preferenz.
$ sudo dnf install php php-fpm php-gd php-mysqlnd php-cli php-opcache
Wann d'Installatioun fäerdeg ass, aktivéiert a start PHP-FPM wéi gewisen.
$ sudo systemctl enable php-fpm $ sudo systemctl start php-fpm
Als nächst, kontrolléiert de lafende Status vu PHP-FPM.
$ sudo systemctl status php-fpm
Normalerweis leeft PHP-FPM als Apache Benotzer, awer well mir Nginx benotzen, musse mir et op Nginx setzen. Also, öffnen déi folgend Konfiguratiounsdatei.
$ sudo vim /etc/php-fpm.d/www.conf
Setzt de Benotzer a Grupp op Nginx.
user = nginx Group = nginx
Duerno lued de PHP-FPM Daemon nei.
$ sudo systemctl reload php-fpm
Fir ze bestätegen datt mir déi lescht Versioun vu PHP installéiert hunn, fuert de Kommando.
$ php -v
Eng aner flott Manéier vum Testin PHP ass andeems Dir eng einfach PHP-Datei erstellt an se an de Webroot-Verzeichnis placéiert deen an /usr/share/nginx/html läit. Also, erstellt eng einfach info.php Datei am /usr/share/nginx/html Webroot Verzeichnis.
$ sudo vim /usr/share/nginx/html/info.php
Füügt de folgenden Inhalt a späichert d'Datei.
<?php phpinfo(); ?>
Fir d'Ännerungen auszeféieren, lued den Nginx Webserver nei.
$ sudo systemctl restart nginx
Schlussendlech, gitt op déi folgend URL.
http://server-ip/info.php
Eng Websäit mat detailléierter Informatioun iwwer déi installéiert PHP Versioun niewent anere PHP Extensiounen gëtt ugewisen.
Zu dësem Zäitpunkt ass eise LEMP Setup fäerdeg. Am nächste Schrëtt wäerte mir e Probe Site hosten andeems en Nginx Server Block konfiguréiert.
Schrëtt 3: Nginx Server Block a Rocky Linux konfiguréieren
E Serverblock erlaabt Administrateuren verschidde Websäiten op engem Server ze hosten andeems se verschidde Sitedokumentrootverzeichnisser definéieren. Dëst sinn d'Verzeichnisser déi d'Websäitdateien enthalen.
Hei wäerte mir eng eenzeg Nginx Server Blockdatei erstellen fir eng Probe Websäit ze hosten.
Éischt erop, erstellt den Dokumentverzeechnes vum Site deen d'Donnéeën vum Site enthält déi fir de Besucher verfügbar sinn. Gitt un datt Dir en Domain mam Numm example.com hutt. Erstellt den Domain Verzeechnes vum Site wéi follegt. Gitt sécher d'example.com mat Ärem Vollqualifizéierten Domain Numm oder registréierten Domain vun Ärem Site z'ersetzen.
$ sudo mkdir -p /var/www/example.com/html
D'Domain Verzeechnesstruktur ass elo agestallt fir d'Dateien vum Site ze hosten. De Moment ass et de Root Benotzer deen d'Dateien besëtzt. Mir mussen d'Eegeschaft esou setzen datt et de reguläre Benotzer ass deen d'Datei besëtzt.
Fir d'Besëtzer vun de Dateien op den aktuell ageloggte Benotzer z'änneren, benotzt de Chown Kommando.
$ sudo chown -R $USER:$USER /var/www/example.com/html
D'Variabel $USER
hëlt de Wäert vum aktuell ageloggte Benotzer a gëtt de Benotzer Besëtzer un d'html Dateien an Ënnerverzeechnungen. Zousätzlech, gitt d'Lieserlaabnes fir den allgemenge Webroot Verzeechnes sou datt Site Besucher op d'Säit Säiten zougräifen.
$ sudo chmod -R 755 /var/www
De Site Verzeechnes ass elo gutt konfiguréiert fir d'Websäiten vum Site ze déngen.
Loosst eis elo e Beispill Test Site erstellen. Mir erstellen eng ganz Basis index.html Datei am HTML Verzeechnes vum Domain.
$ sudo vim /var/www/example.com/html/index.html
Paste den Inhalt hei drënner. Wéi Dir kënnt gesinn, ass et zimmlech Basis well mir et nëmme fir Testzwecker benotzen.
<html> <head> <title>Welcome to Example.com!</title> </head> <body> <h1>Success! The server block is active!</h1> </body> </html>
Späichert a gitt d'HTML-Datei aus.
Eng Serverblockdatei ass eng Datei déi d'Konfiguratioun vum Site enthält. Et schreift aus wéi den Nginx Webserver op Ufroe vun de Besucher vum Site reagéiert. Mir fänken un mat zwee Verzeechnes ze kreéieren:
- /etc/nginx/sites-available - Dëst ass de Verzeichnis deen d'Serverblockdatei hält.
- /etc/nginx/sites-enabled - De Verzeichnis informéiert Nginx datt d'Serverblockdatei prett ass fir Ufroen ze déngen.
Dofir erstellt d'Verzeichnisser wéi follegt:
$ sudo mkdir /etc/nginx/sites-available $ sudo mkdir /etc/nginx/sites-enabled
Duerno ännert d'Nginx Haaptkonfiguratiounsdatei.
$ sudo mkdir /etc/nginx/nginx.conf
Paste déi folgend Zeilen. Déi éischt Zeil spezifizéiert de Wee an de Verzeichnis mat zousätzlech Konfiguratiounsdateien. Déi zweet Linn vergréissert d'Erënnerung, déi fir d'Parsing vun Domainnamen zougewisen ass.
include /etc/nginx/sites-enabled/*.conf; server_names_hash_bucket_size 64;
Retten an Sortie.
Als nächst erstellt eng Serverblockdatei.
$ sudo vim /etc/nginx/sites-available/example.com.conf
Paste den Inhalt hei drënner. Ersetzt example.com mat Ärem Fully Qualified Domain Numm (FQDN) oder Server IP Adress.
server { listen 80; server_name example.com www.example.com; location / { root /var/www/example.com/html; index index.html index.htm; try_files $uri $uri/ =404; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
Späichert a gitt d'Datei aus.
Endlech musse mir d'Serverblockdatei aktivéieren. Fir dat ze maachen, erstelle mir e symbolesche Link fir d'Serverblockdatei an de Site-aktivéierten Verzeechnes.
$ sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
Da starten Nginx nei fir d'Ännerungen auszeféieren.
$ sudo systemctl restart nginx
Fir d'Konfiguratioun ze testen, lancéiert Äre Browser a besicht d'Domain vun Ärem Site
http://example.com
Dëst sollt de Site vum Serverblock weisen wéi mir am Schrëtt 3 konfiguréiert hunn.
An dëst wéckelt et. An dësem Guide hu mir Iech duerch d'Installatioun vum LEMP-Stack op Rocky Linux 8 gaang a sinn e Schrëtt weider gaang fir eng Serverblockdatei ze kreéieren an ze konfiguréieren wou mir eng personaliséiert Websäit gehost hunn.