.htaccess Problem

brenner

Commander
Registriert
Apr. 2002
Beiträge
3.037
Von externen Hosting bin ich es gewohnt gewesen eine .htaccess und eine .htpasswd Datei zu erstellen, die in das zu schützende Verzeichnis zu laden und schon mußten Nutzer beim Zugriff darauf Zugangsdaten eingeben.


Nun habe ich seit kurzer seit einen eigenen Apache2 unter Debian am laufen. Dieser läuft mit virtuellen Hosts. Mache ich es so wie früher passiert gar nichts. Ich muss die Daten der .htaccess direkt in die VirtualHost Konfiguration mit eintragen damit was passiert. Das funktioniert soweit auch, ABER

wenn ich nur ein Unterverzeichnis schützen möchte habe ich ein Problem, dann muss ich sowohl auf der Hauptseite als auch auf der Unterseite Zugangsdaten eingeben und wenn ich es aus der VirtualHost wieder raus nehme dann kommt nirgends ein Abfrage.
 
httpd.conf auszug

# forbid access to the entire filesystem by default
<Directory />
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>

# htaccess erlauben
<Directory /srw/www/htdocs>
AllowOverride All
</Directory>

# use .htaccess files for overriding,
AccessFileName .htaccess

# and never show them
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>


nochmal in besser...

bis denne
 
Zuletzt bearbeitet:
Hmmm, meine httpd.conf ist zwar leer aber dafür ist die apache2.conf voll :D


Nur zum Verständnis (wie geschrieben fehlt mir die Erfahrung), ich dachte in den Virtualhosts macht man, unter anderen, diese Einstellungen für jede einzelne "Homepage".


Ich habe mal meine aktuelle conf angehängt. Ich finde alleine schon nicht alle Einstellungen wieder die du geschildert hast.
 

Anhänge

Sorry *schieb*.

Problem ist immer noch nicht gelöst.
 
Im Verzeichnis /etc/apache2/sites-enabled/ sollten die Konfigurationsdateien für die vhosts liegen, eine Datei pro vhost. In diesen Dateien musst du das eintragen was baFh oben geschrieben hat.
 
Bei mir ist es genau eine in der alles eingetragen wird, aber dein Pfad stimmt.

Das hilft mir aber jetzt auch nicht weiter.

Ich muss wohl mal das konkrete Beispiel reinstellen wo es nicht funktioniert.
 
Bei der apache2.conf die du oben gepostet hast steht der Verweis auf /etc/apache2/sites-enabled/ ganz am Ende.
 
Ah, hatte mich vorhin verlesen. Aber dennoch: welche Dateien liegen in diesem Verzeichnis und was enthalten sie? Die sind entscheidend!
 
Da liegt nur ein Datei namens "default" die alle vhost Einträge enthält.
 
Und dort muss einiges von dem stehen was baFh geschrieben hat - nicht unbedingt in dem Format und der Reihenfolge. Es kommt vor allem auf AllowOverride All an.

Wichtiger Hinweis: wenn du etwas an der Konfiguration änderst musst du auch den Apache neustarten.
 
Sorry für die späte Rückmeldung. Hier der Originalausschnitt, nur die Domains sind geändert.


###################################################################
### Erklärung ###
######################################
<VirtualHost *:80>
ServerName www.abc.de
ServerAlias abc.de *.abc.de
DocumentRoot /www/hp/hp_abc/
<Directory /www/hp/hp_abc/>
AllowOverride None
Order allow,deny
allow from all
# AuthType Basic
# AuthName "Geschuetzer Bereich"
# AuthUserFile /www/hp/hp_abc/fotoalbum/.htpasswd
# Require valid-user
RedirectMatch ^/$ /hp/
</Directory>
<Directory /www/hp/hp_abc/fotoalbum/>
AllowOverride None
Order allow,deny
allow from all
AuthType Basic
AuthName "Geschuetzer Bereich"
AuthUserFile /www/hp/hp_abc/fotoalbum/.htpasswd
Require valid-user
# RedirectMatch ^/$ /hp/
</Directory>

ServerName www.cba.de
ServerAlias cba.de *.cba.de
DocumentRoot /www/hp/hp_abc/
<Directory /www/hp/hp_abc/>
AllowOverride None
Order allow,deny
allow from all
# AuthType Basic
# AuthName "Geschuetzer Bereich"
# AuthUserFile /www/hp/hp_abc/fotoalbum/.htpasswd
# Require valid-user
RedirectMatch ^/$ /hp/
</Directory>
</VirtualHost>
 
Änder (wie oben schon geschrieben)

Code:
 		AllowOverride None

in

Code:
 		AllowOverride All

um, entferne das was du eigentlich für die htaccess-Datei vorgesehen hattest aus dieser Datei und starte den Apachen neu. Danach müsste die htaccess-Datei in den Verzeichnissen (z.B. /www/hp/hp_abc/fotoalbum/) funktionieren.
 
Hmmm, da bin ich mal gespannt, leider sichere ich gerade meinen kompletten Webserver. Ich denke in 3-4 Stunden kann ich wieder ran und es testen. Danke erstmal.
 
Wenn ich jetzt versuche das Fotoalbum aufzurufen kommt nur noch:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [no address given] 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.
Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch10 mod_perl/2.0.2 Perl/v5.8.8 Server at www.abc.de Port 80


Die HP an sich geht.


Die conf sieht jetzt so aus:

<VirtualHost *:80>
ServerName www.abc.de
ServerAlias abc.de *.abc.de
DocumentRoot /www/hp/hp_abc/
<Directory /www/hp/hp_abc/>
AllowOverride All
Order allow,deny
allow from all
# AuthType Basic
# AuthName "Geschuetzer Bereich"
# AuthUserFile /www/hp/hp_abc/fotoalbum/.htpasswd
# Require valid-user
RedirectMatch ^/$ /hp/
</Directory>
<Directory /www/hp/hp_abc/fotoalbum/>
AllowOverride All
Order allow,deny
allow from all
AuthType Basic
AuthName "Geschuetzer Bereich"
AuthUserFile /www/hp/hp_abc/fotoalbum/.htpasswd
Require valid-user
# RedirectMatch ^/$ /hp/
</Directory>

ServerName www.cba.de
ServerAlias cba.de *.cba.de
DocumentRoot /www/hp/hp_abc/
<Directory /www/hp/hp_abc/>
AllowOverride All
Order allow,deny
allow from all
# AuthType Basic
# AuthName "Geschuetzer Bereich"
# AuthUserFile /www/hp/hp_abc/fotoalbum/.htpasswd
# Require valid-user
RedirectMatch ^/$ /hp/
</Directory>
</VirtualHost>
 
Ich hatte geschrieben, dass du auch alles von der htaccess-Datei aus der conf-Datei entfernen musst. :rolleyes: Also auch AuthType und soweiter. Das gehört in die htaccess. Wenn du das gemacht hast und es noch ein Problem gibt liegt der Fehler in der verwendeten htaccess-Datei ...
 
Ohh, man, hast ja recht. SOrry, langer Tag. Werds gleich mal testen.
 
Zurück
Oben