.htaccess komplikation

milkboy

Aktives Mitglied
Hallo

Ich habe ein kleines Problemchen.

Ich habe mir einen Testserver aufgesetzt: Apache(Win32). --> funktioniert

Mein Problem: Ich habe versucht eine Verzeichnis mit .htaccess zu schützen und das funktionier nur bedingt.

Ich habe ien Verzeichniss angelegt (.htpasswd) indem alle user gespeichert sind.

CODE test:test


In das zu schützende Verzeichnis kopiere ich die .htaccess-Datei mit folgendem Inhalt:


CODE AuthUserFile "e:/.htpasswd/admin/.htpasswd"
AuthType Basic
AuthName "Milkboy friendly Server Admin"
require valid-user



Das funktioniert nicht
dry.gif


Wenn ich aber genau diese Zeilen in httpd.conf kopiere, funktioniert es!

kann mir jemand helfen?
 
AllowOverride überprüfen. Sonst google nach diesem Stichwort oder schau' im Apache-Manual was es bedeutet.
 
Das hab ich alles schon veruscht. Das Problem ist aber, das der Server die Datei .htaccess gar nicht liest.

Ist das ein Plattform Problem (Win 2000 Pro)?
 
1. steht gar nichts in den Error-Logs vom Apache?
2. Die Datei heißt wirklich ".htaccess" und nicht ".htaccess.txt" ?
3. in der httpd.conf ist definiert, wie die Dateien heißen sollen, die Serverbefehle enthalten (Standard ".htaccess"). Es kann sein, dass da jemand wegen Windows etwas anderes konfiguriert hat).
 
Ich habe den Server selbst aufgesetzt und habe an diesen Einstellungen auch nichts verändert. Darum finde ich das ja auch komisch.
dry.gif


Die Datei habe ich auch richtig bennant ".htaccess", das ist in meinem FTP Programm kein Problem. Ich habe es auch schon auf die altmodische Art versucht -> Dos eingabe (wie anno dazumal!!!)

In der Log - Datei ist mir auch nichts aufgefallen.
 
Ich glaube ich habe mal gelesen, dass Windows teilweise Mühe hat, mit Dateien, die mit einem Punkt beginnen.. Versuche mal, in der httpd.conf einen anderen Dateinamen zu wählen..
 
Hallo.

QUOTE (nullpointer @ Di 28.12.2004, 13:28)Ich glaube ich habe mal gelesen, dass Windows teilweise Mühe hat, mit Dateien, die mit einem Punkt beginnen.. Versuche mal, in der httpd.conf einen anderen Dateinamen zu wählen..

Nein, Windows 2000 hat damit keinerlei Probleme, ich habe vor fast 3 Jahren einen Apache Server mit HTACCESS sperre aufgebaut, welche bisher immer noch funktioniert.


Wenn es innerhalb der httpd.conf klappt und nicht bei mittels der .htaccess, wird höchstwahrscheinlich der Fehler innerhalb der httpd.conf liegen und auch etwas mit AllowOverride zu tun haben. Meine Empfehlung bei einer Standard-Konfiguration wäre es zu schauen, welcher <Directory>-Eintrag zu dem entsprechenden Verzeichnis gehört und dort einfach mal "AllowOverride All" eingeben.


Beispiel: Ausschnitt aus einer "httpd.conf"


CODE
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

<Directory "/daten2/Aktuelle Webprojekte/isentosamballerer/">
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

AccessFileName .htaccess

<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>





Ansonsten wären mehr etwas mehr Angaben zu dem Problem ganz nett.
In welchen Verzeichnis befindet sich bei Dir die ".htaccess"?
Was steht in der "httpd.conf" an den entsprechende Stellen?
Ist der Eintrag "AccessFileName .htaccess" in der "httpd.conf" vorhanden bzw. steht hinter "AccessFileName" etwas anderes?



MfG Sascha
 
Also. Hier habe ich einmal alle Dateinen:

.htaccess
QUOTE AuthUserFile e:/server_root/.htpasswd/criminal/.htpasswd
AuthType Basic
AuthName "criminalz.ch"
require valid-user


.htpasswd (im Verzeichnis "e:/server_root/.htpasswd/criminal/.htpasswd")

QUOTE user:1234


Ausschnitt aus httpd.conf

QUOTE DocumentRoot "F:/server_root/htdoc"
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

<Directory "F:/server_root/htdoc">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Alias /user/ "F:/user/"
<Directory "F:/user">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>


Es ist komisch, wenn ich die Daten welche in der .htaccess stehen direkt in httpd.conf schreibe, funktioniert es einwandfrei.

Ich folgere daraus, dass .htaccess bei aufruf des verzeichnis nicht gelesen wird.

Hier noch ein auszug aus "error.log"

QUOTE [Tue Dec 28 22:01:38 2004] [notice] Parent: Created child process 1456
[Tue Dec 28 22:01:38 2004] [notice] Child 1456: Child process is running
[Tue Dec 28 22:01:39 2004] [notice] Child 1456: Acquired the start mutex.
[Tue Dec 28 22:01:39 2004] [notice] Child 1456: Starting 250 worker threads.
[Tue Dec 28 22:01:51 2004] [error] [client 127.0.0.1] Cannot find module (IP-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:51 2004] [error] [client 127.0.0.1] Cannot find module (IF-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:51 2004] [error] [client 127.0.0.1] Cannot find module (TCP-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (UDP-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (SNMPv2-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (SNMPv2-SMI): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (UCD-SNMP-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (UCD-DEMO-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (SNMP-TARGET-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (SNMP-VIEW-BASED-ACM-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (SNMP-COMMUNITY-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (UCD-DLMOD-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (SNMP-FRAMEWORK-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (SNMP-MPD-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (SNMP-USER-BASED-SM-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (SNMP-NOTIFICATION-MIB): At line 0 in (none), referer: http://localhost/user/
[Tue Dec 28 22:01:52 2004] [error] [client 127.0.0.1] Cannot find module (SNMPv2-TM): At line 0 in (none), referer: http://localhost/user/

 
QUOTE (milkboy @ Di 28.12.2004, 22:03)Ich folgere daraus, dass .htaccess bei aufruf des verzeichnis nicht gelesen wird.

Dann solltest Du vielleicht mal versuchen "Jeder" -> "Vollzugriff" auf die ".htaccess" zu geben, später kannst Du natürlich einen entsprechenden Dienst-Benutzer für den Apache eintragen unter "Dienste", der die entsprechende Rechte aufweißt.

Was mich halt noch sehr interessiert, wo genau die ".htaccess" liegt (auch wenn die vermutlich richtig liegt)?

Ansonsten kannst Du mir auch gerne mal die "httpd.conf" per E-Mail schicken, dann schau ich mir die mal an und kann es ggf. auch selber hier testen (nach einen Neustart)

Dann so ganz nebenbei, innerhalb der "error.log" sehe ich keinerlei Fehler beim Aufruf der ".htaccess", sondern eher, dass viele Module vom Webserver nicht geladen werden können. Hier wäre es auch wesendlich aufschlussreicher, wenn man Einblick in die "access.log" hat.



MfG Sascha
 
QUOTE (nullpointer @ Fr 31.12.2004, 1:11) das zeigt wiedermal, was WAMP für ein fürchterliches Gebastel ist..

Ich wüsste nicht, dass es ein Gebastel wäre, es ist genauso logisch aufgebaut wie unter Linux, das einigste Problem welches unter Windows auftreten kann, ist dass etwas kompiliert werden muss. Doch mit etwas Suchen findet man zu den Standards immer wieder entsprechende Binaries.


MfG Sascha
 
Was mich die ganze Zeit verwirrt ist folgender Eintrag

CODE
AuthUserFile e:/server_root/.htpasswd/criminal/.htpasswd
AuthType Basic
AuthName "criminalz.ch"
require valid-user


Frage ? Hast Du auf deinen Server IRGEND wo ein ordner der .htpasswd
heisst ???

Nach meinem verständniss müsste es so aussehen

AuthUserFile e:/server_root/criminal/htpasswd

den im htaccess muss der Pfad zum htpasswd drin sein und zwar der relative pfad.

auf meinem Server sieht's in etwa so aus

AuthName "Admin"
AuthType Basic
AuthUserFile /home/virtual/site1/fst/var/www/html/admin/htpasswd
require valid-user
 
QUOTE (rogerbo @ So 2.1.2005, 17:33) [...]
AuthUserFile e:/server_root/criminal/htpasswd
[...]

Nach meiner Sicherheitsliebe hin, sollte die Datei trotzdem weiterhin vorab den Punkt haben ".htpasswd", besonders da dies unter Unix-Systemen als versteckte Dateien gehandelt werden und der direkte Zugriff über den Webserver bei den ".ht*" Dateien in der standard Apache-Konfiguration gesperrt werden, was bei "htpasswd" damit nicht mehr gegeben wäre.

Aber mal ganz davon abgesehen sollte die ".htpasswd" sowieso besser nicht innerhalb eines veröffentlichten Web-Verzeichnis liegen.



MfG Sascha
 
Ich versuche zur zeit des und jenes. Aber eine wirklich gute Lösung für das Problem habe ich noch nicht.

Ich habe Jedoch eine PHP Script gefunden, welches sich die Eigenschaft von "htaccess" zu nutze macht und dies funktioniert wunderbar.
 
Zurück
Oben