PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : .htaccess funzt einfach nicht...


Heike
19.04.02, 20:16
Hallo,
hab ein kleines Problem. Will mein phpMyAdmin-Verzeichnis per .htaccess/.htpasswort schützen, um nur bestimmten Personen Zugriff zu gewähren. Ich habe in der http.conf folgende Änderungen vorgenommen, um .htaccess einzusetzen:


AllowOverride AuthConfig

Order allow,deny
Allow from all
AccessFileName .htaccess

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


dann habe ich ein .htpasswort-file angelegt und 2 neue benutzer angelegt mit folgender Syntax:
benutzername:verschlüsseltespasswort
benutzername2:verschlüsseltespasswort2

Zum Schluss habe ich die .htaccess im Verzeichnis phpMyAdmin angelegt, mit folgendem Inhalt:

authName "Bitte Passwort eingeben"
authUserFile webverzeichnis\Unterverzeichnis\.htpasswort
authType Basic
require valid-user

Der Link in .htaccess zeigt auf die Passwort-Datei... Zwischendurch habe ich Apache restartet, damit die Änderungen greifen. Ausserdem habe ich die chmod- und chown-Berechtigungen auf 644 bzw. wwwrun:nogroup eingestellt.

Doch es passiert einfach nichts. Rufe ich die index.php in meinem phpMyAdmin (version 2.2.3) auf, erscheint nur der FEhler 500 und ich komme nicht weiter. Der Browser fragt zum Verrecken nicht nach dem Benutzernamen. Nehme ich die .htaccess aus dem Verzeichnis, kann ich aber ganz normal auf phpMyAdmin zugreifen. Ich verstehs echt nicht mehr.

Wer kann mir helfen?
Gruss
Heike

LnxBil
19.04.02, 20:27
Ich habe die .htpasswd absolut gesetzt. Ich glaube die muss absolut! Versuche aber mal in /var/log/apache/error.log zu schauen, welcher Art der Fehler ist.

Gruss LnxBil

Heike
19.04.02, 20:33
Hi LnxBil,
danke für Deine schnelle Antwort. Im error.log ist folgender Eintrag:
.../.htaccess : AuthName not allowed here

DAS verstehe ich jetzt nicht? Muss der Benutzername aus der .htaccess eingetragener Benutzer unter Linux sein? Das kann doch nicht... Benutzer kommen doch über den Webbrowser IMMER als wwwrun rein, dachte ich. Oder muss der Benutzername dann zwangsläufig wwwrun sein?
Fragen...
Gruss
Heike

netzmeister
19.04.02, 20:34
Hallo Heike,

was für eine Distribution verwendest Du denn?

Welche Apache Module hast Du denn installiert?

Viele Grüsse

Eicke :)

LnxBil
19.04.02, 20:38
versuche mal die datei wie folgt zu schreiben. Es kann sein, dass du zuerst die Authentifikationsdirektive angeben musst.

---snip--
AuthType Basic
AuthName "Nicht gestattet!"
AuthUserFile /webpages/server.lan/einwahl/.htpasswd
require valid-user
--snip --

Gruss Andreas

Heike
19.04.02, 20:38
Hallo netzmeister,
ich hab auf meinem Server SUSE Linux 7.2 laufen, und folgende auth_module (wenn Du die meinst):

LoadModule auth_module /usr/lib/apache/mod_auth.so
LoadModule anon_auth_module /usr/lib/apache/mod_auth_anon.so
LoadModule dbm_auth_module /usr/lib/apache/mod_auth_dbm.so
LoadModule db_auth_module /usr/lib/apache/mod_auth_db.so
LoadModule digest_module /usr/lib/apache/mod_digest.so

Ausserdem noch die nachfolgenden Module (wenn Du doch auf andere Module anspielst :-)):

LoadModule mmap_static_module /usr/lib/apache/mod_mmap_static.so
LoadModule vhost_alias_module /usr/lib/apache/mod_vhost_alias.so
LoadModule env_module /usr/lib/apache/mod_env.so
LoadModule define_module /usr/lib/apache/mod_define.so
LoadModule config_log_module /usr/lib/apache/mod_log_config.so
LoadModule agent_log_module /usr/lib/apache/mod_log_agent.so
LoadModule referer_log_module /usr/lib/apache/mod_log_referer.so
LoadModule mime_magic_module /usr/lib/apache/mod_mime_magic.so
LoadModule mime_module /usr/lib/apache/mod_mime.so
LoadModule negotiation_module /usr/lib/apache/mod_negotiation.so
LoadModule status_module /usr/lib/apache/mod_status.so
LoadModule info_module /usr/lib/apache/mod_info.so
LoadModule includes_module /usr/lib/apache/mod_include.so
LoadModule autoindex_module /usr/lib/apache/mod_autoindex.so
LoadModule dir_module /usr/lib/apache/mod_dir.so
LoadModule cgi_module /usr/lib/apache/mod_cgi.so
LoadModule asis_module /usr/lib/apache/mod_asis.so
LoadModule imap_module /usr/lib/apache/mod_imap.so
LoadModule action_module /usr/lib/apache/mod_actions.so
LoadModule speling_module /usr/lib/apache/mod_speling.so
#LoadModule userdir_module /usr/lib/apache/mod_userdir.so
LoadModule alias_module /usr/lib/apache/mod_alias.so
LoadModule rewrite_module /usr/lib/apache/mod_rewrite.so
LoadModule access_module /usr/lib/apache/mod_access.so
LoadModule proxy_module /usr/lib/apache/libproxy.so
LoadModule cern_meta_module /usr/lib/apache/mod_cern_meta.so
LoadModule expires_module /usr/lib/apache/mod_expires.so
LoadModule headers_module /usr/lib/apache/mod_headers.so
LoadModule usertrack_module /usr/lib/apache/mod_usertrack.so
LoadModule unique_id_module /usr/lib/apache/mod_unique_id.so
LoadModule setenvif_module /usr/lib/apache/mod_setenvif.so

#<IfDefine SSL>
LoadModule ssl_module /usr/lib/apache/libssl.so
#</IfDefine>

#<IfDefine DUMMYSSL>
AddModule mod_ssl.c
#</IfDefine>

Gruss Heike

netzmeister
19.04.02, 20:41
Hallo Heike,

habe ich mir schon fast gedacht! ;)

Hier ist die Lösung:

Link zum Artikel in der SuSE Supportdatenbank (http://sdb.suse.de/de/sdb/html/htaccess72.html)

Viele Grüsse

Eicke

Heike
19.04.02, 21:08
MIST, wäre ja auch zu schön gewesen. Der Tip mit der Supportdatenbank erschien heiss, leider habe ich die beiden erwähnten Module

mod_auth_nds und

LDAP, authldap

gar nicht installiert. Bzw. da ich mit LDAP schon früher Probs hatte, hatte ich es schon früher deinstalliert.
Trotzdem habe ich folgenden Eintrag - wie vorgegeben in die rc.conf aufgenommen:

HTTPD_SEC_MOD_AUTH_NDS=no


Dann SuSEconfig --module apache , gefolgt von einem rcapache restart vorgenommen, aber der Eintrg im error.log bleibt gleich:

AuthType not allowed here

*seufz

Gruss
Heike

Heike
19.04.02, 21:12
Hallo Andreas,
die Reihenfolge meiner .htaccess habe ich jetzt übrigens auch - wie von Dir vorgeschlagen - geändert... nein, leider, das wars auch nicht...
Gruss
Heike

Olli
19.04.02, 22:16
> Hi LnxBil,
> danke für Deine schnelle Antwort. Im error.log ist folgender Eintrag:
> .../.htaccess : AuthName not allowed here

versuche mal
&lt;Directory /&gt;
AllowOverride AuthConfig
&lt;/Directory&gt;

alternativ kannst du auch &lt;Directory /usr/local/.../phpMyAdmin&gt; eintragen. ;-)

oliver

Heike
19.04.02, 22:39
@lolli,
SUPER. *freu-strahl
Ich hatte den Eintrag nur an der falschen Stelle vorgenommen. Jetzt gibt es nur noch ein einziges klitzekleines Problem: Er nimmt die Passwörter nicht an, obwohl ich sie mit mit dem tool htpasswd gesetzt habe. Woran kann das liegen?
Gruss
Heike:) :) :)

Olli
20.04.02, 07:17
Morgen,
mach doch mal ein tail -f /var/log/http/error_log in der (x)console und versuche dich dann einzuloggen. Dort findest du bestimmt weitere Informationen zum Fehler...

oliver

Heike
20.04.02, 12:23
Hallo lolli,
wie Du weiter oben sehen kannst, ziehe ich das error_log ja eh schon zu rate und es gibt mir folgendes aus:

user NAME not found: /pfad/phpMyAdmin/index.php

Gruss
Heike

ps. HABS GEFUNDEN. Nach einem nochmaligen Durchwühlen des error_logs stellte ich fest, dass anscheinend automatisch ein Pfad nach /usr/local/httpd/ gelegt wird. Dort hat das System die htpasswort gesucht. Nachdem ich den Pfad in der htaccess daran angeglichen habe, und die htpasswort verschoben habe, klappts jetzt.

DANKE!!!