Tutorials  /  Ubuntu

PHP und PHP-FPM auf Ubuntu 22.04 installieren & konfigurieren

Ccentron Redaktion · Oktober 2025 ·8 Min. Lesezeit ·Ubuntu, Tutorial

PHP ist eine weit verbreitete serverseitige Skriptsprache, die zur Entwicklung dynamischer Webanwendungen eingesetzt wird. PHP-FPM (FastCGI Process Manager) erhöht die Effizienz und optimiert die Verarbeitung von PHP-Anfragen in Kombination mit Webservern.

Diese Anleitung zeigt Schritt für Schritt, wie Sie PHP und PHP-FPM auf Ubuntu 22.04 installieren, um eine funktionsfähige PHP-Umgebung für Ihre Anwendungen bereitzustellen.

Voraussetzungen

Vor dem Start stellen Sie sicher, dass Sie Folgendes haben:

  • Einen Ubuntu 22.04 Server.
  • SSH-Zugang als Nicht-Root-Benutzer mit sudo-Rechten.
  • Einen vollständig aktualisierten Server.
VM

Passende Infrastruktur bei centron

Ubuntu-Server ohne eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

PHP installieren

Ubuntu 22.04 bringt PHP bereits in den Standard-APT-Repositories mit. Führen Sie folgende Schritte aus, um das System zu aktualisieren und PHP zu installieren.

Paketindex aktualisieren

Konsole
$ sudo apt update

PHP installieren

Konsole
$ sudo apt install php -y

Installierte PHP-Version prüfen

Konsole
$ php -v

Beispielausgabe:

PHP 8.1.2-1ubuntu2.21 (cli) (built: Mar 24 2025 19:04:23) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2-1ubuntu2.21, Copyright (c), by Zend Technologies

PHP-Erweiterungen installieren

Erweiterungen erweitern die Funktionalität von PHP, etwa für Datenbankanbindung, Verschlüsselung oder Bildbearbeitung. Installieren Sie gängige Erweiterungen mit folgendem Befehl:

Konsole
$ sudo apt install -y php-mysql php-mbstring php-bcmath php-zip php-gd php-curl php-xml

Dieser Befehl installiert:

  • php-mysql – Verbindet PHP mit MySQL-Datenbanken.
  • php-mbstring – Unterstützung für UTF-8 und Multibyte-Strings.
  • php-bcmath – Hohe Genauigkeit für mathematische Operationen.
  • php-zip – Unterstützung für ZIP-Archive.
  • php-gd – Bildbearbeitung und -verarbeitung.
  • php-curl – Datentransfer über URLs.
  • php-xml – XML-Parsing und -Verarbeitung.

Verfügbare PHP-Erweiterungen anzeigen

Konsole
$ sudo apt-cache search php | grep "^php8.1"

Installierte PHP-Erweiterungen prüfen

Konsole
$ php -m

Beispielausgabe:

[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
FFI
.....

[Zend Modules]
Zend OPcache

PHP-FPM installieren und konfigurieren

PHP-FPM ist in den Standard-Repositories von Ubuntu 22.04 enthalten und entspricht der installierten PHP-Version. Gehen Sie wie folgt vor:

PHP-FPM installieren

Konsole
$ sudo apt install php-fpm -y

PHP-FPM-Version prüfen

Konsole
$ php-fpm8.1 -v

Ausgabe:

PHP 8.1.2-1ubuntu2.21 (fpm-fcgi) (built: Mar 24 2025 19:04:23)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2-1ubuntu2.21, Copyright (c), by Zend Technologies

PHP-FPM-Verzeichnisse prüfen

Konsole
$ ls /etc/php/8.1/

Beispielausgabe:

apache2  cli  fpm  mods-available

PHP-FPM Pool-Konfiguration anpassen

Wechseln Sie ins Pool-Verzeichnis:

Konsole
$ cd /etc/php/8.1/fpm/pool.d/

Öffnen Sie die Standardkonfigurationsdatei:

Konsole
$ sudo nano www.conf

PHP-FPM Pool-Einstellungen prüfen

Pool-Name:

Code
[www]

Benutzer- und Gruppeneinstellungen:

Code
user = www-data
group = www-data

Socket-Pfad:

Code
listen = /run/php/php8.1-fpm.sock

Prozessverwaltungseinstellungen:

Code
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

Erklärung:

  • pm: Modus des Prozessmanagers (static, dynamic, ondemand).
  • pm.max_children: Maximale Anzahl von Kindprozessen.
  • pm.start_servers: Anzahl der Prozesse beim Start (nur für dynamic).
  • pm.min_spare_servers: Mindestanzahl an Leerlaufprozessen.
  • pm.max_spare_servers: Maximal erlaubte Leerlaufprozesse.
  • pm.process_idle_timeout: Zeit, bevor Leerlaufprozesse beendet werden.
  • access.log: Protokolliert Anfragen an den PHP-FPM Pool.
  • slowlog: Pfad zur Protokollierung langsamer Anfragen.
  • request_slowlog_timeout: Zeitlimit zur Erkennung langsamer Anfragen.

PHP-FPM neu starten

Starten Sie den Dienst neu, um Ihre Änderungen zu übernehmen:

Konsole
$ sudo systemctl restart php8.1-fpm

PHP und PHP-FPM testen

PHP verarbeitet dynamische Inhalte, während PHP-FPM die Verbindung zwischen PHP und dem Webserver herstellt und Ressourcen optimal verwaltet. Folgen Sie diesen Schritten, um PHP und PHP-FPM mit Nginx zu prüfen.

Beispiel-PHP-Datei erstellen und testen

Wechseln Sie in Ihr Home-Verzeichnis:

Konsole
$ cd

Erstellen Sie eine Datei mit dem Namen sample.php:

Konsole
$ nano sample.php

Fügen Sie folgenden Inhalt ein:

Code
<!--?php echo "Greetings from centron! PHP is working correctly on this server"; ?-->

Führen Sie das Skript über die PHP-CLI aus:

Konsole
$ php sample.php

Erwartete Ausgabe:

Greetings from centron! PHP is working correctly on this server

Nginx installieren und konfigurieren

Installieren Sie Nginx, um PHP-Dateien über PHP-FPM auszuliefern:

Konsole
$ sudo apt install nginx -y

Sichern Sie die Standardkonfiguration:

Konsole
$ sudo mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.BAK

Erstellen Sie eine neue Standardkonfiguration:

Konsole
$ sudo nano /etc/nginx/sites-available/default

Fügen Sie folgende Einstellungen hinzu:

Code
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root  /var/www/html/;
    index index.html index.php index.nginx-debian.html;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
}

Überprüfen Sie die Nginx-Konfiguration:

Konsole
$ sudo nginx -t

Erwartete Ausgabe:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

PHP mit Nginx testen

Erstellen Sie im Verzeichnis /var/www/html eine Datei test.php:

Konsole
$ sudo nano /var/www/html/test.php

Fügen Sie folgenden Code ein:

Code
<!--?php phpinfo(); ?-->

Beenden Sie Apache, um Port 80 freizugeben:

Konsole
$ sudo systemctl stop apache2

Erlauben Sie HTTP-Traffic über die Firewall (UFW):

Konsole
$ sudo ufw allow 80

Starten Sie Nginx neu:

Konsole
$ sudo systemctl restart nginx

Öffnen Sie Ihren Browser und rufen Sie auf:

http://SERVER-IP/test.php

Mehrere PHP-Versionen installieren

Einige Projekte benötigen unterschiedliche PHP-Versionen. Standardmäßig bietet Ubuntu 22.04 nur eine begrenzte Auswahl. Um ältere oder alternative Versionen wie PHP 7.4 zu installieren, verwenden Sie das Repository ppa:ondrej/php.

PHP-Repository hinzufügen

Konsole
$ sudo add-apt-repository -y ppa:ondrej/php

PHP 7.4 und PHP-FPM installieren

Konsole
$ sudo apt install -y php7.4 php7.4-fpm

PHP-Version prüfen

Konsole
$ php7.4 -v

Beispielausgabe:

PHP 7.4.33 (cli) (built: Jun  6 2024 16:49:34) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies

PHP-FPM Status prüfen

Konsole
$ sudo systemctl status php7.4-fpm

Beispielausgabe:

● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2025-04-06 16:24:27 UTC; 33s ago
       Docs: man:php-fpm7.4(8)
   Main PID: 31049 (php-fpm7.4)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"

Neue Site für PHP 7.4 erstellen

Neues Verzeichnis anlegen:

Konsole
$ sudo mkdir -p /var/www/php74-site

Die Testdatei als index.php kopieren:

Konsole
$ sudo cp /var/www/html/test.php /var/www/php74-site/index.php

Neue Nginx-Serverkonfiguration erstellen:

Konsole
$ sudo nano /etc/nginx/sites-available/php74-site.conf

Folgende Konfiguration einfügen:

Code
server {
    listen 9000;
    listen [::]:9000;

    root  /var/www/php74-site;

    index index.php index.html;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
}

Neue Site aktivieren:

Konsole
$ sudo ln -s /etc/nginx/sites-available/php74-site.conf /etc/nginx/sites-enabled/

Nginx-Konfiguration testen:

Konsole
$ sudo nginx -t

Erwartete Ausgabe:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Port 9000 in der Firewall freigeben:

Konsole
$ sudo ufw allow 9000/tcp

Firewall-Regeln neu laden:

Konsole
$ sudo ufw reload

Nginx neu starten:

Konsole
$ sudo systemctl restart nginx

Greifen Sie im Browser auf Ihre PHP 7.4-Site zu:

http://SERVER-IP:9000

Sie sollten die PHP-7.4-Details sehen. Öffnen Sie zusätzlich Ihre Standardseite, um sicherzustellen, dass PHP 8.1 getrennt verarbeitet wird:

http://SERVER-IP/test.php

Fazit

In dieser Anleitung haben Sie PHP, PHP-FPM und mehrere PHP-Versionen auf Ubuntu 22.04 installiert. Mit PHP-FPM in Kombination mit Nginx lassen sich dynamische Anfragen effizient verarbeiten und mehrere Projekte mit unterschiedlichen PHP-Anforderungen parallel betreiben. Weitere Informationen finden Sie in der offiziellen PHP-Dokumentation.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Ubuntu
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren