So installieren Sie PHP-FPM mit Apache unter Ubuntu 22.04. Es gibt zwei verschiedene Optionen, um PHP über den Webserver auszuführen. Einer verwendet das CGI von PHP und der andere ist FPM. FPM ist ein Prozessmanager zur Verwaltung von FastCGI in PHP. Apache wird mit mod_php
ausgeliefert standardmäßig und funktioniert mit allen gängigen Webservern. Mit mod_php
Es gibt ein kleines Leistungsproblem, weil es den Prozess sperrt.
In dieser Anleitung erfahren Sie, wie Sie PHP 8.1-FPM einrichten und mit Apache konfigurieren und auch PHP-Variablen konfigurieren.
Dieses Setup kann auch auf anderen VPS oder dedizierten oder Cloud-VMs durchgeführt werden. Dieses Setup wurde auf Google Compute Engine getestet, funktioniert aber auf allen Ubuntu- oder Debian-Linux-Distributionen.
Erste Schritte
Stellen Sie sicher, dass Ihr Ubuntu-Server über die neuesten Pakete verfügt, indem Sie den folgenden Befehl ausführen.
sudo apt update
sudo apt upgrade
Dadurch werden der Paketindex und die installierten Pakete auf die neueste Version aktualisiert.
Schritt 1:Installieren Sie PHP 8.1 FPM
Standardmäßig hat Ubuntu 22.04 das neueste PHP 8.1-Repository hinzugefügt. Sie können also PHP mit dem folgenden Befehl installieren.
sudo apt install php8.1-fpm php8.1 libapache2-mod-php8.1 php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl php8.1-bcmath unzip -y
Warten Sie, bis die Installation abgeschlossen ist.
Sobald die Installation abgeschlossen ist, überprüfen Sie die Installation mit dem folgenden Befehl.
sudo service php8.1-fpm status
Sie erhalten eine Ausgabe ähnlich der untenstehenden.
Output ● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-05-08 05:42:31 UTC; 2min ago Docs: man:php-fpm8.1(8) Process: 564 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.s> ...
Schritt 2:Apache installieren
Sobald Sie Ihr PHP-FPM eingerichtet und ausgeführt haben, können Sie den Apache-Webserver installieren.
sudo apt install apache2
Überprüfen Sie die Apache-Version mit dem folgenden Befehl
sudo apachectl -v
Output Server version: Apache/2.4.52 (Ubuntu) Server built: 2022-03-25T00:35:40
Jeder Prozess in Apache wird mit dem systemctl
verwaltet Befehl. Überprüfen Sie den Status von Apache mit dem folgenden Befehl.
sudo systemctl status apache2
Output ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-05-08 05:45:29 UTC; 1min 47s ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 12782 (apache2) Tasks: 55 (limit: 1151) Memory: 5.1M CPU: 52ms CGroup: /system.slice/apache2.service ├─12782 /usr/sbin/apache2 -k start ├─12784 /usr/sbin/apache2 -k start └─12785 /usr/sbin/apache2 -k start
Schritt 3:Apache mit PHP-FPM konfigurieren
Standardmäßig verwendet Apache mod_php
jetzt können Sie also Apache für die Verwendung von PHP-FPM konfigurieren.
Deaktivieren Sie die standardmäßige Apache vhost-Konfiguration.
sudo a2dissite 000-default
Apache-Ereignismodul aktivieren
Deaktivieren Sie alle Standard-Preform-Module für alle vorhandenen PHP-Versionen.
sudo a2dismod php7.4
Deaktivieren Sie das Apache Prefork-Modul.
sudo a2dismod mpm_prefork
Apache Event-Modul aktivieren.
sudo a2enmod mpm_event proxy_fcgi setenvif
PHP-FPM-Konfiguration aktivieren
Jetzt können Sie die PHP-FPM-Konfiguration aktivieren.
sudo a2enconf php8.1-fpm
HTTP2 aktivieren
Wenn Sie HTTP 2-Unterstützung benötigen, können Sie diese ebenfalls aktivieren.
sudo a2enmod http2
Jetzt ist Apache mit PHP FPM konfiguriert.
Schritt 4:PHP-FPM konfigurieren
Jetzt konfigurieren wir PHP für Webanwendungen, indem wir einige Werte in php.ini
ändern Datei.
Für PHP 8.1 mit Nginx der php.ini
Der Speicherort befindet sich im folgenden Verzeichnis.
sudo nano /etc/php/8.1/fpm/php.ini
Drücken Sie F6
für die Suche im Editor und aktualisieren Sie die folgenden Werte für eine bessere Leistung.
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
Nachdem Sie Ihre PHP-Einstellungen geändert haben, müssen Sie Ihr PHP-FPM neu starten, damit die Änderungen wirksam werden.
sudo service php8.1-fpm restart
Schritt 5:Apache Virtual Hosts konfigurieren
Erstellen Sie eine neue Apache vhost-Konfiguration.
sudo nano /etc/apache2/sites-available/domain.conf
Fügen Sie die folgende Konfiguration in die Datei ein.
<VirtualHost *:80> ServerName domain.com ServerAlias www.domain.com Protocols h2 http/1.1 DocumentRoot /var/www/html/domain/public <Directory /var/www/html/domain/public> Options -Indexes +FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Drücken Sie CTRL + X
gefolgt von Y
und Enter
um die Datei zu speichern und zu beenden.
Jetzt können Sie die neue Apache-Konfiguration aktivieren.
sudo a2ensite domain.conf
Starten Sie Apache neu.
sudo service apache2 restart
Schritt 6:PHP-FPM mit Apache verifizieren
Hier haben wir /var/www/html/domain/public
konfiguriert als Web-Root in der Apache-Konfiguration. Jetzt können Sie in dieses Verzeichnis navigieren und einen phpinfo
erstellen Datei, um das Setup zu überprüfen.
cd /var/www/html/domain/public
sudo nano info.php
Fügen Sie Folgendes ein.
<?php phpinfo();
Drücken Sie CTRL + X
gefolgt von Y
und Enter
um die Datei zu speichern und zu beenden.
Gehen Sie nun zu Ihrem Browser und zeigen Sie ihn auf Ihre Server-IP-Adresse oder Ihren Domänennamen, gefolgt von info.php
. Ihre Adresse sieht also so aus:http://domain.com/info.php
Sie sehen die PHP-Infoseite und bestätigen, dass PHP-FPM mit Apache verwendet wird.
Bereiten Sie sich auf eine Rolle als Information Technology Professional vor mit Linux-Betriebssystem
Schlussfolgerung
Jetzt haben Sie gelernt, wie Sie PHP 8.1-FPM mit Apache installieren und PHP in Ubuntu 22.04 konfigurieren. Sie haben auch gelernt, PHP-FPM-Pools für mehrere Benutzer einzurichten.