Installation

sudo apt-get install nginx

Konfiguration

Die Konfiguration des Servers findet in der Datei /etc/nginx/nginx.conf statt, sollte jedoch ohne Änderungen OK sein.

Die Konfiguration der vHosts findet in der Datei /etc/nginx/sites-enabled/default statt. Folgende Zeilen wurden geändert/einkommentiert, damit sie nun so aussehen:

root /var/www; # document root
listen 80; # ipv4
listen [::]:80 default_server ipv6only=on; # ipv6
server_name cubian; # server name

Soll der Server auch über https erreichbar sein, muss der untere server-Block mit "listen 443" einkommentiert werden und die obigen Änderungen auch dort eingetragen werden. Eine komplette & funktionierende Datei findet sich im Tutorial zu ownCloud bzw. Nextcloud.

Bei den Einträgen zu der Zertifikaten (PEM und KEY) können Pfade zu eigenen Zertifikaten angegeben werden oder jene verwendet werden, die Debian/Cubian standardmäßig enthalten (/etc/ssl/certs/ssl-cert-snakeoil.pem und /etc/ssl/private/ssl-cert-snakeoil.key).

Passwortschutz

Mit einfachen Mitteln können Verzeichnisse bzw. die gesamte Installation mit einem oder mehreren Passwörtern versehen werden.

Dazu wird in der Datei /etc/nginx/sites-enabled/default im Abschnitt server der folgende Block eingefügt bzw. ergänzt:

location / {
    auth_basic "Text";
    auth_basic_user_file conf.d/htpasswd;
}

Mit auth_basic kann ein Text angegeben werde, der dem Benutzer bei der Passwortabfrage angezeigt wird.
Mit auth_basic_user_file wird angegeben, wo sich die Datei mit den Zugangsdaten befindet (im obigen Fall unter /etc/nginx/conf.d/htpasswd). Diese Datei muss nun noch erstellt werden und pro Zeile jeweils Benutzer/Passwort eingetragen werden. Benutzer/Passwort kann entweder auf der Kommandozeile mit htpasswd -n username erstellt werden , falls das Programm nicht verfügbar ist, kann auch ein Online-Htpasswd-Generator verwendet werden.
Danach muss nginx noch mit service nginx restart neu gestartet werden.