.htaccess Fehlermeldung

  • Hi Leute,


    würde gerne einen Bereich meiner Website auf dem Qnap mit einem Login Schutz versehen.


    Habe eine .htaccess und eine .htpasswd erstellt und in den Ordner member abgelegt. Wenn ich nun pene dyndns Adresse eingebe und den Ordner hinten dranhänge, komm das Login Fenster und ich kann/muss mich einloggen. NAch dem Login bekomme ich folgende Fehlermeldung:


    Code
    Internal Server Error
    
    
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    
    
    Please contact the server administrator, admin@NAS and inform them of the time the error occurred, and anything you might have done that may have caused the error.
    
    
    More information about this error may be available in the server error log.


    Weiß jemand woran das liegt?

  • Hallo Krejci,


    poste doch mal bitte die .htaccess. Zu 99,9% liegt die Ursache in einer fehlerhaften oder unvollständigen Apache-Rule.



    Gruß vom subitus

  • Ordnerstruktur ist: /web/member


    Apache Configuration
    AuthUserFile /web/member/.htpasswd
    AuthGroupFile /dev/null
    AuthName "MyLogin"
    AuthType Basic
    <Limit GET>
    require valid-user
    </Limit>
  • Zitat von "Krejci"

    Ordnerstruktur ist: /web/member

    Bist du dir sicher, dass du den absoluten Pfad /web/... meinst und nicht einen relativen Pfad? Bei mir liegt der htdocs-Ordner in /share/Web.


    Ich denke, Apache findet die Datei .htpasswd nicht: Zunächst wird vom Apache das Login-Request erzeugt und dann wird versucht, die eingegebenen Login-Daten mit denen in der Passwort-Datei abzugleichen. Da diese fehlt, wird eine Fehlermeldung ausgegeben, da die Serveranfrage nicht komplettiert werden kann.


    Tipp: Wenn du viel mit .htaccess arbeitest, empfiehlt es sich, den Apache-Log zu aktivieren und auf Level warn zu stellen. Obiges Problem würde dann mit der eindeutigen Fehlermeldung "Kann Datei .htpasswd nicht finden." o.ä. protokolliert.



    Gruß vom subitus

  • Hallo,


    der Freigabeordner Web liegt im Linux-Dateisystem unter /share/Web. Apache kennt aber keine SMB-Freigabeordner, sondern greift direkt auf das Linux-Dateisystem unter Verwendung des Dateisystempfades zu. Pfade, die mit / anfangen, sind immer absolute Pfade, bezogen auf den Dateisystem-Root. Leider verwirrt das Admin-Interface an manchen Stellen, da hier der Wurzel / die Wurzel der Freigabeordner meint.


    Versuche also mal dies:

    Apache Configuration
    AuthUserFile /share/Web/member/.htpasswdAuthGroupFile /dev/nullAuthName "MyLogin"AuthType Basic<Limit GET>require valid-user</Limit>


    Auf Groß-/Kleinschreibung achten!



    Es wird der absolute Pfad aus Dateisystemsicht benutzt - du könntest (nein: solltest) die Datei .htpasswd außerhalb des Web-Roots speichern. In jedem Verzeichnis, in dem eine .htpasswd liegt, sollte mindestens eine .htaccess erstellt werden, welche die Rule

    Code
    <Files .ht*>
       deny from all
    </Files>

    enthält, damit die Datei .htpasswd nicht versehentlich über den Browser ausgeliefert wird. Erfreulicherweise enthält die Apache-Konfiguration diese Rule bereits, aber sicher ist sicher.


    Es wird empfohlen, Passwort-Dateien außerhalb des Web-Roots (htdocs) abzulegen. Leider ist die Standard-QNAP-Apache-Konfiguration nicht sehr praxistauglich, da der Freigabeordner bereits der Web-Root ist. Ich habe meinen Web-Root. nach /share/Web/htdocs verschoben und somit unter /share/Web/ die Möglichkeit, Unterverzeichnisse anzulegen, die bspw. Logs, Download-Content, Datenbanksicherungen und auch Passwort-Dateien enthalten, welche nicht direkt über den Browser (sondern nur über Skripte) abrufbar sind.



    BTW: um den Apache-Log zu aktivieren, müsste man sich per SSH auf das NAS einloggen.



    Gruß vom subitus

  • subitus: Danke, das mit dem share Ordner habe ich nicht gewusst. Jetzt läuft es erstmal soweit. Werde jetzt mal ein wenig rumexperimentieren, aber ich denke, im Groben, habe ich es so wie ich es wollte!


    Danke

  • Keine Ursache, dafür ist das Forum ja da :)


    Viel Spaß beim Experimentieren!



    Gruß vom subitus