Zoeken op website

Installeer LEMP - Nginx, PHP, MariaDB en PhpMyAdmin in OpenSUSE


LEMP of Linux, Engine-x, MySQL en PHP stack is software bundel bestaande uit open source software geïnstalleerd op het Linux-besturingssysteem voor het uitvoeren van op PHP gebaseerde webapplicaties, mogelijk gemaakt door de Nginx HTTP-server en MySQL/MariaDB databasebeheersysteem.

Lees ook: Installeer LAMP – Apache, PHP, MariaDB en PhpMyAdmin in OpenSUSE

In deze tutorial wordt uitgelegd hoe u een LEMP-stack installeert met Nginx, MariaDB, PHP, PHP-FPM en PhpMyAdmin op OpenSuse server-/desktopversies.

Nginx HTTP-server installeren

Nginx is een snelle en betrouwbare HTTP- en proxyserver die een groter aantal HTTP-verzoeken aankan. Het maakt gebruik van een asynchrone, gebeurtenisgestuurde benadering voor het afhandelen van verzoeken, en de modulaire, gebeurtenisgestuurde architectuur kan meer voorspelbare prestaties bieden onder hoge belasting.

Om Nginx op OpenSuse te installeren, voert u de volgende opdracht uit.

sudo zypper install nginx

Zodra Nginx is geïnstalleerd, kunt u de service voorlopig starten, vervolgens inschakelen om automatisch te starten tijdens het opstarten en de status van Nginx verifiëren door de volgende opdrachten uit te voeren.

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

Lees ook: 10 meest gebruikte Nginx-opdrachten die elke Linux-gebruiker moet kennen

Op dit punt zou de Nginx-webserver actief moeten zijn. U kunt de status ook verifiëren met behulp van de netstat-opdracht, zoals weergegeven.

sudo netstat -tlpn | grep nginx

Nu moeten we testen of de Nginx-installatie goed werkt. In tegenstelling tot andere Linux-distributies heeft Nginx onder openSUSE geen standaard index.html-document in de webhoofdmap. We moeten een nieuw index.html-bestand maken onder de hoofdwebmap "/srv/www/htdocs", zoals weergegeven.

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

Als u firewalld heeft geïnstalleerd, moet u poort 80 en 443 openen om webverkeer door de firewall toe te staan.

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

Open vervolgens een webbrowser en navigeer naar het adres http://localhost en verifieer de Nginx-pagina.

MariaDB-databaseserver installeren

MariaDB is een gratis en open source-vork van het MySQL relationele databasebeheersysteem. Het is ontwikkeld door de oorspronkelijke ontwikkelaars van MySQL en bedoeld om open source te blijven. MariaDB is snel, schaalbaar en robuust, met een rijk ecosysteem van opslag-engines, plug-ins en vele andere tools waardoor het zeer veelzijdig is voor een breed scala aan gebruiksscenario's.

Om MariaDB op OpenSuse te installeren, voert u de volgende opdracht uit.

sudo zypper install mariadb mariadb-client 

Start vervolgens voorlopig de MariaDB-service, schakel deze vervolgens in om automatisch te starten tijdens het opstarten en controleer de status ervan.

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

De volgende cruciale stap in deze sectie is het beveiligen van de MariaDB-serverinstallatie. Voer daarom het beveiligingsscript uit dat bij het MariaDB-pakket wordt geleverd, zoals weergegeven.

Opmerking: het uitvoeren van het MariaDB beveiligingsscript en al zijn onderdelen wordt ten zeerste aanbevolen voor alle MariaDB-servers in productie.

sudo mysql_secure_installation 

Lees na het uitvoeren van het script de beschrijving bij elke stap aandachtig. U moet een rootgebruikerswachtwoord instellen, anonieme gebruikers verwijderen, externe roottoegang uitschakelen, de testdatabase verwijderen en er toegang toe krijgen en ten slotte de privilegetabel opnieuw laden.

PHP en PHP-FPM installeren en configureren

PHP-FPM (afkorting van PHP FastCGI Process Manager) is een alternatieve FastCGI daemon voor PHP met enkele extra functies en ontworpen om hoge belastingen aan te kunnen. Het onderhoudt pools (werknemers die kunnen reageren op PHP-verzoeken) om dit te bereiken. Belangrijk is dat het sneller is dan traditionele op CGI gebaseerde methoden, zoals SUPHP, voor PHP-omgevingen met meerdere gebruikers.

Om PHP en PHP-FPM samen met de benodigde modules te installeren, voert u de volgende opdracht uit.

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

Voordat we doorgaan met het starten van de PHP-FPM service, moeten we de vereiste configuratiebestanden maken op basis van de standaardbestanden die tijdens de installatie zijn verstrekt, en de service gereed maken voor gebruik.

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

Open vervolgens het hoofdconfiguratiebestand php-fpm.conf om te bewerken.

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

Verwijder het commentaar op de volgende regel op regelnummer 24, zoals weergegeven.

error_log = log/php-fpm.log

Sla het bestand op en sluit het.

Vervolgens moeten we de juiste instellingen voor de geconfigureerde pools definiëren in het www.conf configuratiebestand.

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

Configureer eerst de Unix-eigenaar en groepseigenaar van processen naar de Nginx-gebruiker en -groep. Doe dit door de waarden van de gebruikers- en groepsparameters te wijzigen van nobody in nginx.

user = nginx
group = nginx

Sla nu de wijzigingen in het bestand op en sluit het af.

Daarnaast moet er nog een belangrijke configuratie worden uitgevoerd, die PHP-FPM in het /etc/php/cli/php.ini bestand beveiligt.

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

Zoek naar de regel ;cgi.fix_pathinfo=1 en wijzig deze in.

cgi.fix_pathinfo=0

Sla de wijzigingen in het bestand op en sluit af.

Start vervolgens voorlopig de PHP-FPM-service, schakel deze vervolgens in om automatisch te starten tijdens het opstarten en controleer de status ervan.

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

Nginx configureren om te werken met PHP-FPM

Op dit punt moeten we Nginx configureren om te werken met PHP-FPM in het standaard Nginx-configuratiebestand.

sudo vim /etc/nginx/nginx.conf

Zoek vervolgens naar de volgende sectie en voeg de index.php toe aan de lijst met verwachte indexbestanden.

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

Zoek ook het volgende gedeelte (dat moet worden becommentarieerd) en verwijder het commentaar. Deze sectie wordt gebruikt om de PHP-scripts door te geven aan de FastCGI-server, luisterend 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; 
       }

Sla de wijzigingen in het bestand op en sluit af.

Nginx en PHP-FPM testen

De volgende stap is het testen of Nginx goed werkt in combinatie met PHP-FPM door een nieuw PHP-testbestand te maken onder de map DocumentRoot als getoond.

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

Nu moeten we als volgt controleren of de Nginx-configuratie correct is, voordat we doorgaan met het opnieuw opstarten van de service.

sudo nginx -t

Als de syntaxis van de Nginx-configuratie in orde is, kunt u doorgaan en de Nginx- en PHP-FPM-services opnieuw opstarten zodat de recente wijzigingen van kracht worden.

sudo systemctl restart nginx php-fpm

Open nu een webbrowser en navigeer naar het adres http://localhost/info.php om de PHP-configuratie te verifiëren, zoals weergegeven in de volgende schermafbeelding.

PhpMyAdmin installeren en configureren

phpMyAdmin is een gratis, eenvoudig te gebruiken en populaire tool geschreven in PHP, gebouwd voor het beheren van de MySQL-server via internet. Het ondersteunt een breed scala aan bewerkingen op MySQL en MariaDB.

Om phpMyAdmin op OpenSuse te installeren, voert u de volgende opdracht uit.

sudo zypper install phpMyAdmin

Zodra de installatie is voltooid, maakt u een nieuw vhost-configuratiebestand aan voor toegang tot phpMyAdmin, zoals weergegeven.

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

Voeg deze volgende configuratie toe aan het bestand.

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

Sla de wijzigingen op en sluit het bestand. Start vervolgens de Nginx-service opnieuw op met de volgende opdracht.

sudo systemctl restart nginx

Ga nu naar uw webbrowser en typ het adres http://localhost/phpMyAdmin. Er zou een phpMyAdmin-inlogpagina moeten verschijnen zoals weergegeven in de volgende schermafbeelding. Voer de inloggegevens van uw database-rootgebruiker in en klik op Ga.

Dat is alles! In deze tutorial hebben we uitgelegd hoe je een LEMP stack installeert met Nginx, MariaDB, PHP, PHP-FPM en PhpMyAdmin op OpenSuse server-/desktopversies. Als u tijdens de installatie problemen ondervindt, kunt u uw vragen stellen via het onderstaande opmerkingenformulier.