Diese Anleitung zeigt euch, wie ihr mit Nginx einen Passwortschutz / htaccess für eure gesamte Webseite bzw. für einzelne Unterseiten einrichten könnt.
1. htpasswd erzeugen
Am einfachsten könnt ihr die Datei mit Boardmitteln erzeugen. Dazu gebt ihr folgendes in die Konsole ein.
sh -c "echo -n 'Benutzer:' >> /etc/nginx/.htpasswd" "Benutzer:" ist der Name. Kann frei gewählt werden. Der Doppelpunkt danach muss eingetragen werden !! /etc/nginx/.htpasswd ist der Speicherort der Datei. Kann frei gewählt werden.
Nun lässt ihr euch zu eurem Benutzer ein Passwort in die Datei schreiben.
sh -c "openssl passwd -apr1 >> /etc/nginx/.htpasswd"
Im Dialog werdet ihr nun nach eurem Passwort gefragt.
Nun könnt ihr euch eure “.htpasswd” Datei anzeigen lassen und schauen, wie sie aussieht.
cat /etc/nginx/.htpasswd
Bei mir sieht dies so aus.
2. Nginx Konfiguration anpassen
Nun öffnet ihr die Nginx Konfiguration.
nano /etc/nginx/sites-enabled/default
Darin solltet ihr sowas ähnliches sehen.
Nun habt ihr 2 Möglichkeiten. Ihr könnt eure komplette Webseite mit einem Passwort schützen oder nur einen Teilbereich.
2.1 Komplette Webseite schützen
Dazu schreibt ihr folgende Befehle in die Konfiguration.
#Schützt eure direkte Domain location = / {auth_basic "Privater Bereich"; auth_basic_user_file /etc/nginx/.htpasswd; } #Schützt alle Subdomains location / { auth_basic "Privater Bereich"; auth_basic_user_file /etc/nginx/.htpasswd; }
2.2 Einzelne Webseite schützen
Dazu fügt ihr folgendes in die Konfiguration ein. Dieser Code schützt NUR die Unterseite “munin”. Kann in jede andere Seite abgeändert werden.
#Schützt NUR die Unterseite "munin" location /munin {auth_basic "Privater Bereich"; auth_basic_user_file /etc/nginx/.htpasswd; }
Zum Schluss müsst ihr bei Nginx noch einen Reload durchführen.
service nginx reload
Nun solltet ihr folgendes auf eurer Homepage sehen:
Danke dir für das sehr verständliche Tutorial und ein frohes Fest!