Webserver · 4 min read · Jan 23, 2026

PHP 5.3, Nginx und PHP-fpm auf Ubuntu/Debian installieren

PHP 5.3, Nginx und PHP-fpm auf Ubuntu/Debian installieren

Version 1.1
Folge mir auf Twitter

Da Apache meistens ein speicherhungriger Prozess ist, begannen die Leute, nach anderen Möglichkeiten zu suchen, ihre Website zu hosten. Apache ist eindeutig nicht der einzige verfügbare Webserver. Einige gute Beispiele sind lighttpd und nginx. In diesem Tutorial zeige ich dir, wie du es auf deinem Ubuntu-Server installieren kannst. Dieses Tutorial gilt jedoch auch für Debian. Es gibt nur einen sehr kleinen Unterschied.

Bereit? Lass uns anfangen, oder?

Schritt 0 - Vorbemerkungen

Um dieses Tutorial abzuschließen, gehe ich davon aus, dass du ein Basissystem von Debian oder Ubuntu installiert hast. Wie dies geschehen kann, kann in verschiedenen Tutorials nachgelesen werden. Dieses Tutorial konzentriert sich nur darauf, nginx+php ohne viel Aufwand zum Laufen zu bringen.

Schritt 1 - Nginx

Nginx zu installieren ist der erste Schritt, den wir tun müssen. Dies kann einfach durch Herunterladen aus dem Repository erfolgen.

sudo apt-get install nginx

Der Standard-vhost muss geändert werden, um ordnungsgemäß zu funktionieren.

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

Ein schöner Ausgangspunkt für deine Konfiguration ist:

server {
    listen   80;
    server_name  localhost;
    access_log  /var/log/nginx/localhost.access.log;

## Standardstandort
    location / {
        root   /var/www;
        index  index.php;
    }

## Bilder und statische Inhalte werden anders behandelt
    location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
      access_log        off;
      expires           30d;
      root /var/www;
    }

## Alle .php-Dateien im Verzeichnis /var/www parsen
    location ~ .php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_pass   backend;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param  QUERY_STRING     $query_string;
        fastcgi_param  REQUEST_METHOD   $request_method;
        fastcgi_param  CONTENT_TYPE     $content_type;
        fastcgi_param  CONTENT_LENGTH   $content_length;
        fastcgi_intercept_errors        on;
        fastcgi_ignore_client_abort     off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }

## Anzeige von .htaccess & .htpassword deaktivieren
    location ~ \/\.ht {
        deny  all;
    }
}  
upstream backend {  
        server 127.0.0.1:9000;  
}  
 

Ok, das haben wir erledigt. Jetzt installieren wir die benötigten Dateien für PHP.

Schritt 2 - PHP installieren

Viele Websites sind auf PHP angewiesen, um ihnen dynamische Inhalte bereitzustellen, sei es ein Wiki, Forensoftware, ein Weblog oder etwas ganz anderes.

Wenn du Ubuntu verwendest, müssen wir zuerst zwei Abhängigkeiten für die dotdeb-Pakete lösen. Wenn du die amd64-Version verwendest, solltest du i386 durch amd64 ersetzen.

Für Debian musst du dies nicht tun!

cd /tmp
wget http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb
wget http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.deb
sudo dpkg -i *.deb

Wiederum ist dies nur erforderlich, wenn du Ubuntu verwendest.

Der Rest des Tutorials gilt sowohl für Ubuntu als auch für Debian.

Wir müssen das dotdeb-Repository zu den APT-Quellen hinzufügen, damit wir deren verpacktes PHP 5.3 und php-fpm verwenden können:

sudo echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list

APT aktualisieren:

sudo apt-get update

Der resultierende Text sollte dotdeb enthalten.

Jetzt installieren wir PHP (Teil 1):

sudo apt-get install php5-cli php5-common php5-suhosin

Wir müssen die CLI vor dem Rest installieren, da dies später Probleme verursachen kann.

sudo apt-get install php5-fpm php5-cgi

Wenn du planst, eine Datenbank zu verwenden oder spezifische Module (mcrypt, ldap, snmp usw.) benötigst, kannst du diese ebenfalls installieren.

Ok, jetzt haben wir nginx und PHP.

Eine kleine Anmerkung: Wenn du “php short tags” (

Schritt 3 - Finalisierung

Starte nginx neu, um die Konfigurationsänderungen, die wir zuvor vorgenommen haben, zu übernehmen.

sudo /etc/init.d/nginx restart

Der Neustart sollte ohne Probleme verlaufen sein.

Nach der Installation von php5-fpm sollte es gestartet worden sein. Wenn du deine php.ini-Dateien geändert hast, musst du php5-fpm neu starten.

sudo /etc/init.d/php5-fpm restart

Alles klar. Sie sollten jetzt beide laufen.

Schritt 4 - Testen

Um zu testen, ob die Ausführung von PHP funktioniert, erstelle eine index.php-Datei in /var/www mit folgendem Inhalt:

Besuche deinen Webserver und du solltest die generierte phpinfo sehen können. Wenn nicht, ist etwas schiefgegangen.

Schritt 5 - Fehlersuche & abschließende Hinweise

Wenn du die phpinfo nicht gesehen hast, könnte etwas nicht stimmen. Um herauszufinden, was schiefgegangen ist, kannst du das nginx-Fehlerprotokoll überprüfen:

sudo tail /var/log/nginx/error.log

Denke daran, wenn du deine php.ini geändert hast, musst du php5-fpm neu starten. Einen Neustart von nginx ist nicht notwendig.

In meiner Beispielkonfiguration habe ich die FastCGI-Fehlerinterzeption aktiviert. Wenn ein schwerwiegender Fehler auftritt (zum Beispiel ein “cannot redeclare class xyz”), kann nginx diese Seite abfangen und eine “schöne” Fehlerseite anzeigen, dass etwas schiefgegangen ist. Auf diese Weise werden weniger Informationen preisgegeben, falls etwas ernsthaft schiefgeht.

Wenn dir das nicht gefällt, kannst du es ausschalten.

Wenn php5-fpm nicht läuft, können deine PHP-Dateien nicht geparst werden und nginx zeigt dem Benutzer eine Fehlerseite an.

Nun, ich denke, wir sind fertig und du bist jetzt in der Lage, PHP mit deinem neuen nginx-basierten Webserver bereitzustellen. Nginx ist ziemlich nett und du kannst viel konfigurieren. Wenn du Umschreibungen benötigst, sei dir bewusst, dass nginx nicht mit .htaccess-Dateien funktioniert. Du musst deine vhost-Einstellungen ändern, damit die Umschreibungen funktionieren.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.