---
title: nginx unter Debian installieren - PHP
canonical: "https://pascalebeier.de/nginx-unter-debian-installieren-php"
pubDate: "2012-09-29T11:43:51.000Z"
author: Pascale Beier
description: PHP auf nginx installieren und konfigurieren - auf einem Debian-System.
tags: [debian, linux, php]
categories: [Software]
---

Im ersten Artikel [über die Installation von nginx unter Debian](http://pascalebeier.de/nginx-unter-debian-installieren-und-einrichten/ 'nginx unter Debian installieren und einrichten') haben wir den nginx Webserver erfolgreich installiert und können nun statische Dateien auf dem Webserver speichern. Dieser Artikel setzt nun da an, wo der erste Artikel endete - **Mit der Einrichtung von PHP unter nginx**, damit Webanwendung wie Wordpress installiert werden können. <!--more-->

## Voraussetzungen

_D\_\_ies ist der zweite Teil des Tutorials um nginx. Ich setze folgenden Artikel als gelesen und umgesetzt voraus:_

1. [nginx auf Debian installieren](http://pascalebeier.de/nginx-unter-debian-installieren-und-einrichten/ 'nginx unter Debian installieren') / [nginx auf Ubuntu installieren](http://pascalebeier.de/nginx-auf-ubuntu-installieren/ 'Nginx auf Ubuntu installieren')

Wir fangen damit an, **PHP auf unserem nginx Webserver zu installieren.** Das gestaltet sich denkbar einfach, denn wir haben im ersten Teil ja bereits das dotdeb.org - Paketverzeichnis benutzt, um nginx zu installieren - und über eben dieses Paketverzeichnis können wir auch PHP installieren. Wir verbinden uns wieder mit unserem SSH-Client oder Terminal und führen folgenden Befehl aus, um PHP zu installieren: `apt-get install php5-fpm` Dadurch wird das Paket PHP5-FPM aus dem dotdeb.org - Paketverzeichnis heruntergeladen und installiert. Was ist PHP5-FPM? PHP5-FPM ist die Implementierung von PHP, die wir zusammen mit nginx verwenden. PHP5-FPM steht dabei für PHP5 - FastCGI-Process-Manager und ist grob gesagt ein eigener Dienst neben nginx, der auf einem anderen Port läuft. Mit folgendem Befehl müssen wir den PHP-Prozess starten: `/etc/init.d/php5-fpm restart` Im folgenden richten wir PHP5-FPM so ein, dass er die PHP-Dateien für nginx bearbeitet.

## nginx für PHP anpassen

Jetzt müssen wir nginx noch so konfigurieren, dass es alle angeforderten PHP-Dateien an PHP5-FPM weiterleitet. Dazu öffnen wir die `/etc/nginx/sites-available/default`: `nano /etc/nginx/sites-available/default` und suchen folgende Stelle:

```nginx
#       location ~ .php$ {
        #       fastcgi_split_path_info ^(.+.php)(/.+)$;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #       # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
        #       fastcgi_pass unix:/var/run/php5-fpm.sock;
        #       fastcgi_index index.php;
        #       include fastcgi_params;
        #       }
```

Nun passen wir diese Stelle folgendermaßen an:

```nginx
location ~ .php$ {
                fastcgi_split_path_info ^(.+.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
```

Nun sagen wir nginx, dass er nun die index.php - Dateien standartmäßig aufruft, wenn ein Verzeichnis aufgerufen wird. Dazu ändern wir in der selben Datei

```nginx
root /usr/share/nginx/www;
index index.html index.htm;
```

zu

```nginx
root /usr/share/nginx/www;
index index.php;
```

Das war's schon. Jetzt speichern wir die Datei mit **STRG + O** und laden die Konfiguration von nginx mit folgendem Befehl neu: `/etc/init.d/nginx force-reload` Der Befehl hat verglichen mit den Befehl, nginx neuzustarten (`/etc/init.d/nginx restart`) den Vorteil, dass der Webserver nicht ganz neugestartet wird und somit auch kein Ausfall durch das stoppen, herunterfahren und starten vorhanden ist. Wenn allerdings ein Fehler beim Konfigurieren gemacht wird, funktioniert nginx auch nach einem `force-reload` nicht mehr. Deshalb sollte man alle Änderungen kleinschrittig vornehmen, damit man direkt weiß, was man falsch gemacht hat.

## Testen, ob PHP erfolgreich installiert ist

Um zu überprüfen, ob PHP tatsächlich installiert ist, erstellen wir testweise eine index.php - Datei in dem Ordner `/usr/share/nginx/www/`. Das machen wir mit folgendem Befehl: `nano /usr/share/nginx/www/index.php` Nun öffnet sich eine leere Datei. Wir tragen folgendes ein: `<?php phpinfo(); ?>` Wir speichern die Datei mit STRG + O und rufen unsere Domain, unsere IP - Adresse oder unseren Hostname auf. Falls nun so etwas erscheint: Habt ihr alles richtig gemacht. Falls Ihr eine weiße Seite mit einer Fehlermeldung erhaltet, habt ihr etwas falsch gemacht. [Du kannst nun weitermachen, und Wordpress auf nginx installieren!](http://pascalebeier.de/wordpress-auf-nginx-installieren/ 'WordPress auf nginx installieren') **Schreibt in den Kommentaren, damit ich euch helfen kann!**

### Codeschnipsel:

##### Nginx - stoppen:

/etc/init.d/nginx stop

##### Nginx - starten:

/etc/init.d/nginx start

##### Nginx - Neustarten:

/etc/init.d/nginx restart

##### Nginx - Config-Dateien neuladen:

/etc/init.d/nginx force-reload

##### PHP-FPM:

##### Starten:

/etc/init.d/php5-fpm start

##### Stoppen:

/etc/init.d/php5-fpm stop

##### Neustarten:

/etc/init.d/php5-fpm restart
