In diesem Artikel haben wir die notwendigen Schritte zum Installieren und Konfigurieren von Apache mit PHP-FPM auf CentOS 8 erklärt. Bevor Sie mit diesem Tutorial fortfahren, vergewissern Sie sich, dass Sie angemeldet sind als ein Benutzer mit sudo
Privilegien. Alle Befehle in diesem Tutorial sollten als Nicht-Root-Benutzer ausgeführt werden.
Voraussetzung:
- Betriebssystem mit CentOS 8
- Server-IPv4-Adresse mit Superuser-Berechtigungen (Root-Zugriff)
- Gnome-Terminal für Linux-Desktop
- PuTTy SSH-Client für Windows oder macOS
- Powershell für Windows 10/11
- Vertraut mit DNF-Befehlen
Installieren Sie Apache mit PHP-FPM auf CentOS 8
Schritt 1. Der erste Befehl aktualisiert die Paketlisten, um sicherzustellen, dass Sie die neueste Version und Abhängigkeiten erhalten.
sudo dnf update
Schritt 2. Apache installieren.
Apache ist in den standardmäßigen CentOS-Repositories verfügbar, Sie können Apache installieren:
sudo dnf install httpd httpd-tools mod_ssl
Sobald die Installation abgeschlossen ist, aktivieren und starten Sie den Apache-Dienst:
sudo systemctl enable httpd sudo systemctl start httpd
Sie können auch die Version Ihres Webservers überprüfen, um sicherzustellen, dass er korrekt installiert wurde:
httpd -v
Während der Installation erstellt Apache Firewalld-Dienstdateien mit vordefinierten Regeln für den Zugriff auf HTTP- (80) und HTTPS- (443) Ports. Die folgenden Befehle öffnen die erforderlichen Ports dauerhaft:
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload
Schritt 3. Installieren Sie PHP mit PHP-FPM.
Um PHP 7.4 zu installieren, können Sie das Remi-Repository aktivieren, indem Sie den folgenden Befehl ausführen:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Aktivieren Sie als Nächstes die entsprechende Version:
sudo dnf module reset php sudo dnf module enable php:remi-7.4
Der folgende Befehl installiert PHP-FPM und einige der gängigsten PHP-Module:
sudo dnf update sudo apt install php php-fpm php-gd php-mysqlnd
PHP verwendet FPM, wird als Abhängigkeit installiert und als FastCGI-Server verwendet. Starten Sie den FPM-Dienst und aktivieren Sie ihn so, dass er beim Booten automatisch gestartet wird:
sudo systemctl enable --now php-fpm sudo systemctl start php-fpm
Schritt 4. Konfigurieren Sie PHP-FPM.
Lassen Sie uns mit dem Konfigurationsprozess beginnen. Bearbeiten Sie zunächst die PHP-FPM-Konfigurationsdatei für Apache:
sudo nano /etc/php-fpm.d/www.conf
; listen = 127.0.0.1:9000 listen = /run/php-fpm/www.sock user = apache group = apache listen.allowed_clients = 127.0.0.1 listen.owner = apache listen.group = apache listen.mode = 0660 pm = dynamic
Starten Sie den php-fpm-Dienst mit dem folgenden Befehl neu und Sie können loslegen:
sudo systemctl restart php-fpm
Schritt 5. Apache VirtualHost erstellen.
Jetzt ist es an der Zeit, Apache so zu konfigurieren, dass er php-fpm zum Verarbeiten von PHP-Dateien verwendet. In diesem Beispiel konfiguriere ich FPM nur für einen bestimmten virtuellen Host:
sudo nano /etc/httpd/conf.d/example.com.conf
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html ServerName example.com ServerAlias www.example.com # Proxy declaration <Proxy "unix:/run/php-fpm/www.sock|fcgi://php-fpm"> # we must declare a parameter in here (doesn't matter which) or # it'll not register the proxy ahead of time ProxySet disablereuse=off # Note: If you configure php-fpm to use the "pm = ondemand" #then use "ProxySet disablereuse=on" </Proxy> <FilesMatch \.php$> SetHandler proxy:fcgi://php-fpm </FilesMatch> ErrorLog logs/example.com-error.log CustomLog logs/example.com-access.log combined </VirtualHost>
Speichern Sie die Konfigurationsdatei des virtuellen Hosts und laden Sie Apache neu, um die Änderungen zu übernehmen:
sudo systemctl restart httpd
Schritt 6. Einrichtung testen.
Erstellen Sie zum Testen der Umgebung ein PHP-Skript mit der Funktion phpinfo(). Platzieren Sie diese Datei im Dokumentenstammverzeichnis Ihres Servers. Verwenden Sie dazu den folgenden Befehl:
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Greifen Sie dann auf info.php zu, indem Sie die Server-IP-Adresse (für den standardmäßigen VirtualHost) für Ihre konfigurierte Domain in Apache VirtualHost verwenden.
http://localhost/info.php
Das ist alles, was Sie tun müssen, um LAMP Stack auf CentOS 8 zu installieren. Ich hoffe, Sie finden diesen kurzen Tipp hilfreich. Wenn Sie Fragen oder Anregungen haben, können Sie unten einen Kommentar hinterlassen.