Ubuntu: PHP installieren und konfigurieren – Schritt-für-Schritt-Anleitung für Einsteiger und Profis

目次

1. Einführung

Warum PHP unter Ubuntu verwenden?

PHP ist eine serverseitige Skriptsprache, die bei vielen Webanwendungen, einschließlich WordPress, zum Einsatz kommt. Besonders in der Webentwicklung wird PHP seit Jahren weit verbreitet genutzt, und zahlreiche CMS sowie Frameworks basieren auf PHP.

Ubuntu ist eine sehr stabile und weltweit beliebte Linux-Distribution, die sich hervorragend für den Servereinsatz eignet. Die Kombination aus Ubuntu und PHP wird sowohl von Einzelentwicklern als auch in produktiven Unternehmensumgebungen häufig verwendet.

Zielgruppe und Zweck dieses Artikels

Dieser Artikel richtet sich an Einsteiger, die „PHP unter Ubuntu installieren möchten, aber nicht wissen, wie sie anfangen sollen“, sowie an Fortgeschrittene, die eine bestimmte PHP-Version installieren möchten. Die Schritte werden so einfach und verständlich wie möglich erklärt.

Als Basis wird Ubuntu 22.04 LTS verwendet, die grundlegenden Schritte funktionieren aber auch mit anderen Versionen ähnlich.

Was Sie in diesem Artikel lernen

Nach dem Lesen dieses Artikels sind Sie in der Lage, Folgendes zu verstehen und umzusetzen:

  • Grundlegende Installation von PHP unter Ubuntu
  • Installation und Wechsel zwischen mehreren PHP-Versionen
  • Funktionsprüfung und Fehlerbehebung für PHP
  • Integration mit Apache oder Nginx
  • Installation häufig genutzter PHP-Module

2. Voraussetzungen und Vorbereitung

So prüfen Sie Ihre Ubuntu-Version

Zu Beginn sollten Sie überprüfen, welche Ubuntu-Version Sie nutzen. Die Installationsweise von PHP und unterstützte Module können je nach Ubuntu-Version leicht variieren.

Mit dem folgenden Befehl können Sie die Version ermitteln:

lsb_release -a

Alternativ erhalten Sie die Versionsinformationen auch mit:

cat /etc/os-release

Dieser Artikel bezieht sich hauptsächlich auf Ubuntu 22.04 LTS, die grundlegenden Schritte gelten aber auch für 20.04 oder 23.10.

Systempakete auf dem neuesten Stand halten

Vor der PHP-Installation ist es wichtig, alle Systempakete zu aktualisieren, um Abhängigkeitsprobleme zu vermeiden. Führen Sie dafür folgende Befehle aus:

sudo apt update
sudo apt upgrade -y

Damit aktualisieren Sie den Paketindex und können neue Pakete in aktueller Version installieren.

Notwendige Hilfsprogramme installieren

Für die Installation bestimmter PHP-Versionen oder das Hinzufügen von Repositories wird das Paket „software-properties-common“ benötigt. Falls noch nicht installiert, führen Sie diesen Befehl aus:

sudo apt install -y software-properties-common

Dieses Paket ist für Befehle wie add-apt-repository erforderlich und wird vor allem beim Einsatz von PPAs zur PHP-Installation genutzt.

Root-Rechte oder die Nutzung von sudo

Viele der beschriebenen Befehle erfordern Systemänderungen und müssen daher mit sudo ausgeführt werden. Falls Sie mit sudo nicht vertraut sind, informieren Sie sich vorab über die grundlegende Nutzung.

3. Installation von PHP

Grundsätzlich gibt es zwei Methoden, um PHP unter Ubuntu zu installieren: Die Installation aus den Standard-Repositories oder die gezielte Installation einer bestimmten Version über ein PPA (Personal Package Archive). Beide Wege werden hier erläutert.

PHP aus dem Standard-Repository installieren

Das Ubuntu-Standardrepository enthält stabile PHP-Versionen. Wenn Sie keine spezielle Version benötigen, können Sie PHP einfach wie folgt installieren:

sudo apt install -y php

Überprüfen Sie die Installation anschließend mit diesem Befehl:

php -v

Beispielausgabe:

PHP 8.1.2 (cli) (built: ...)

Unter Ubuntu 22.04 wird standardmäßig PHP 8.1 bereitgestellt.

Spezifische PHP-Version mit PPA installieren

Wenn Sie „die neueste PHP-Version verwenden“ oder „zwischen mehreren Versionen wechseln“ möchten, können Sie das zuverlässige PPA ondrej/php hinzufügen und die gewünschte Version installieren.

Schritt 1: PPA hinzufügen

sudo add-apt-repository ppa:ondrej/php
sudo apt update

Dieses Repository ist in der Ubuntu-Community weit verbreitet und bietet stabile Builds für verschiedene PHP-Versionen.

Schritt 2: Gewünschte PHP-Version installieren

Beispielsweise für PHP 8.2:

sudo apt install -y php8.2

Ebenso sind weitere Versionen wie PHP 7.4 oder 8.0 installierbar.

Schritt 3: Versionsprüfung

php -v

Bei erfolgreicher Installation wird die jeweilige Version angezeigt.

4. Funktionsprüfung von PHP

Nach der Installation sollte überprüft werden, ob PHP korrekt funktioniert. Unter Ubuntu kann dies sowohl im Terminal (CLI) als auch über einen Webserver (Apache oder Nginx) erfolgen. Beide Varianten werden hier vorgestellt.

Überprüfung über die Kommandozeile (CLI)

Führen Sie im Terminal folgenden Befehl aus, um die PHP-Version und die Funktion zu prüfen:

php -v

Wenn die PHP-Version und Build-Informationen erscheinen, funktioniert PHP im CLI-Modus korrekt.

Beispielausgabe:

PHP 8.2.10 (cli) (built: Aug 23 2023 08:12:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies

Überprüfung über den Webserver (Apache)

Wenn Apache installiert ist, kann mit einer Testseite die PHP-Integration geprüft werden. Dafür nutzen Sie die Funktion phpinfo().

1. Testdatei erstellen

Erstellen Sie mit folgendem Befehl im öffentlichen Verzeichnis (meist /var/www/html) eine PHP-Datei:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

2. Im Browser prüfen

Rufen Sie die Datei in Ihrem Browser auf, z.B.:

http://localhost/info.php

3. Anzeige prüfen

Werden PHP-Informationen angezeigt, läuft PHP korrekt über Apache.

🔍 Hinweis: Da phpinfo() sicherheitsrelevante Informationen anzeigt, sollte die info.php Datei nach dem Test gelöscht werden.

sudo rm /var/www/html/info.php

Überprüfung mit Nginx + PHP-FPM

Bei Nginx wird PHP über php-fpm verarbeitet. Prüfen Sie die Konfiguration wie bei Apache mit einer info.php-Datei. Bei Konfigurationsfehlern kann es zu 500-Fehlern oder Downloadaufforderungen kommen. Prüfen Sie dann insbesondere fastcgi_pass und include fastcgi-php.conf; in der Nginx-Konfiguration.

5. Häufig genutzte PHP-Module installieren

Mit PHP allein stehen nicht alle Funktionen zur Verfügung. Viele Features werden als Module (Erweiterungen) bereitgestellt und müssen bei Bedarf nachinstalliert werden. Hier stellen wir gängige Module vor.

Was sind PHP-Module?

PHP-Module (bzw. Erweiterungen) fügen spezielle Funktionen wie Datenbankanbindung, Multibyte-Verarbeitung, Bildbearbeitung oder XML-Verarbeitung hinzu.

Die Module werden als APT-Pakete installiert, z.B.:

sudo apt install php-MODULNAME

Für eine bestimmte Version z.B. php8.2-mbstring angeben.

Wichtige PHP-Module und deren Verwendung

php-mbstring (für Multibyte-Zeichen)

Wird für die Verarbeitung von Multibyte-Zeichen wie Japanisch benötigt. Praktisch unverzichtbar für mehrsprachige Websites oder E-Mail-Verarbeitung.

sudo apt install php-mbstring

php-mysql (Anbindung an MySQL/MariaDB)

Für den Zugriff auf MySQL- oder MariaDB-Datenbanken notwendig, z.B. bei WordPress oder anderen datenbankgestützten Anwendungen.

sudo apt install php-mysql

php-gd (Bildbearbeitung)

Modul zur Bildbearbeitung, etwa für das Erstellen von Screenshots oder Thumbnails.

sudo apt install php-gd

php-xml (XML-Verarbeitung)

Notwendig für die Verarbeitung von XML-Daten, z.B. bei RSS-Feeds oder APIs.

sudo apt install php-xml

php-curl (HTTP-Kommunikation)

Wird für HTTP-Anfragen an externe APIs oder Dienste verwendet und ist in vielen Frameworks Voraussetzung.

sudo apt install php-curl

php-zip (Umgang mit ZIP-Dateien)

Für das Erstellen und Entpacken von ZIP-Dateien, z.B. beim Datei-Upload.

sudo apt install php-zip

Module aktivieren und Webserver neu starten

Manche Module müssen nach der Installation aktiviert werden. Dies erfolgt mit phpenmod:

sudo phpenmod MODULNAME
sudo systemctl restart apache2

Nach der Aktivierung ist ein Neustart des Webservers erforderlich.

6. PHP-Versionen verwalten und wechseln

Unter Ubuntu können mehrere PHP-Versionen parallel installiert und genutzt werden. Das ist vor allem in Entwicklungsumgebungen oder auf Servern mit verschiedenen Webanwendungen hilfreich. Hier werden die Umstellung via CLI und die Modulauswahl bei Apache erklärt.

PHP-Version auf der CLI wechseln

Verwendeter Befehl: update-alternatives

Mit update-alternatives können Sie die PHP-Version für die Kommandozeile einfach umstellen.

Schritt 1: Installierte Versionen prüfen

ls /usr/bin/php*

Schritt 2: Versionen registrieren (nur einmal erforderlich)

sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82

Schritt 3: Gewünschte Version auswählen

sudo update-alternatives --config php

Sie sehen dann eine Auswahl wie:

There are 2 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php8.2   82        auto mode
  1            /usr/bin/php7.4   74        manual mode
  2            /usr/bin/php8.2   82        manual mode

Press <enter> to keep the current choice[*], or type selection number:

Geben Sie die gewünschte Nummer ein, um die PHP-Version zu wechseln.

Schritt 4: Version prüfen

php -v

PHP-Version unter Apache wechseln

Bei Apache gibt es für jede PHP-Version ein eigenes Modul. Durch (De-)Aktivieren der Module kann die gewünschte Version gewählt werden.

1. Verfügbare Module prüfen

ls /etc/apache2/mods-available | grep php

2. Aktuelles Modul deaktivieren

sudo a2dismod php7.4

3. Gewünschtes Modul aktivieren

sudo a2enmod php8.2

4. Apache neu starten

sudo systemctl restart apache2

Damit gilt die neue Version sowohl im CLI- als auch im Webserver-Betrieb.

7. Integration mit Apache oder Nginx

PHP wird meist zusammen mit einem Webserver wie Apache oder Nginx eingesetzt. Hier erfahren Sie, wie Sie PHP mit beiden Servern unter Ubuntu verbinden.

Apache-Integration (mod_php)

Bei Apache wird PHP häufig direkt über das Modul mod_php ausgeführt. Das ist einfach einzurichten und eignet sich für WordPress & Co.

Schritt 1: Apache und mod_php installieren

sudo apt install -y apache2 libapache2-mod-php

Mit dem Paket libapache2-mod-php kann Apache PHP-Dateien verarbeiten.

Schritt 2: Apache neu starten

sudo systemctl restart apache2

Schritt 3: PHP-Testdatei anlegen

Legen Sie im Verzeichnis /var/www/html eine Datei test.php mit folgendem Inhalt an und prüfen Sie die Ausgabe im Browser:

<?php
phpinfo();
?>

Beispiel für den Aufruf:

http://localhost/test.php

Nginx-Integration (PHP-FPM)

Nginx ist ein performanter, ressourcensparender Webserver und verwendet für PHP das separate Programm PHP-FPM (FastCGI Process Manager).

Schritt 1: Nginx und PHP-FPM installieren

sudo apt install -y nginx php-fpm

Schritt 2: Nginx-Konfiguration bearbeiten

Passen Sie meist /etc/nginx/sites-available/default an:

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

Folgender Block sollte enthalten oder angepasst werden:

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

Schritt 3: Nginx neu starten

sudo systemctl restart nginx

Schritt 4: PHP-Testdatei anlegen

Wie bei Apache können Sie /var/www/html/test.php anlegen und im Browser aufrufen, um PHP zu prüfen.

Optional: Firewall konfigurieren

Wenn Sie UFW (Uncomplicated Firewall) verwenden, müssen Sie den Zugriff für Webserver freigeben:

sudo ufw allow 'Apache Full'
# oder
sudo ufw allow 'Nginx Full'

Apache ist besonders benutzerfreundlich, Nginx überzeugt durch Leistung. Wählen Sie entsprechend Ihrer Anwendung und richten Sie PHP korrekt ein.

8. Fehlerbehebung (Troubleshooting)

Auch nach der PHP-Installation können Konfigurationsfehler oder Umgebungsprobleme auftreten. Im Folgenden werden häufige Probleme, deren Ursachen und Lösungen vorgestellt.

PHP funktioniert nicht (Quelltext wird im Browser angezeigt)

Ursache

Apache oder Nginx verarbeitet PHP-Dateien nicht korrekt und gibt sie als Text aus. Ursache ist meist ein fehlendes Modul oder eine falsche FastCGI-Konfiguration.

Lösung

  • Bei Apache:
    Überprüfen Sie, ob libapache2-mod-php installiert und aktiviert ist, und starten Sie Apache neu.
  sudo apt install libapache2-mod-php
  sudo systemctl restart apache2
  • Bei Nginx:
    Stellen Sie sicher, dass php-fpm installiert ist und fastcgi_pass in der Nginx-Konfiguration auf den richtigen Socket/Port verweist.
  sudo systemctl restart php8.2-fpm
  sudo systemctl restart nginx

Bestimmte PHP-Funktionen fehlen (Funktion nicht definiert)

Ursache

Das notwendige PHP-Modul ist nicht installiert oder nicht aktiviert.

Lösung

  • Installieren Sie das jeweilige Modul (z.B. mbstring, xml, curl).
  sudo apt install php-mbstring php-xml php-curl
  • Starten Sie nach dem Aktivieren des Moduls den Webserver neu.
  sudo systemctl restart apache2  # oder nginx
  • Installierte Module prüfen:
  php -m

PHP-Fehler werden nicht angezeigt

Ursache

Standardmäßig ist die Fehleranzeige in PHP oft deaktiviert.

Lösung

Passen Sie die php.ini an:

sudo nano /etc/php/8.2/apache2/php.ini

Folgende Werte ändern:

display_errors = On
error_reporting = E_ALL

Anschließend den Webserver neu starten:

sudo systemctl restart apache2

Fehlerprotokolle prüfen

Bei Apache:

/var/log/apache2/error.log

Bei Nginx:

/var/log/nginx/error.log

PHP-FPM-Log (bei Nginx):

/var/log/php8.2-fpm.log

Mit diesen Logs können Sie Probleme leichter diagnostizieren.

sudo tail -f /var/log/apache2/error.log

Im Fehlerfall ist es ratsam, Protokolle prüfen → Einstellungen kontrollieren → Server neu starten als Standardablauf zu nutzen.

9. Zusammenfassung

In diesem Artikel haben wir Schritt für Schritt die Installation von PHP unter Ubuntu von den Grundlagen bis zu erweiterten Themen erklärt. Hier fassen wir die wichtigsten Punkte zusammen und geben Empfehlungen für weiterführende Schritte.

Wesentliche Punkte im Überblick

  • Ubuntu-Version prüfen und vorbereiten:
    Prüfen Sie Ihre Ubuntu-Version und aktualisieren Sie die Pakete, um eine reibungslose PHP-Installation zu gewährleisten.
  • Zwei Methoden der PHP-Installation:
    Entweder bequem über das Standard-Repository oder gezielt mit dem PPA für bestimmte Versionen.
  • Funktionsprüfung nach der Installation:
    Mit php -v und phpinfo() die Funktion auf CLI und im Webserver prüfen.
  • Funktionsumfang durch Module erweitern:
    Installieren Sie nach Bedarf beliebte Module wie php-mbstring oder php-mysql.
  • Flexible Versionsverwaltung:
    Mit update-alternatives und Apache-Modulen zwischen verschiedenen PHP-Versionen wechseln.
  • Richtige Webserver-Integration:
    Die richtige Einrichtung mit Apache oder Nginx ist entscheidend für Stabilität und Leistung.
  • Protokolle bei Problemen prüfen:
    Bei Fehlern oder Problemen helfen die Server- und PHP-Logs weiter.

Empfohlene nächste Schritte

Nach der erfolgreichen PHP-Installation auf Ubuntu können Sie folgende Themen weiter vertiefen:

  • Einrichtung von MySQL (MariaDB) und Datenbankanbindung
  • Installation und Einrichtung von WordPress
  • Einbindung von PHP-Frameworks wie Laravel
  • Aktivierung von HTTPS mit SSL-Zertifikaten (Let’s Encrypt)
  • Verwaltung von Diensten mit systemd (z.B. automatischer Neustart)

Mit diesen Kenntnissen können Sie professionelle Webanwendungen und Services auf Basis von Ubuntu und PHP entwickeln. Nutzen Sie diesen Leitfaden als Ausgangspunkt für Ihre Praxis!

10. Häufig gestellte Fragen (FAQ)

Im Folgenden finden Sie häufig gestellte Fragen und Antworten zur PHP-Installation und -Konfiguration unter Ubuntu. Die Tipps sind so einfach wie möglich gehalten und orientieren sich an typischen Suchanfragen.

Q1. Wie installiere ich die neueste PHP-Version unter Ubuntu?

A1.
Die Standard-Repositories von Ubuntu bieten nicht immer die aktuellste PHP-Version. Fügen Sie das zuverlässige PPA ondrej/php hinzu und installieren Sie die gewünschte Version gezielt.

sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2

Q2. Wie kann ich die PHP-Version auf der Kommandozeile wechseln?

A2.
Mit update-alternatives können Sie bei mehreren installierten Versionen ganz einfach umschalten.

sudo update-alternatives --config php

Wählen Sie die gewünschte Version aus der Liste aus.

Q3. Unter Apache werden PHP-Dateien nicht ausgeführt, sondern angezeigt.

A3.
Wahrscheinlich ist das PHP-Modul für Apache nicht installiert oder aktiviert. Installieren und aktivieren Sie libapache2-mod-php und starten Sie Apache neu.

sudo apt install libapache2-mod-php
sudo systemctl restart apache2

Q4. Wo finde ich die PHP-Konfigurationsdatei (php.ini)?

A4.
Die Konfigurationsdatei variiert je nach Einsatzgebiet. Übliche Pfade sind:

  • Für Apache: /etc/php/8.2/apache2/php.ini
  • Für CLI: /etc/php/8.2/cli/php.ini

Die Versionsnummer (z.B. „8.2“) passt sich entsprechend an.

Q5. Wie aktiviere ich ein PHP-Modul?

A5.
Nutzen Sie nach der Installation phpenmod zum Aktivieren des Moduls.

sudo phpenmod mbstring
sudo systemctl restart apache2

Vergessen Sie nicht, danach den Webserver neu zu starten.

Q6. PHP funktioniert unter Nginx nicht. Worauf muss ich achten?

A6.
Nginx benötigt php-fpm für PHP. Prüfen Sie, ob fastcgi_pass korrekt in der Konfigurationsdatei gesetzt ist.

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

Passen Sie die .sock-Angabe ggf. an Ihre PHP-Version an.

Q7. Warum werden PHP-Fehler nicht angezeigt?

A7.
Vermutlich ist in der php.ini display_errors = Off gesetzt. Aktivieren Sie die Fehlerausgabe für die Entwicklung wie folgt:

display_errors = On
error_reporting = E_ALL

Nach Änderungen starten Sie den Webserver bitte neu.

Mit diesem FAQ sind Sie für die häufigsten Fragen und Probleme rund um PHP unter Ubuntu gut gerüstet!