WordPress unleashed: LEMP Stack

NGINX

Als erstes installieren wir den Webserver. Zum Einsatz kommt Nginx. Wir werden die NAXSI Variante installieren, damit wir später beim Absichern des Systems, eine Web Application Firewall (WAF) einrichten können.

Nun den Vhost für FPM einrichten, indem man die Datei /etc/nginx/sites-available/wordpress.fpm mit folgendem Inhalt anlegt. Dabei muss die IP angepasst werden:

Der Vhost für HHVM, bei dem die IP ebenfalls angepasst werden muss, in der Datei /etc/nginx/sites-available/wordpress.hhvm hat den Inhalt

Danach verlinken wir die beiden Vhosts nach /etc/nginx/sites-enabled/, um die Konfigurationen zu aktivieren

Ordner und User

Als erstes legen wir die notwendigen Ordner an

Der dazugehörige User wird beim Anlegen gleich in die www-data Gruppe einsortiert und eine invalide Shell gegeben

Das Passwort, mit dem wir die Dateien mittels SFTP übertragen werden wird folgendermaßen gesetzt

Im Anschluss korrigieren wir die Dateirechte. Dabei ist es wichtig, dass der Ordner chown -R wordpress:www-data /var/www/wordpress/* weiterhin dem Root Account gehört.

Dateiübertragungen werden mittels SFTP, getätigt. Damit entfällt die Notwendigkeit, einen FTP Server zu installieren. Jedoch muss der SSH Deamon in der /etc/ssh/sshd_config konfiguriert werden, damit der User in seinem Verzeichnis eingesperrt ist. Dort tragen wir ganz am Ende ein

Es ist wichtig, das nach dem Match User Block keine weitere Einstellungen mehr kommen!

Damit die Änderungen ziehen, starten wir den SSH2 Server neu

Falls beim Neustart folgender Fehler auftritt
/etc/ssh/sshd_config line 89: Subsystem 'sftp' already defined.
muss noch folgender Eintrag auskommentiert werden

Nun sollte es möglich sein, sich mittels Filezilla, oder WinSCP zu verbinden. Filezilla wäre so ähnlich zu konfigurieren
filezilla_sftp_wordpress

PHP-FPM

Damit wir eine Referenz haben, installieren wir PHP5-FPM

Danach konfigurieren wir die /etc/php5/fpm/pool.d/www.conf
user = wordpress
group = www-data
listen = /var/run/php5-fpm.sock
listen.owner = wordpress
listen.group = www-data
php_admin_value[memory_limit] = 128M

und starten PHP-FPM neu

HHVM

Auf der Github Seite des HHVM Projekts befindet sich eine Anleitung zum Installieren fertiger Debian Pakete. Die Arbeitsschritte sind

Anders, als bei den meisten Tutorials, verbinden wir mit dem Nginx gegen einen Socket. Falls noch nicht vorhanden, legen den Ordner für den Socket an:

Danach bearbeiten wir die /etc/hhvm/server.ini. Dabei tragen wir den Socket ein und kommentieren den Port aus. Ebenso verlagern wir den Pfad vom Repo:

MySQL / MariaDB

An Stelle von MySQL setze ich auf das Drop In Replacement MariaDB. Diese ist in der Version zu 100% kompatibel mit MySQL. Das bedeutet, dass ich nur ein anderes Paket installiere, der Rest, aber wie bekannt abläuft. Eine große Distribution, die MySQL bereits zu Gunsten von MariaDB ersetzt hat, ist RedHat.

Die Installation läuft wie folgt ab


Weiter geht es mit WordPress unleashed: Datenbank + WordPress

Alle Teile dieser Serie

Ein Gedanke zu “WordPress unleashed: LEMP Stack

  1. Sehr Informativer Artikel!
    Leider muss man bei Debian 8 Naxsi selbst kompilieren da es aus der main dist geflogen ist.

Die Kommentarfunktion ist deaktiviert.