In diesem Artikel erklären wir, wie Sie eine LEMP-Stack (Linux, Nginx, MariaDB, PHP) mit PHP-FPM auf RHEL/CentOS 7/6 und Fedora 26-29-Servern mit dem Paketmanager yum und dnf installieren können.
Während des Vorganges installieren und aktivieren wir die Repositories Epel, Remi, Nginx und MariaDB, um die neuesten Versionen dieser Pakete installieren zu können.
Lesen Sie auch: Installieren Sie Apache, MySQL 8 oder MariaDB 10 und PHP 7 auf CentOS 7
Schritt 1: Installieren des EPEL und Remi-Repositorys
EPEL (Extra Packages for Enterprise Linux) ist ein communitybasiertes Repository, das Zusatzsoftwarepakete für RHEL-basierte Linux-Distributionen anbietet.
Remi ist ein Repository, in dem Sie die neuesten Versionen des PHP-Stacks (vollständig funktionierend) für die Installation in den Fedora und Enterprise Linux-Distributionen finden können.
Auf 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
Auf 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
Auf 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]
Schritt 2: Installation der Nginx- und MariaDB-Repositories
Das Nginx-Repository wird nur in den RHEL- und CentOS-Distributionen benötigt. Erstellen Sie eine Datei mit dem Namen /etc/yum.repos.d/nginx.repo und fügen Sie die folgenden Zeilen hinzu.
Für RHEL 7/6:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1
Für CentOS 7/6:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
Um das MariaDB-Repository zu aktivieren, erstellen Sie eine Datei mit dem Namen /etc/yum.repos.d/mariadb.repo mit dem folgenden Inhalt:
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.1/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Schritt 4: Installation von Nginx und MariaDB
Nginx (Engine X) ist ein Open-Source-, robustes, leichtgewichtiges und leistungsstarkes Webserver-, Reverse-Proxy-Server- und auch Mail-Proxy-Server für die Protokolle HTTP, SMTP, POP3 und IMAP. Weitere Details finden Sie unter http://wiki.nginx.org/Overview.
MariaDB ist ein Fork des bekannten MySQL, einem der weltweit beliebtesten relationalen Datenbankmanagementsysteme (RDBMS). Es wird vollständig von der Community entwickelt und soll daher FOSS bleiben und mit der GPL kompatibel sein.
Um Nginx und MariaDB zu installieren, führen Sie die folgenden Befehle aus.
----------- 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
Schritt 3: Installation von PHP mit dem Remi-Repository
PHP (Hypertext Preprocessor) ist eine freie und quelloffene Serverseitenschriptsprache, die am besten geeignet ist für die Webentwicklung. Es kann verwendet werden, um dynamische Webseiten für eine Webseite zu generieren und es ist am häufigsten auf *nix-Servern zu finden. Eine der Vorteile von PHP ist, dass es durch die Verwendung einer breiten Varietät von Modulen leicht erweiterbar ist.
Um PHP zu installieren, müssen Sie zunächst den Remi-Repository aktivieren, indem Sie yum-utils
installieren, eine Sammlung von nützlichen Programmen für die Verwaltung von yum-Repositories und -Paketen.
# yum install yum-utils
Nach der Installation können Sie yum-config-manager, das von yum-utils
bereitgestellt wird, verwenden, um das Remi-Repository als Standard-Repository zu aktivieren, um verschiedene PHP-Versionen wie gezeigt zu installieren.
Zum Beispiel verwenden Sie den folgenden Befehl, um die Version PHP 7.x zu installieren.
------------- 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]
Im nächsten Schritt installieren wir alle folgenden PHP-Module.
------ 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
Schritt 6: Anhalten und Deaktivieren des Apache-Diensts
Standardmäßig hört Apache und Nginx auf dieselbe Port (TCP 80). Daher müssen Sie Apache auf Ihrem Server anhalten und deaktivieren / verschleiern (eine stärkere Version von deaktivieren, die den Dienst auf /dev/null verlinkt), um Nginx verwenden zu können, oder Sie können es entfernen, wenn Sie nicht mehr mit ihm arbeiten planen.
# systemctl stop httpd # systemctl disable httpd or # systemctl mask httpd
Schritt 7: Starten/Stoppen von Nginx, MariaDB und PHP-FPM
----------- 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
Schritt 8: Konfigurieren von Nginx und PHP-FPM
Nun werden wir eine Verzeichnisstruktur für Ihre Webseite (ein virtueller Host oder Server Block, wie er in Nginx bezeichnet wird) unter /srv/www/ erstellten. In diesem Beispiel werden wir www.tecmint.com
verwenden, aber freie Wahl haben Sie, einen anderen Domain und das Hauptverzeichnis auszuwählen, falls Sie das wollen.
# mkdir -p /srv/www/tecmint/public_html # mkdir /srv/www/tecmint/logs # chown -R nginx:nginx /srv/www/tecmint
Schritt 9: Konfigurieren von Nginx-Virtual-Host-Verzeichnissen
Wie Sie wissen, ist die Fähigkeit, mehrere Seiten von derselben Maschine aus zu betreiben, eine der charakteristischen Merkmale größerer Web-Server. Jetzt werden wir die Verzeichnisse erstellen, um unsere Server Blöcke (bekannt als virtuelle Hosts in Apache) unter /etc/nginx zu speichern.
# mkdir /etc/nginx/sites-available # mkdir /etc/nginx/sites-enabled
Die folgende Zeile des Codes, die vor dem Schließen des http-Blocks in /etc/nginx/nginx.conf eingefügt werden muss, stellt sicher, dass Konfigurationsdateien innerhalb des /etc/nginx/sites-enabled Verzeichnisses beachtet werden, wenn Nginx ausgeführt wird:
## Load virtual host conf files. ## include /etc/nginx/sites-enabled/*;

Um den Server Block für tecmint.com
zu erstellen, fügen Sie die folgenden Zeilen des Codes zu /etc/nginx/sites-available/tecmint hinzu (diese Datei wird erstellt, wenn Sie den vollständigen Pfad zum Starten Ihres bevorzugten Texteditoren eingeben). Dies ist eine grundlegende Datei mit den Einstellungen für einen virtuellen 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; } }
Der Prozess des „Aktivierens“ eines virtuellen Hosts besteht darin, ein symbolisches Verbindung von der Definition des tecmint
virtuellen Hosts zu /etc/nginx/sites-enabled zu erstellen.
# ln -s /etc/nginx/sites-available/tecmint /etc/nginx/sites-enabled/tecmint
Um die Änderungen, die wir durchgeführt haben, tatsächlich anzuwenden, müssen wir Nginx nun neu starten. Es ist manchmal nützlich, die Konfigurationsdateien auf Syntaxfehler zu prüfen, bevor Sie dies tun.
# nginx -t # systemctl restart nginx # systemctl status nginx

Um auf Ihren neu erstellten virtuellen Host zuzugreifen, müssen Sie die folgende Zeile zu /etc/hosts hinzufügen, um die Domainnamenauflösung auf eine grundlegende Art und Weise durchzuführen.
192.168.0.18 www.tecmint.com tecmint.com
Schritt 10: Überprüfen von Nginx, MySQL, PHP und PHP-FPM
Lassen Sie uns mit dem klassischen Verfahren testen, um PHP zu überprüfen. Erstellen Sie eine Datei namens test.php
im Verzeichnis /srv/www/tecmint/public_html/ und fügen Sie die folgenden Zeilen Code hinzu.
Die Funktion phpinfo()
zeigt eine Menge Informationen über die aktuelle PHP-Installation an:
<?php phpinfo(); ?>
Richten Sie nun Ihren Web-Browser auf http://tecmint/test.php
ein und prüfen Sie die Präsenz installierter Module und zusätzlicher Software:
Glückwunsch! Sie haben nun eine funktionierende Installation eines LEMP-Stacks. Wenn etwas anderslautend ablief, können Sie sich mit dem untenstehenden Formular erreichen. Fragen und Vorschläge sind ebenfalls willkommen.
Source:
https://www.tecmint.com/install-nginx-mariadb-php-rhel-centos-fedora/