.htaccess in Apache aktivieren: AllowOverride

AllowOverride .htaccessMir 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

10 Gedanken zu „.htaccess in Apache aktivieren: AllowOverride“

  1. 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

  2. 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
    }
    }

  3. 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ß

    1. Hallo,
      die „…“ dienen nur als „Platzhalter“ und sollten natürlich nicht mit in die Konfiguration übernommen werden.

      Gruß
      Willy

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert