Wéi installéiere mir LEMP (Linux, Nginx, MariaDB, PHP-FPM) op Debian 9 Stretch


Zënter datt Debian e grousse Prozentsaz vu Webserver op der ganzer Welt mécht, wäerte mir an dësem Artikel erkläre wéi Dir de LEMP (Linux + Nginx + MariaDB + PHP-FPM) Stack op Debian 9 Stretch als Alternativ zu LAMP installéiere wëllt (benotzt dëse Guide fir LAMP op Debian 9 ze installéieren).

Zousätzlech wäerte mir weisen wéi Dir eng minimal Nginx/PHP-FPM Konfiguratioun ausféiert, sou datt souguer nei Systemadministratorer fuschneie Webserver opsetzen fir dynamesch Säiten opzestellen.

Fir dëst ze maachen, wäerte mir déi rezent Updates op déi offiziell Repositories vun der Verdeelung profitéieren. Et gëtt ugeholl datt Dir vun Jessie Upgrade hutt.

Installéiere LEMP an Debian 9 Stretch

Dir kënnt Iech froen firwat mir PHP-FPM ernimmt hunn amplaz PHP als Deel vum LEMP Stack. Am Géigesaz zu anere Webserver bitt Nginx keng gebierteg Ënnerstëtzung fir PHP.

Aus deem Grond gëtt PHP-FPM (Fast Process Manager) benotzt fir Ufroe fir PHP Säiten ze handhaben. Dir kënnt méi iwwer PHP-FPM an der PHP offiziell Säit léieren.

D'Standardversioun zur Verfügung gestallt an den Debian Repositories php7.0-fpm. Wéi Dir wahrscheinlech op Basis vum Numm vum Package kann roden, kann dës Versioun souguer Ufroe op Säiten mat PHP 7 Code handhaben.

NOTÉIERT: Wann Apache virdru an der selwechter Këscht installéiert ass, vergewëssert Iech datt et gestoppt a behënnert ass ier Dir weiderfuert.

Mat deem gesot, loosst eis d'Komponente vum LEMP Stack installéieren wéi follegt:

# aptitude update 
# aptitude install nginx mariadb-server mariadb-client php-mysqli php7.0-fpm

Wann d'Installatioun fäerdeg ass, loosst eis fir d'éischt sécherstellen datt Nginx a PHP-FPM lafen an aktivéiert fir beim Boot ze starten:

# systemctl status nginx php7.0-fpm

Wann uginn datt een oder béid Servicer net lafen, da maacht.

# systemctl start nginx php7.0-fpm
# systemctl enable nginx php7.0-fpm

Wéi et de Fall ass mat all MariaDB oder MySQL Installatioun, ass et wichteg mysql_secure_installation auszeféieren fir eng minimal Sécherheetskonfiguratioun auszeféieren an d'Passwuert fir den Datebank root Kont ze setzen.

# mysql_secure_installation

Wann Dir net wësst wéi Dir dëst maacht, kënnt Dir op Schrëtt #4 an Wéi Dir MariaDB 10 op Debian an Ubuntu installéiere wëllt.

Nginx konfiguréieren fir PHP-FPM op Debian 9 ze benotzen

D'Nginx Haaptkonfiguratiounsdatei ass /etc/nginx/sites-available/default, wou mir déi folgend Ännerungen am Serverblock musse maachen:

  • Vergewëssert Iech datt de Standortblock deen PHP-Ufroe behandelt ass aktivéiert, mat Ausnam vun deem wou d'Fastcgi_pass-Direktiv op de Loopback NIC weist.
  • Füügt index.php no der Indexdirektiv derbäi fir unzeweisen datt wann se fonnt ginn, se als Standard virun index.html oder aner Dateien zerwéiert ginn.
  • Füügt d'Servername-Direktiv un déi op d'IP Adress oder Hostnumm vun Ärem Server weist. Dëst wäert an eisem Fall 192.168.0.35 sinn.
  • Zousätzlech gitt sécher datt d'Root-Direktiv op d'Plaz weist wou Är .php Dateie gespäichert ginn (/var/www/html als Standard).

Wann Dir fäerdeg sidd, kënnt Dir de folgende Kommando benotze fir d'Konfiguratiounsdatei fir Feeler ze testen.

# nginx -t 

Zu dësem Zäitpunkt sollt Är /etc/nginx/sites-available/default wéi follegt ausgesinn, wou d'Zuelen op d'Konfiguratioun bezéien déi uewe genannte Lëscht representéieren:

# grep -Ev '#' /etc/nginx/sites-available/default

Testen Nginx a PHP-FPM op Debian 9

Fir sécherzestellen datt mir elo Nginx als eise Webserver benotzen, loosst eis eng Datei mam Numm info.php bannen /var/www/html erstellen mat den folgenden Inhalter:

<?php
	phpinfo();
?>

Da gitt op http://192.168.0.35/info.php a kuckt uewen op der Säit wou Dir dëst sollt gesinn:

Schlussendlech, loosst eis eise Browser op d'booksandauthors.php Datei weisen, déi mir am Install LAMP (Linux, Apache, MariaDB oder MySQL a PHP) Stack op Debian 9 erstallt hunn.

Wéi Dir am folgende Bild kënnt gesinn, gëtt dës Datei elo vum Nginx servéiert:

NOTÉIERT: Wann Dir bemierkt datt Nginx d'.php Dateien als Downloads servéiert anstatt se auszeféieren, läscht Äre Browser-Cache oder probéiert en anere Browser. Besonnesch, wann Dir Chrome benotzt, wëllt Dir vläicht mam Inkognito Modus testen.

An dësem Artikel hu mir erkläert wéi Dir Nginx installéiere an konfiguréieren fir dynamesch .php Säiten ze déngen. Et ass wichteg ze notéieren datt no dësem initialen Setup Astellunge sinn déi berücksichtegt ginn fir de Webserver ze sécheren.

Dir fannt e Basisresumé am The Ultimate Guide to Secure, Harden and Improve Performance of Nginx Web Server.

Wann Dir no virtuelle Hosting op Nginx sicht, liest Wéi Setup Numm-baséiert an IP-baséiert Virtuell Hosten op NGINX.

Wéi ëmmer, zéckt net eis ze soen wann Dir Froen oder Kommentaren iwwer dësen Artikel hutt.