Wechseln zu: Navigation, Inhalt, Suche

Permalink

0

HowTo: Nginx mit PHP5-FPM, MySQL und PostgreSQL unter Debian Squeeze installieren

Bei einem vServer kann man selbst wählen, welchen Webserver und welche Datenbanksysteme man verwenden möchte. Ich habe mich daher für Nginx mit PHP5-FPM, sowie MySQL und PostgreSQL entschieden. Um dies alles auf einem Server mit 256 MB RAM zu betreiben sind dann allerdings noch ein paar Modifikationen notwendig.

Bild von Aleks Dorohovich auf Unsplash, lizenziert unter CC0 1.0

Bild von Aleks Dorohovich auf Unsplash, lizenziert unter CC0 1.0

Zuerst werden die nicht benötigten Pakete entfernt:

Dann kann man die Paketquellen und Schlüssel hinzufügen:

Anschließend werden die Pakete installiert, wobei PHP-Module natürlich auch später noch nachinstalliert werden können:

PostgreSQL einrichten

Als erstes meldet man sich mit dem Systembenutzer postgres bei PostgreSQL an und vergibt für den Datenbankbenutzer postgres ein Passwort:

Die PostgreSQL-Umgebung kann man anschließend mit \q verlassen. Nun wird festgelegt, wer auf die Datenbanken zugreifen kann:

Zudem empfiehlt es sich, die Puffer-Größe anzupassen, sodass sie zum verfügbaren Arbeitsspeicher passt:

MySQL einrichten

Während der Installation des MySQL-Servers hat man bereits das Passwort des root-Nutzers festgelegt. Es empfiehlt sich außerdem, die Sicherheit der Installation zu verbessern, in dem man mysql_secure_installation ausführt:

Basierend auf /usr/share/doc/mysql-server-5.5/examples/my-medium.cnf.gz habe ich für MySQL dann die folgende Konfiguration eingerichtet:

Um Arbeitsspeicher zu sparen, habe ich dabei unter anderem die Storage-Engine InnoDB deaktiviert. Anschließend kann man alle Dienste neustarten, an denen man Modifikationen durchgeführt hat:

PHP-FPM einrichten

Ist anschließend die RAM Nutzung zu hoch, so kann man die Voreinstellungen von PHP-FPM noch modifizieren:

Danach ist es wieder notwendig, den Dienst neuzustarten:

Nginx einrichten

Die Einstellungen in der Server-Konfigurationsdatei nginx.conf sind die Grundlage für die namensbasierten Virtual Hosts. Ich habe mich hierbei an diesem Artikel von Sergej Müller orientiert:

Anschließend kann man pro Domain oder Subdomain jeweils einen eigenen Document-Root-Ordner und eigene Konfigurationen anlegen:

Im Verzeichnis sites-available legt man die Virtual-Host-Konfigurationen an und legt dann einen symbolischen Link darauf in sites-enabled an:

Dies hat den Vorteil, dass man einzelne Konfigurationen aktivieren und deaktivieren kann:

Exemplarische Virtual-Host-Konfigurationen

Im folgenden ein paar einfache Konfigurationsbeispiele:

Zur Aktivierung von IPv6 kommentiert man einfach die Listen-Direktiven mit ipv6only=on ein. Nach einem Neustart von Nginx sollte die Seite dann unter der entsprechenden Domain verfügbar sein:

Hat man die Virtual-Host-Konfiguration abgeschlossen, so kann man sofort loslegen und Dateien in den Document-Root-Ordner legen oder beispielsweise eine Datenbank in MySQL anlegen und WordPress konfigurieren.

Links

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert. Bitte beachten Sie meine Datenschutzerklärung.