mod_auth_mysql und vhosts

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

mod_auth_mysql und vhosts

Postby dertyler » 07. May 2004 08:00

[b]servus![/b]

um mit mod_auth_mysql verzeichnisse zu schützen muss man ja den relativen pfad angeben. wenn man jetzt aber mehrere virtual hosts anlegt, sagen wir domain-a.de und domain-b.de und hat in beiden ein /admin verzeichnis, dass man schützen will, dann will man die verzeichnisse ja für unterschiedliche nutzer/gruppen freigeben. Das geht aber nicht weil man nur /admin als zu schützendes verzeichnis einstellen kann und somit nur für alle /admin aller vhosts gemeinsam. Also ist für mod_auth_mysql domain-a.de/admin das gleiche wie domain-b.de/admin.
Hat jemand eine idee, wie man das trennen könnte?

Danke im voraus,
Dominik
dertyler
 
Posts: 4
Joined: 06. May 2004 16:36

Postby Rolidor » 08. May 2004 13:25

Servus.
...und hat in beiden ein /admin verzeichnis, dass man schützen will, dann will man die verzeichnisse ja für unterschiedliche nutzer/gruppen freigeben. Das geht aber nicht weil man nur /admin als zu schützendes verzeichnis einstellen kann und somit nur für alle /admin aller vhosts gemeinsam.

Ich habs mir jezz viermal durchgelesen und glaube immer noch nicht ganz zu verstehen :roll: . Wieso sollte das nicht gehen??? Werde doch mal ein wenig präziser. Möglicherweise stehe ich einfach auf dem Schlauch.
Aber mal so als Vorabanmerkung: Du kannst jeden vhost weitestgehend einzeln konfigurieren (directory, alias, ...).
Gruß
Rolidor
Rolidor
 
Posts: 406
Joined: 20. April 2004 10:17
Location: Dreieich - Hessen

Hab's hingekriegt

Postby dertyler » 08. May 2004 15:17

Oh Mann! :D
In dem vorgegebenen mod_auth_mysql.conf sind alle zu sperrenden Verzeichnisse relativ angegeben. Das erkennt man daran, dass sie nicht mit einem <directory> getagt sind, sondern mit <location>. Wenn man das macht, gilt der Zugriffsschutz für alle Vhosts, die ein solches Unterverzeichnis haben.

Also:

Nur das Verzeichnis /admin für domain-a.de sperren geht so:

<Directory "v:/virtualhosts/domain-a.de/admin>
AuthName "ADMIN Section"
AuthType Basic
require group admin
AuthMySQLHost localhost
AuthMySQLDB webauth
AuthMySQLUser auth_user
AuthMySQLPassword xxx
AuthMySQLUserTable users
AuthMySQLNameField username
AuthMySQLPasswordField password
AuthMySQLGroupTable users
AuthMySQLGroupField groupname
AuthMySQLCryptedPasswords Off
</Directory>

Alle Unterverzeichnisse für alle Vhosts mit /admin sperren geht so:

<Location /admin>
AuthName "ADMIN Section"
AuthType Basic
require user root
AuthMySQLHost localhost
AuthMySQLDB webauth
AuthMySQLUser auth_user
AuthMySQLPassword xxx
AuthMySQLUserTable users
AuthMySQLNameField username
AuthMySQLPasswordField password
AuthMySQLGroupTable users
AuthMySQLGroupField groupname
AuthMySQLCryptedPasswords Off
</Location>

Ich kann mir vorstellen, dass man diese Art Sperre für Verzeichnisse braucht, die mit einem Alias für alle zugänglich gemacht wurden.

Wie z.B im Apache von XAMPP vorkonfiguriert:
Alias /phpmyadmin "V:/Webserver/xampp/phpmyadmin/"

Darauf können dann alle zugreifen, wenn man im Vhost auf /phpmyadmin geht. Man könnte dann eine Gruppe für mysqladmins anlegen und nur dieser Gruppe die <location /phpmyadmin > freigeben. Je nach Username hat dann jeder Zugriff mit phpmyadmin auf seine eigene Datenbank.

Hoffe, das hilft einigen weiter.
Dominik
dertyler
 
Posts: 4
Joined: 06. May 2004 16:36

Postby Wiedmann » 08. May 2004 15:30

Naja,

bei einer Direktive (auch für mod_auth_mysql) die innerhalb eines <Directory></Directory> steht, greift diese für das reale Verzeichnis innerhalb des Dateisystems.

Ist die Directive innerhalb von <Location></Location>, greift diese für eine ensprechende URL (wobei eine URL die mit "/" anfängt, absolut ist).

Directory's oder Loction's die in der Hauptserverkonfig angegeben werden sind i.d.R.für alle VHosts gültig.

Innerhalb eines VHosts (<VirtualHost></VirtualHost>) angegeben, gelten diese Direktiven auch nur vor den jeweiligen Vhost.

In dem Beispiel wird einfach der gesamte Server geschützt. Da es in der Hauptserverkonfig innhalb von <Location /></Location> steht. Ist somit für jeden VHost gültig und betrifft bei jedem alle URL's.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby dertyler » 08. May 2004 22:53

Aha!
Muss einem ja blos mal jemand sagen. :D

Also:
- innerhalb Vhost-Tags -> nur für Vhost
- außerhalb -> global

Danke!!!
dertyler
 
Posts: 4
Joined: 06. May 2004 16:36


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 6 guests