PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : WebDAV vhosts für mehrere User inkl. mpm_itk_module



endy66
04.08.13, 19:09
Guten Abend

Bezüglich meines Webservers habe ich gewisse Probleme. Erstmal möchte ich euch mein Vorhaben schildern: Es geht um WebDAV Verzeichnisse für verschiedene User, jeder hat sein eigenes Verzeichnis. Aktuell habe ich drei User. Die verbindung erfolgt per SSL und die Authentifizierung mit dem WebDAV per "Digest" Verfahren. Das läuft alles bisher wunderbar, so wie es sein sollte. Ebenfalls ist es möglich, dass sich die User mit einem Windows Clienten (dem integrierten WebClient), am WebDAV anmelden können, ohne irgendwas in der Registry (Auth-Basic) zu verändern. So weit, so gut. Nun geht es aber noch darum, für jeden User eine quota festzulegen, deshalb habe ich mich für das mpm_itk_module für den Apache2 entschieden. Dieses funktioniert eigentlich soweit auch, leider muss dieses innerhalb eines <VirtualHost> drinstehen, da fängt mein Problem nun an. Mache ich für jeden User einen eigenen <VirtualHost></VirtualHost> Block, kann sich nur noch der erste User, der in der Datei /etc/apache2/sites-enabled/default angegeben ist, einloggen. Die anderen kommen entweder direkt ohne Login auf ihr verzeichnis, oder finden das Verzeichnis gar nicht erst (Ausgabe des error.log vom Apache2). Ebenfalls können sich diese User nicht mehr von einem (Win)-Clienten anmelden, zur Authentifizeirung kommt es gar nicht erst. Ich habe dann einmal für jeden User eine eigene Datei in /etc/apache2/sites-enabled bzw available angelegt und diese aktiviert, jedoch ohne Erfolg. Meine Frage ist also nun, wie kann ich WebDAV verzeichnisse für mehrere User erstellen, wobei ich für jeden User das mpm_itk_module benutzen kann? Die User, die dort eingetragen werden, habe ich auf dem System selbstverständlich erstellt.

Mit freundlichen Grüssen

TheDarkRose
04.08.13, 19:14
Ohne die Configs wird das nur rätselraten.

endy66
04.08.13, 19:22
Das hier ist meine config der site-enabled


<VirtualHost *:443>
ServerAdmin admin@localhost

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem

DocumentRoot /home/webdav
<Directory /home/user1>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

Alias /user1 /home/user1

<Location /user1>
DAV On
DavDepthInfinity on
#AuthType Basic
AuthType Digest
AuthName "user1"
AuthUserFile /home/webdav/users/user1.dav
<LimitExcept OPTIONS>
Require valid-user
</LimitExcept>
Require valid-user
</Location>


<Directory /home/user2>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

Alias /user2 /home/user2

<Location /user2>
DAV On
DavDepthInfinity on
#AuthType Basic
AuthType Digest
AuthName "user2"
AuthUserFile /home/webdav/users/user2.dav
<LimitExcept OPTIONS>
Require valid-user
</LimitExcept>
Require valid-user
</Location>
</VirtualHost>

Meine Frage also nun, wie ich die Config ändern muss, damit ich


<IfModule mpm_itk_module>
AssignUserId web_test web
</IfModule>

erfolgreich für jeden User einsetzen kann. Wie schon erwähnt, liegt das Problem daran, dass wenn ich hier in der Config für jeweils jeden User, einen eigenen <VirtualHost></VirtualHost> Abschnitt mache, nur noch der erste aufgeführte User (hier user1), sich anmelden kann. Bei user2 kommt gar keine Authentifizierungsabfrage mehr, dieser kann per Webbroser direkt auf sein Verzeichnis zu greiffen. Per WebDAV Client (Win) kann dieser gar nicht mehr verbinden.

Freundliche Grüsse

TheDarkRose
04.08.13, 19:44
Warum nicht für jeden User einen eigenen VHost? Ansonsten funktionieren die Quotas über mpm-itk eh nicht.

marce
04.08.13, 20:45
Naja, praktikabel wäre ein ded. VHost pro User sicherlich nicht - das würde ja eine "zentrale Anmeldung" sozusagen unmöglich machen.

Ich würde versuchen, das über Betriebssystemquotas zu regeln und dann den Apache z.B. über suhosin oder eine ähnliche Technologie je nach Verzeichnis mit einem anderen User laufen zu lassen.

Google lääst allerdings vermuten, daß die Lösung über WebDAV selbst verfügbar sein sollte: http://tools.ietf.org/html/rfc4331

TheDarkRose
04.08.13, 20:51
Tja nur nicht für mod_dav des Apachen. Gibt natürlich einen Patch, erfordert aber das selbstkompilieren

endy66
04.08.13, 21:05
Das mit dem Patch habe ich schon getestet, leider ist dieser für meine Apache Version (2.2) verfügbar. Habe mithilfe dieses Patches das Modul kompiliert, mein Apache kann dieses, wahrscheinlich wegen der unterschiedlichen Version, nicht laden. Also sehe ich für mich nur die Variante, mit mpm_itk_module. Den Systemusern (user1 und user2), habe ich quotas definiert. Das modul itk funktioniert ja auch, aber ich weiss nicht genau, wie ich für jeden user einen eigenen vhost einrichten muss, damit webdav keine Probleme damit hat.
@TheDarkRose, wie hättest du dass den vorgesehen?
@marce, das habe ich auch schon gefunden, werde aber mit der Anwendung damit nicht wirklich schlau.

Freundliche Grüsse

endy66
05.08.13, 20:45
Hat niemand mehr eine Antwort für mich?

Freundliche Grüsse

TheDarkRose
05.08.13, 21:07
Na, jeder User hat eine eigene Subdomain, denn itk kann nur VHosts entsprechend auf Systemuser mappen.

endy66
05.08.13, 21:31
Na, jeder User hat eine eigene Subdomain, denn itk kann nur VHosts entsprechend auf Systemuser mappen.

Das ist mir bewusst, ich kriege es aber, wie oben erwähnt, nicht hin, dass mit mehreren vhosts, sich jeder User anmelden kann.


Mache ich für jeden User einen eigenen <VirtualHost></VirtualHost> Block, kann sich nur noch der erste User, der in der Datei /etc/apache2/sites-enabled/default angegeben ist, einloggen. Die anderen kommen entweder direkt ohne Login auf ihr verzeichnis, oder finden das Verzeichnis gar nicht erst (Ausgabe des error.log vom Apache2). Ebenfalls können sich diese User nicht mehr von einem (Win)-Clienten anmelden, zur Authentifizeirung kommt es gar nicht erst. Ich habe dann einmal für jeden User eine eigene Datei in /etc/apache2/sites-enabled bzw available angelegt und diese aktiviert, jedoch ohne Erfolg.

Wenn ich also die im dritten Post erwähnte Config benutzen will, muss ich dann einfach für jeden Benutzer eine eigene "Site-available" bzw enabled einrichten oder kann ich das in einer Datei mit mehreren <VirtualHost></VirtualHost> Blöcken erreichen? Oder geht das wirklich nur mithilfe von Subdomains? Da ich keinen DNS-Server einsetze müsste ich das direkt über die /etc/hosts lösen können.

Freundliche Grüsse

endy66
06.08.13, 17:23
Ich denke, ich habe das Problem gelöst, bin mir aber nicht zu 100% sicher. Kann es sein, dass mein Vorhaben, mit einer FreeDNS bzw. Free Domain gar nicht funktionieren kann? Benutze aktuell "no-ip.biz", also mit dem Schema, meinname.no-ip.biz. Habe gerade gesehen, dass die keine Wildcards erlaube bzw. diese kostenpflichtig zum upgraden angeboten werden. Wenn dies mein Problem ist, dann weiss ich natürlich, was Sache ist. Kann mir das jemand bestätigen, dass dies der Fall ist?

Freundliche Grüsse

endy66
07.08.13, 21:21
Kann mir das niemand bestätigen, dass ich damit auf der richtigen bzw falschen Spur bin?

Freundliche Grüsse