.htaccess verursacht Internal Server Error 500

  • Hallo QNAP Gemeinde,
    ich habe gerade einen TS-201 erworben und möchte damit unter anderem eine simple Website hosten, die aber mit passwortgeschützt sein soll.


    Ich habe darum die Dateien .htaccess und .htpasswd gebastelt und zunächst direkt in das Qweb Verzeichnis gestellt (um die Sache nicht zu verkomplizieren).
    Dabei habe ich mich an den vielen Beispielen hier im Forum orientiert.


    Die .htaccess wurde aber ignoriert. Ich habe darum per Telnet (wie hier im Forum beschrieben) die apache.conf angepasst in dem ich den Wert "AllowOverride" von "None" auf "AuthConfig" geändert habe.


    Ergebnis:
    Die Datei wird offensichtlich nicht mehr ignoriert. Beim Aufrufen der Website wird ein Internal Server Error (500) ausgegeben.
    Näheres könne man im Error Log nachlesen. Leider weiß ich nicht wie ich da ran komme.
    Wenn ich die .htaccess wieder rausnehme funktioniert wieder alles wie vorher, aber eben leider ohne Passwortschutz.


    Zusatzinfo:
    Ich habe die Firmware 2.3.0 Build 0825 eingespielt, weil ich damit ein anderes Problem lösen wollte.
    Bei der Anmeldung zur eigentlichen Administration scheint es egal zu sein, ob man "Administrator" groß oder klein schreibt. Ich habe darum Administrator auch bei
    der Anmeldung zur Berechtigungssteuerung der Fotoalben groß geschrieben. Die Anmeldung wird dann auch nicht verweigert, aber die wesentlichen Funktionen bleiben dann verborgen. Meldet man sich dagegen mit "administrator" an ist alles zu sehen und funktioniert auch einwandfrei.
    Ich denke das ist ein Bug der mich viel Zeit gekostet hat. Ich habe vergebens versucht das Problem mit einem Firmware Update zu fixen und bin erst später auf die Ursache gekommen. Egal! Hab was gelernt dabei! :D


    Kann mir jemand sagen woran das Problem mit dem .htaccess liegt?
    Vielen Dank im voraus!
    UKW

  • Hallo Christian,
    vielen Dank für die schnelle Antwort!
    Ich habe die apache.conf geändert: All statt None


    Anschließend wie im Wiki beschrieben:
    [~] # /etc/init.d/Qthttpd.sh restart
    Shutting down Qthttpd services: Qthttpd.
    /usr/local/sbin/apache/bin/apachectl stop: httpd stopped
    Apache httpd is stopped.
    Starting Qthttpd services:Apache logs have been cleaned.
    [Tue Oct 14 19:17:42 2008] [alert] apache: Could not determine the server's fully
    qualified domain name, using 169.254.100.100 for ServerName
    /usr/local/sbin/apache/bin/apachectl start: httpd started


    Dann habe ich ausprobiert ob die .htaccess funktioniert, aber leider nach wie vor:
    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator, ken@NasPPC.qnap.com.tw 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.


    Dann wie im Wiki beschrieben:
    Shall any problem to occur, you will find valuable information in the Apache log file.
    Command: # cat /usr/local/apache/logs


    Ergebnis:
    [~] # cat /usr/local/apache/logs
    cat: /usr/local/apache/logs: No such file or directory


    Ich hab dann die Datei ausgelesen. Ergebnis:
    [~] # cat /usr/local/sbin/apache/logs/apache_error_log
    [Tue Oct 14 19:17:42 2008] [alert] apache: Could not determine the server's fully
    qualified domain name, using 169.254.100.100 for ServerName
    [Tue Oct 14 19:17:42 2008] [notice] Apache/1.3.35 (Unix) PHP/4.4.2 configured --
    resuming normal operations
    [Tue Oct 14 19:17:42 2008] [notice] Accept mutex: sysvsem (Default: sysvsem)
    [Tue Oct 14 19:21:28 2008] [alert] [client 192.168.1.100] /share/Qweb/.htaccess:
    Invalid command '\xff\xfeA', perhaps mis-spelled or defined by a module not
    included in the server configuration
    [~] #


    Was mache ich also falsch?
    Im Folder Qweb stehen folgende Dateien:
    index.htm
    .htaccess
    .htpasswd


    Ausserdem steht dort noch ein Folder "index" mit den Subseiten und Bildern der index.htm.


    In der .htaccess steht folgendes:
    AuthName "Zugang"
    AuthType Basic
    AuthUserFile /share/Qweb/.htpasswd
    require valid-user


    In der .htpasswd steht:
    Benutzer:admin


    Habe ich einen Syntaxfehler eingebaut, oder fehlt tatsächlich ein Modul?
    Jedenfalls habe ich in der apache.conf keinen Hinweis auf ein Modul für Access Control gefunden.


    Dann habe ich noch mit "apache -1" versucht herauszufinden welche Module installiert sind.
    Leider kam als Antwort: "apache: Permission denied"


    Was kann man da machen?
    Vielen Dank im voraus!
    UKW

  • Hallöchen,


    ich habe es jetzt mal nachgestellt und kann von keinem Problem bereichten. Ich habe das wiki befolgt allerdings steht in meiner .htaccess dieses drin.


    Zitat

    AuthUserFile /share/Qweb/.htpasswd
    AuthName "Zugangsberechtigung"
    AuthType Basic
    require valid-user



    :(
    Christian

  • Hallo Christian,
    nochmal, danke für die schnelle Antwort!
    Ich habe die Prozedur ein zweites mal gemacht und dabei deine .htaccess Datei verwendet.
    Leider das gleiche Ergebnis. :|
    Sollte ich die Lösung noch finden werde ich schreiben was es war.
    Bis dann!
    UKW

  • Hallo QNAPER,
    ich habe das Problem inzwischen lösen können.
    Im Error Log stand:
    /share/Qweb/.htaccess: Invalid command '\xff\xfeA'


    Ich habe dann mal die erste Zeile der .htaccess auskommentiert.
    Dann stand im Error Log:
    /share/Qweb/.htaccess: Invalid command '\xff\xfe#'


    Es erzeugt also immer schon das erste Zeichen der ersten Zeile einen Fehler.


    Und hier habe ich die Lösung gefunden:
    http://webui.sourcelabs.com/ap…255Cxff%255Cxfe%2523.meta


    Mein Fehler war die .htaccess als Unicode und nicht als ANSI Datei zu speichern!
    Ich Depp ich!


    Und wieder was gelernt... :roll:


    Bis dann!
    UKW