Beiträge

NGINX Installation Debian

Nginx Installation auf Debian Jessie


Einführung

Neben dem Apache Webserver der lange Zeit die unangefochtene Nummer Eins der Webserver war, gelang es NGINX (ausgesprochen wie englisches „engine-ex“) Aufgrund seines niedrigen Ressourcenverbauchs, sowie der Möglichkeit ihn als Reverse Proxy oder gar als Load Balancer zu nutzen immer weiter nach Vorne zu rücken. Gerade bei Dynamischen Webanwendungen, wie z.B. WordPress, Joomla oder Drupal ist er nicht nur besonders schnell, sondern auch Ressourcen sparend.

Apt-Get Update

Die Pakete sollten zuallererst neu synchronisiert werden. Die geht mit einem einfachen Befehl:

MySql Installation

Da der MySQL-Server zu den gängigsten Servern in Verbindung mit PHP gehört, installieren wir ihn gleich mit:

Nun kommt die Abfrage nach einem Kennwort für den root Benutzer, hier sollte ein entsprechend sicheres Kennwort gewählt werden.
Nach dem Dialog widmen wir uns noch ein paar Sicherheitseinstellungen:

Bei der Nachfrage, ob das Root Kennwort geändert werden soll, nein auswählen. Alle weiteren Abfragen mit “ja” bestätigt werden.

NGINX Installation

Wir müssen zunächst eine neue Paketquelle angeben. Glücklicherweise hat NGINX hier schon was im Angebot:

Stable

Einfügen der neuen Quellen

Die sources.list wird um die Einträge ergänzt

Installation NGINX

Mainline mit HTTP/2 Unterstützung

Die sources.list wird um die Einträge ergänzt

Installation NGINX

Start des Dienstes

Konfiguration

Bei der Standardinstallation liegt die Konfiguration im Verzeichnis

Ein paar kleine Anpassungen wurden von mir in der Datei vorgenommen

Optional Anlegen neuer Verzeichnisse für Virtuelle Hosts

Bei Rootservern bzw. Webservern im öffentlichen Netz, sollte immer server_tokens off; verwendet werden. Dieser Wert verhindert die Anzeige der eingesetzten NGINX-Version. Wenn wir uns die letzten Zeilen betrachten, so finden wir /etc/nginx/sites-enabled/*;. Ich würde empfehlen den Ordner entsprechend anzulegen, dies bewahrt den Überblick bei der Angabe von virtuellen Hosts.

Die Standardseite lauscht auf Port 80.

Die Konfiguration ist Standard mit Ausnahme des PHP teils, dazu aber später mehr. Hiermit sollte es schon möglich sein, sich die Beispielseite im Browser anzeigen zu lassen. Einfach die IP-Adresse des Servers in den Browser eingeben: http://IPadresse

Hat man alles richtig gemacht, so wird man gleich mit den Begrüßungsbildschirm von NGINX begrüßt.

nginx

Welcome to NGINX

Installation und Konfiguration von PHP

Nun müssen wir in der PHP.ini eine kleine Änderung vornehmen

Ändern von cgi.fix_pathinfo=1 von 1 auf 0

Dies ist eine Sicherheitseinstellung die verhindert, dass der PHP-Interpreter der CGI-Pfade direkt anspricht.

Nun wechseln in das Verzeichnis

und editieren die .conf Dateien

hier suchen wir nach listen = und passen die Einträge an

Wir könnten an der Stelle entscheiden, ob wir PHP über Sockets betreiben oder nicht. Ich habe mich der Einfachheit halber dagegen entschieden, da unsere default.conf bereits entspechend dafür angepasst ist.

Für die Ausführbarkeit von PHP-Skripten wäre es noch sinnvoll die Rechte des Verzeichnisses anzupassen.

Neustart von PHP

Erstellen einer PHPinfo Seite

Um die PHP-Konfiguration zu testen, legen wir uns eine neue Datei an

und fügen folgenden Inhalt ein

Zuletzt starten wir den Dienst durch