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?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

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