Mir ist auf meinem Raspberry Pi mit Apache2 Webserver aufgefallen, dass der Passwortschutz via .htaccess und .htpasswd nicht funktioniert. Auch andere Einstellungen in der .htaccess wurden nicht angewandt und das Verhalten blieb unverändert. Eine Recherche brachte mich auf den richtigen Pfad.
Problem: AllowOverride
Grund, dass Einstellungen in der .htaccess zu nichts führten, war die AllowOverride Einstellung in der Apache2 Config. Diese Einstellung ist für gewöhnlich deaktiviert, muss aber aktiviert sein, damit .htaccess-Dateien funktionieren und ausgeführt werden.
Um diese Option zu aktivieren, muss die Apache2 Config angepasst werden.
sudo nano /etc/apache2/sites-available/default
In dieser Datei muss nun lediglich der AllowOverride Eintrag von „None“ auf „All“ geändert werden. AllowOverride ist nur in <Directory>-Abschnitten gültig.
<Directory /var/www/> ... AllowOverride All ... </Directory>
Apache2 neuladen und schon funktionieren .htaccess und .htpasswd-Dateien wieder.
sudo /etc/init.d/apache2 reload
Funktioniert super, vielen Dank!
Hat Funktioniert.
Danke
kleiner Hinweis, da ich länger gebraucht hab um es selbst herauszufinden:
bei verwenden von https also ssl verschlüsselung muss die entsprechende default_ssl.confg bearteitet werden sonst wird trotz Einrichtung kein Passwort verlangt.
liebe grüße Moritz
Läuft bestens, danke dir! 🙂
Als kleiner Nachtrag,die Änderung muss mittlerweile in /etc/apache2/apache2.conf gemacht werden. Danke für den Tipp Willy 😉
<<Änderung muss mittlerweile in /etc/apache2/apache2.conf gemacht werden.
Danke Kohta , diese Info habe ich ich gebraucht.
so ginge es für nginx (nur für picontrol)
$ cat sites-enabled/ssl
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/ssl/nginx-cacert.crt; # path to your cacert.crt
ssl_certificate_key /etc/nginx/ssl/nginx.key; # path to your privkey.key
root /var/www/;
index index.html index.htm index.php;
server_name …..myfritz.net; # was localhost
location / {
try_files $uri $uri/ /index.html;
}
location ~ ^(.+\.php)(.*) {
….
}
…
## Ab hier ##
location /picontrol {
auth_basic „“;
auth_basic_user_file /var/www/picontrol/.htpasswd;
deny all; # nicht nötig
satisfy any; # nicht nötig
}
}
Hallöchen, bei mir geht es nur wenn im Abschnitt:
…
AllowOverride All
…
die … weg gemacht werden, also:
AllowOverride All
Ansonsten startet mein Apache mit einer Fehlermeldung neu.
Gruß
Hallo,
die „…“ dienen nur als „Platzhalter“ und sollten natürlich nicht mit in die Konfiguration übernommen werden.
Gruß
Willy
Danke!!