In dit artikel leggen we uit hoe u een LEMP stack (Linux, Nginx, MariaDB, PHP) samen met PHP-FPM installeert op RHEL/CentOS 7/6 en Fedora 26-29 servers met behulp van yum en dnf package manager.
Tijdens dit proces zullen we Epel, Remi, Nginx en MariaDB repositories installeren en inschakelen om de nieuwste versies van deze pakketten te kunnen installeren.
Lees ook: Apache, MySQL 8 of MariaDB 10 en PHP 7 installeren op CentOS 7
Stap 1: EPEL en Remi Repository installeren
EPEL (Extra Packages for Enterprise Linux) is een door de gemeenschap gebaseerde repository die aanvullende softwarepakketten biedt voor RHEL-gebaseerde Linux distributies.
Remi is een repository waar u de nieuwste versies van de PHP stack (volledig uitgerust) kunt vinden voor installatie in de Fedora en Enterprise Linux distributies.
Op RHEL/CentOS 7
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm ------ For RHEL 7 Only ------ # subscription-manager repos --enable=rhel-7-server-optional-rpms
Op RHEL/CentOS 6
# yum update && yum install epel-release # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm ------ For RHEL 6 Only ------ # subscription-manager repos --enable=rhel-6-server-optional-rpms
Op Fedora 24-29
# rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm [On Fedora 29] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm [On Fedora 28] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm [On Fedora 27] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm [On Fedora 26] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm [On Fedora 25] # rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm [On Fedora 24]
Stap 2: Nginx- en MariaDB-repositories installeren
De Nginx-repository is alleen nodig in RHEL en CentOS distributies. Maak een bestand genaamd /etc/yum.repos.d/nginx.repo aan en voeg de volgende regels toe.
Voor RHEL 7/6:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1
Voor CentOS 7/6:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
Om de MariaDB-repository in te schakelen, maak een bestand met de naam /etc/yum.repos.d/mariadb.repo aan met de volgende inhoud:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Stap 4: Nginx en MariaDB installeren
Nginx (Engine X) is een open source, robuuste, lichte en snelle webserver, omgekeerde proxyserver en ook mailproxyserver voor HTTP, SMTP, POP3 en IMAP-protocollen. Voor meer details, bezoek http://wiki.nginx.org/Overview.
MariaDB is een afsplitsing van de bekende MySQL, een van ’s werelds meest populaire relationele databasebeheersystemen (RDBMS). Het wordt volledig ontwikkeld door de gemeenschap en is daarom bedoeld om FOSS te blijven en compatibel te blijven met de GPL.
Om Nginx en MariaDB te installeren, voer je de volgende commando’s uit.
----------- Installing on RHEL/CentOS 7/6 ----------- # yum --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm ----------- Installing on Fedora ----------- # dnf --enablerepo=remi install nginx MariaDB-client MariaDB-server php php-common php-fpm
Stap 3: PHP installeren met behulp van de Remi-repository
PHP (Hypertext Preprocessor) is een gratis en open-source server-side scripttaal die het meest geschikt is voor webontwikkeling. Het kan worden gebruikt om dynamische webpagina’s te maken voor een website en wordt het meest gebruikt op *nix-servers. Een van de voordelen van PHP is dat het gemakkelijk uitbreidbaar is door het gebruik van een breed scala aan modules.
Om PHP te installeren, moet je eerst de Remi-repository inschakelen door yum-utils
te installeren, een verzameling handige programma’s voor het beheren van yum-repositories en pakketten.
# yum install yum-utils
Nadat het is geïnstalleerd, kun je de opdracht yum-config-manager gebruiken die wordt geleverd door yum-utils
om de Remi-repository in te schakelen als de standaardrepository voor het installeren van verschillende PHP-versies, zoals hieronder wordt weergegeven.
Om bijvoorbeeld de versie PHP 7.x te installeren, gebruik je de volgende opdracht.
------------- On CentOS & RHEL ------------- # yum-config-manager --enable remi-php70 && yum install php [Install PHP 7.0] # yum-config-manager --enable remi-php71 && yum install php [Install PHP 7.1] # yum-config-manager --enable remi-php72 && yum install php [Install PHP 7.2] # yum-config-manager --enable remi-php73 && yum install php [Install PHP 7.3] ------------- On Fedora ------------- # dnf --enablerepo=remi install php70 [Install PHP 7.0] # dnf --enablerepo=remi install php71 [Install PHP 7.1] # dnf --enablerepo=remi install php72 [Install PHP 7.2] # dnf --enablerepo=remi install php73 [Install PHP 7.3]
Vervolgens gaan we al deze volgende PHP-modules installeren.
------ On RHEL/CentOS 7/6 ------ # yum --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear ------ On Fedora ------ # dnf --enablerepo=remi install php-mysqlnd php-pgsql php-fpm php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear
Stap 6: Stoppen en uitschakelen van Apache-service
Standaard luisteren Apache en Nginx op dezelfde poort (TCP 80). Daarom moet je, als Apache is geïnstalleerd op je server, deze stoppen en uitschakelen / maskeren (een krachtigere versie van uitschakelen die de service linkt naar /dev/null) om Nginx te kunnen gebruiken, of je kunt deze verwijderen als je deze niet meer van plan bent te gebruiken.
# systemctl stop httpd # systemctl disable httpd or # systemctl mask httpd
Stap 7: Nginx, MariaDB en PHP-FPM starten/stoppen
----------- Enable Nginx, MariaDB and PHP-FPM on Boot ----------- # systemctl enable nginx # systemctl enable mariadb # systemctl enable php-fpm ----------- Start Nginx, MariaDB and PHP-FPM ----------- # systemctl start nginx # systemctl start mariadb # systemctl start php-fpm
Stap 8: Nginx en PHP-FPM configureren
Laten we nu een directorystructuur maken voor uw website (een virtuele host, of serverblok zoals het genoemd wordt in Nginx) onder /srv/www/. In dit voorbeeld zullen we www.tecmint.com
gebruiken, maar voel u vrij om een andere domeinnaam en hoofddirectory te kiezen als u dat wilt.
# mkdir -p /srv/www/tecmint/public_html # mkdir /srv/www/tecmint/logs # chown -R nginx:nginx /srv/www/tecmint
Stap 9: Nginx virtuele hostdirectories configureren
Zoals u weet, is het vermogen om meerdere sites vanaf dezelfde machine te draaien een van de kenmerkende eigenschappen van grote webservers. Laten we nu doorgaan met het maken van de directories om onze serverblokken op te slaan (bekend als virtuele hosts in Apache) onder /etc/nginx.
# mkdir /etc/nginx/sites-available # mkdir /etc/nginx/sites-enabled
De volgende regel code, die moet worden ingevoegd voor het afsluiten van het http-blok in /etc/nginx/nginx.conf, zorgt ervoor dat configuratiebestanden in de map /etc/nginx/sites-enabled in aanmerking worden genomen wanneer Nginx wordt uitgevoerd:
## Load virtual host conf files. ## include /etc/nginx/sites-enabled/*;

Om het serverblok voor tecmint.com
te maken, voegt u de volgende regels code toe aan /etc/nginx/sites-available/tecmint (dit bestand wordt aangemaakt wanneer u het volledige pad invoert om uw voorkeursteksteditor te starten). Dit is een basisconfiguratiebestand voor een virtuele host.
server { listen 80 default; server_name tecmint; access_log /srv/www/tecmint/logs/access.log; error_log /srv/www/tecmint/logs/error.log; root /srv/www/tecmint/public_html; location ~* \.php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } }
Het proces van het “activeren” van een virtuele host bestaat uit het maken van een symbolische link van de definitie van de virtuele host tecmint
naar /etc/nginx/sites-enabled.
# ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
Om daadwerkelijk de wijzigingen toe te passen die we hebben gedaan, moeten we nu Nginx herstarten. Het is soms handig om de configuratiebestanden te controleren op syntaxisfouten voordat u dit doet:
# nginx -t # systemctl restart nginx # systemctl status nginx

Om toegang te krijgen tot je nieuw aangemaakte virtuele host, moet je de volgende regel toevoegen aan /etc/hosts als een basismanier van domeinnaamresolutie.
192.168.0.18 www.tecmint.com tecmint.com
Stap 10: Testen van Nginx, MySQL, PHP en PHP-FPM
Laten we bij de klassieke manier van het testen van PHP blijven. Maak een bestand genaamd test.php
aan onder /srv/www/tecmint/public_html/ en voeg de volgende regels code toe.
De functie phpinfo()
toont veel informatie over de huidige PHP-installatie:
<?php phpinfo(); ?>
Wijs nu je webbrowser naar http://tecmint/test.php
en controleer de aanwezigheid van de geïnstalleerde modules en aanvullende software:
Gefeliciteerd! Je hebt nu een werkende installatie van een LEMP-stack. Als er iets niet zoals verwacht is gegaan, neem dan gerust contact met ons op via het onderstaande formulier. Vragen en suggesties zijn ook welkom.
Source:
https://www.tecmint.com/install-nginx-mariadb-php-rhel-centos-fedora/