• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

.htaccess problem

hallöchen

ich habe ein verzeichnis (~/public_html), welches per htaccess geschützt ist. nun wollte ich aber auf /srv/www/htdocs ein verzeichnis (dir) ebenso schützen. um mir die arbeit zu erleichtern habe ich die beide datien des pubblic_html verzeichnis kopiert und die htaccess datei angepasst (pfad). trotzdem erhalöte ich zugrif auf das verzeichnis dir und kann sogar die datei htpasswd sehen (zum glück aber nicht lesen). warum? es sollte doch gehen, ich muß ja nur den pfad ändern, was ich getan habe. aber offenbar nimmt er nichtmal die datei an, sonst müßte der passwort-dialog erscheinen. kann mir da jemand helfen?

danke schon mal
linos
 
A

Anonymous

Gast
Hallo linos,

schau mal in der httpd.conf nach, ob für "/srv/www/htdocs" der Parameter "AllowOverride None" gesetzt ist. In diesem Fall würde die ".htaccess" ignoriert. Ändern kannst du das, indem du "AllowOverride All" setzt.

Für die Beantwortung solcher Fragen wäre es natürlich nützlich, wenn man die entsprechenden Konfigurationen einsehen könnte.
 
danke für die antwort. ich dachte jetzt käme ich weiter, is aber nicht.

ok, hier einblicke in die konfiguration des apache (httpd.conf)
Code:
<Directory />
    Options None
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

## MEIN SALAT =)
<Directory /srv/www/htdocs>
        Options None
        AllowOverride All
        Order deny,allow
        Deny from all
</Directory>

ebensohabe ich folgendes abgeändert, weil ich das im internet gefunden habe:
Code:
# use .htaccess files for overriding,
AccessFileName .htaccess
# and never show them
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

nache inem restart kann ich noch immer auf das verzeichnis zugreifen. dachte auch es könnte an der digitalen brieftasche liegen, also habe ich name und passwort in .htpasswd geändert, mit wenig erfolg wie du sehen kannst ;)

vielleicht bei der sache gleich: wie kann ich hier abändern, daß man die daten auslesen kann. ich hab den eindruck, daß wäre die richtige stelle (<Directory>) ;)
 
Hallo,

ich habe das gleiche Problem wie linOS: Die .htaccess wird anscheinend nicht ausgewertet.

Über google konnte ich zwar einiges zu dem Thema finden, aber es wird immer noch keine Authentifizierung verlangt.

Ich poste hier mal meine Konfigurationsdateien, vielleicht kann mir jemand bei dem Problem helfen.

httpd.conf:
Code:
Include /etc/apache2/uid.conf
Include /etc/apache2/server-tuning.conf
ErrorLog /var/log/apache2/error_log
Include /etc/apache2/sysconfig.d/loadmodule.conf
Include /etc/apache2/listen.conf
Include /etc/apache2/mod_log_config.conf
Include /etc/apache2/sysconfig.d/global.conf
Include /etc/apache2/mod_status.conf
Include /etc/apache2/mod_info.conf
Include /etc/apache2/mod_usertrack.conf
Include /etc/apache2/mod_autoindex-defaults.conf
TypesConfig /etc/apache2/mime.types
DefaultType text/plain
Include /etc/apache2/mod_mime-defaults.conf
Include /etc/apache2/errors.conf
Include /etc/apache2/ssl-global.conf
<Directory "/srv/www/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all
</Directory>
AccessFileName .htaccess
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>
DirectoryIndex index.html index.html.var
Include /etc/apache2/default-server.conf
Include /etc/apache2/sysconfig.d/include.conf
Include /etc/apache2/vhosts.d/*.conf

.htaccess:
Code:
AuthType Basic
AuthName "Secret"
AuthUserFile /srv/www/.htpasswd
require valid-user

Die .htpasswd liegt in /srv/www/

Edit: Die Rechte der beiden .ht* Dateien sind auf 644 gestellt, Eigentümer ist wwwrun:www.
In den Logs von Apache steht leider auch nichts, was irgendwie in Richtung Authentifizierung geht.
 
Versuchts mal so :

".htaccess" erzeugen

mit vi .htaccess die Datei erzeugen.

AuthUserFile /home/blut/web/knowledgebase/.htpasswd
AuthGroupFile /dev/null
AuthName "System"
AuthType Basic
<Limit GET>
require valid-user
</Limit>

Die Syntax des Aufrufs für das Programm ist sowohl unter Linux als auch unter Windows identisch und lautet
htpasswd -c dateiname benutzername. Ein Beispiel hier für (Username: foo):

/pfad wo ich bin/htpasswd -c .htpasswd foo

Will man nun weitere User hinzufügen, beispielsweise wenn mehrere unterschiedliche User mit unterschiedlichen
Passwörtern auf das Verzeichnis zugreifen sollen, so lautet der Aufruf
/pfad wo ich bin/htpasswd dateiname benutzername

Das -c (create) wird weggelassen, da sonst die vorhandene Datei gelöscht bzw. überschrieben würde.

Meine Virt. Hosts in der httpd.conf sehen so aus :

<Virtualhost www.xxx.de>
ServerAlias www.xxx.de xxx.de
DocumentRoot /home/xxx/web/xxx
<Directory "/home/xxx/web/xxx">
Options Includes FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
CustomLog /opt/lampp/logs/sites/xxx.custom combined
ErrorLog /opt/lampp/logs/sites/xxx.error
</Virtualhost>
 
Hallo,

danke für deine Antwort!

Ich habe nocheinmal - diesmal nach deiner Anleitung - die htaccess und htpasswd erzeugt. Anschließend noch die httpd.conf editiert und in den Tag <Directory> das Verzeichnis, welches geschützt werden soll eingetragen.
Und siehe da, es wird eine Authentifizierung verlangt! :)
Allerdings nur, wenn ich auf genau dieses Verzeichnis zugreifen möchte. Lege ich eine neue .htaccess ein Verzeichnis weiter oben an, wird diese nicht ausgewertet.
Verändere ich nun <Directory>, also setze den Wert auf das übergeordnete Verzeichnis, wird die Authentifizierung beim Zugriff des ersten (untergeordneten) Verzeichnisses nicht mehr verlangt.

Noch eine Idee, wie ich das Problem beheben könnte?

Gruß
Tim
 
Ich habs gerade malbei mir ausprobiert.
Nach meiner Anleitung läuft es bei mir.

also wenn ich eine Dirstruktrur habe :

test/bla/blubb

und lege in bla die htaccess und htpasswd an wie ich es beschrieben habe, komme ich in blubb (auch direkt angesurft) nicht ohne die eingabe von Passwort und Username ...

also bei mir läufts.

So kann ich leider zu dem Thema nichts mehr sagen ...
 
Oben