Installéiert LEMP - Nginx, PHP, MariaDB a PhpMyAdmin an OpenSUSE


LEMP oder Linux, Engine-x, MySQL a PHP Stack ass e Softwarebündel besteet aus Open Source Software installéiert am Linux Betriebssystem fir PHP baséiert Webapplikatiounen ze lafen, ugedriwwen vum Nginx HTTP Server a MySQL/MariaDB Datebank Management System.

Dësen Tutorial wäert Iech guidéieren wéi Dir e LEMP Stack mat Nginx, MariaDB, PHP, PHP-FPM a PhpMyAdmin op OpenSuse Server/Desktop Editiounen installéiere wëllt.

Nginx HTTP Server installéieren

Nginx ass e séieren an zouverléissege HTTP- a Proxy-Server dee méi héich Belaaschtung vun HTTP-Ufroe ka handhaben. Et benotzt eng asynchron Event-Undriff Approche fir Ufroen ze handhaben, a seng modulär Event-Undriff Architektur kann méi prévisibel Leeschtung ënner héije Lasten ubidden.

Fir Nginx op OpenSuse z'installéieren, fuert de folgende Kommando.

$ sudo zypper install nginx

Wann den Nginx installéiert ass, kënnt Dir de Service fir elo starten, aktivéiert et dann automatesch un der Bootzäit unzefänken an de Status vun Nginx z'iwwerpréiwen andeems Dir déi folgend Kommandoen ausféiert.

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

Zu dësem Zäitpunkt sollt den Nginx Webserver up a lafen sinn, Dir kënnt och de Status iwwerpréiwen mat dem Netstat Kommando wéi gewisen.

$ sudo netstat -tlpn | grep nginx

Elo musse mir testen ob d'Nginx Installatioun gutt funktionnéiert. Am Géigesaz zu anere Linux Verdeelungen, ënner openSUSE, huet Nginx kee Standard index.html Dokument am Webroot-Ordner. Mir mussen en neien index.html Datei ënner dem Root-Webverzeechnes \/srv/www/htdocs\ erstellen wéi gewisen.

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

Wann Dir Firewalld installéiert hutt, musst Dir Port 80 an 443 opmaachen fir de Webverkéier op Firewall z'erméiglechen.

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

Als nächst, öffnen e Webbrowser a navigéiert op d'Adress http://localhost a verifizéiert d'Nginx Säit.

MariaDB Datebank Server installéieren

MariaDB ass eng gratis an Open Source Gabel vum MySQL relationalen Datebank Management System. Et ass vun den ursprénglechen Entwéckler vu MySQL entwéckelt a geduecht fir Open Source ze bleiwen. MariaDB ass séier, skalierbar a robust, mat engem räichen Ökosystem vu Späichermotoren, Plugins a vill aner Tools maachen et ganz villsäiteg fir eng grouss Varietéit vu Benotzungsfäll.

Fir MariaDB op OpenSuse z'installéieren, fuert de folgende Kommando.

$ sudo zypper install mariadb mariadb-client 

Als nächst, start de MariaDB Service fir elo, aktivéiert et dann automatesch bei der Bootzäit unzefänken a säi Status z'iwwerpréiwen.

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

De nächste kritesche Schrëtt ënner dëser Sektioun ass d'MariaDB Serverinstallatioun ze sécheren. Dofir lafen de Sécherheetsskript deen mam MariaDB Package schéckt, wéi gewisen.

Notiz: MariaDB Sécherheetsskript an all seng Deeler auszeféieren ass héich recommandéiert fir all MariaDB Server an der Produktioun.

$ sudo mysql_secure_installation 

Nodeems Dir de Skript ausgefouert hutt, liest d'Beschreiwung bei all Schrëtt virsiichteg. Dir sollt e Root Benotzer Passwuert setzen, anonyme Benotzer ewechhuelen, Remote Root Zougang auszeschalten, d'Testdatenbank erofhuelen an Zougang dozou a schliisslech d'Privilegien Tabell nei lueden.

PHP a PHP-FPM installéieren a konfiguréieren

PHP-FPM (kuerz fir PHP FastCGI Process Manager) ass en alternativen FastCGI Daemon fir PHP mat e puer zousätzlech Funktiounen an entwéckelt fir héich Lasten ze handhaben. Et ënnerhält Pools (Aarbechter déi op PHP Ufroe äntweren kënnen) fir dëst z'erreechen. Wichteg ass et méi séier wéi traditionell CGI-baséiert Methoden, wéi SUPHP, fir Multi-User PHP Ëmfeld.

Fir PHP a PHP-FPM z'installéieren zesumme mat erfuerderleche Moduler lafen de folgende Kommando.

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

Ier mer weidergoen fir de PHP-FPM Service unzefänken, musse mir déi erfuerderlech Konfiguratiounsdateien aus de Standarddateien erstellen, déi während der Installatioun zur Verfügung gestallt ginn, an de Service prett fir Operatiounen konfiguréieren.

$ 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

Da öffnen d'Haapt php-fpm.conf Konfiguratiounsdatei fir z'änneren.

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

Kommentéiert déi folgend Linn op der Linn Nummer 24 wéi gewisen.

error_log = log/php-fpm.log

Späichert an zou der Datei.

Als nächst musse mir déi richteg Astellunge fir déi konfiguréiert Poolen an der www.conf Konfiguratiounsdatei definéieren.

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

Als éischt konfiguréiert den Unix Besëtzer a Gruppebesëtzer vu Prozesser op den Nginx Benotzer a Grupp. Maacht dat andeems Dir d'Wäerter vun de Benotzer- a Gruppeparameter vun keen op nginx ännert.

user = nginx
group = nginx

Elo späichert d'Ännerungen an d'Datei a gitt se aus.

Zousätzlech gëtt et eng méi wichteg Konfiguratioun fir auszeféieren, déi PHP-FPM an der /etc/php/cli/php.ini Datei séchert.

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

Sich no der Linn ;cgi.fix_pathinfo=1 a ännert se op.

cgi.fix_pathinfo=0

Späichert d'Ännerungen an der Datei a gitt aus.

Als nächst, start de PHP-FPM Service fir elo, aktivéiert et dann automatesch bei der Bootzäit unzefänken a kontrolléiert säi Status.

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

Nginx konfiguréieren fir mat PHP-FPM ze schaffen

Zu dësem Zäitpunkt musse mir Nginx konfiguréieren fir mat PHP-FPM an der Standard Nginx Konfiguratiounsdatei ze schaffen.

$ sudo vim /etc/nginx/nginx.conf

Da kuckt no der folgender Rubrik, a füügt den index.php an der Lëscht vun erwaarten Indexdateien derbäi.

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

Fannt och déi folgend Rubrik (déi sollt kommentéiert ginn) an entkommentéieren. Dës Sektioun gëtt benotzt fir d'PHP Scripten op de FastCGI Server ze lauschteren op 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; 
       }

Späichert d'Ännerungen an der Datei a gitt aus.

Testen Nginx a PHP-FPM

De nächste Schrëtt ass ze testen ob Nginx gutt funktionnéiert a Verbindung mat PHP-FPM andeems Dir eng nei PHP Testdatei ënner dem DocumentRoot Verzeichnis erstellt wéi gewisen.

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

Elo musse mir iwwerpréiwen ob d'Nginx Konfiguratioun richteg ass wéi follegt, ier mir weidergoen fir de Service nei ze starten.

$ sudo nginx -t

Wann d'Nginx Konfiguratiouns-Syntax ok ass, gitt weider a start d'Nginx- a PHP-FPM-Servicer nei fir déi rezent Ännerungen anzeféieren.

$ sudo systemctl restart nginx php-fpm

Elo öffnen e Webbrowser a navigéiert op d'Adress http://localhost/info.php fir d'PHP Konfiguratioun z'iwwerpréiwen wéi am folgenden Screenshot gewisen.

PhpMyAdmin installéieren an konfiguréieren

phpMyAdmin ass e gratis, einfach ze benotzen a populär Tool geschriwwen a PHP, gebaut fir MySQL Server iwwer de Web ze administréieren. Et ënnerstëtzt eng breet Palette vun Operatiounen op MySQL a MariaDB.

Fir phpMyAdmin op OpenSuse z'installéieren, fuert de folgende Kommando.

$ sudo zypper install phpMyAdmin

Wann d'Installatioun fäerdeg ass, erstellt eng nei vhost Konfiguratiounsdatei fir Zougang zu phpMyAdmin wéi gewisen.

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

Füügt dës folgend Konfiguratioun an de Fichier.

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; 
   } 
} 

Späichert d'Ännerungen a schléisst d'Datei. Da starten den Nginx Service mat dem folgenden Kommando nei.

$ sudo systemctl restart nginx

Gitt elo an Äre Webbrowser a gitt d'Adress http://localhost/phpMyAdmin. Eng phpMyAdmin Login Säit soll ugewise ginn wéi am folgende Screenshot gewisen. Gitt Är Datebank root Benotzer Login Umeldungsinformatiounen a klickt Go.

Dat ass alles! An dësem Tutorial hu mir Iech erkläert wéi e LEMP Stack mat Nginx, MariaDB, PHP, PHP-FPM a PhpMyAdmin op OpenSuse Server/Desktop Editioune installéiert. Wann Dir Probleemer beim Setup hutt, stellt Är Froen iwwer e Kommentarform hei ënnen.