Quantcast
Channel: Matthias Lohr's technical stuff » WebDAV
Viewing all articles
Browse latest Browse all 2

WebDAV-Server – Ich will nicht mehr

0
0

WebDAV? Der Begriff ist normalerweise nicht unbekannt, gerade für Remote-Laufwerke für z. B. Backuplösungen usw. werden WebDAV-Server sehr gerne verwendet, zumal sie selten durch Firewalls und/oder Proxies geblockt werden. Als dann an der Uni nach einem WebDAV-Server gefragt wurde, dachte ich “klar, kein Problem, ist bestimmt schnell einzurichten” – Fail.

Es stimmt, an sich ist es nicht schwer, einen WebDAV-Server aufzusetzen. Ein (klein) wenig spannender wird das schon, wenn man den Anspruch hat, dass der Server auch mit mehr als nur Linux kompatibel sein soll. Die ersten Selbstmordgedanken kommen dann, wenn man sich gegen LDAP authentifizieren möchte und spätestens, wenn dann noch ein System hinter dem WebDAV sitzen soll, welches Berechtigungen überprüft ist es gut, wenn alle Fenster des Raums auf Erdgeschosshöhe sind.

Zu den Problemen im Einzelnen:

  • Inkompatibilitäten: Windows verwendet eine nicht 100% kompatible Implementierung von WebDAV, d. h. dass man bestimmte Eigenheiten berücksichtigen muss, bevor Windows sich erfolgreich authentifizieren kann. Wenn der Server bereits beim initialisierenden OPTIONS-Request nach Benutzer/Passwort fragt, meckert Windows über eine ungültige Resource.
  • LDAP: Für HTTP gibt es zwei Authentifizierungs-Methoden: Basic und Digest. Der Unterschied ist, dass bei Basic Auth das Passwort im Klartext übertragen, bei Digest ein gesalzener Hash verwendet wird. Die Schwierigkeit dabei ist, dass LDAP nur Abfragen zulässt á la “stimmt das Passwort hier?”, also nur mit Klartextpasswörtern arbeiten kann. Wenn man also LDAP verwenden möchte, muss man dabei die Basic Auth-Methode verwenden.
    Jetzt kommt aber wieder Microsoft und sagt: Nein, ohne SSL mag ich kein Basic Auth (oder, um ausführlicher zu sein: Manche Windows-Versionen mögen garkein Basic-Auth, manche nur per SSL und manchen ist es egal. Aber Dokumentationen dazu findet man, außer in der 1&1-FAQ, nicht wirklich, von daher war das ein Probieren ohne Ende) .
  • Redmine: Wenn man die ersten Hürden gemeistert hat, bleibt noch, die Authentifizierung über das Redmine-System laufen zu lassen. Es gibt von Redmine selbst ein Perl-Modul für Apache, welches die Authentifizierung für SVN übernehmen kann, testweise hat auch Git funktioniert, spannend (da ebenfalls mager dokumentiert) war, ob das auch für das normale WebDAV funktioniert – tut es.

Wenn man also jetzt keine Ahnung hat, an welcher Stelle dieses Monstrums die vielen Fehler, die man um die Ohren geschmissen bekommt, verursacht werden verzweifelt man regelrecht an den immerwieder auftauchenden niederschmetternden Fehlermeldungen, die – ausführlich, wie man es von Windows und Konsorten gewohnt ist – lediglich besagen: “Geht nicht”.

Rückblickend kann ich sagen: War doch eigentlich ganz einfach, sofern man verstanden hat, was die einzelnen Systeme von einem wollen und wie man sie richtig konfiguriert. Hier mal meine Konfiguration, die man innerhalb eines SSL-vHosts verwenden kann, um WebDAV zu aktivieren:

<Location /webdav>
DAV on
AuthType Basic
AuthName "Redmine WebDAV"
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
RedmineDSN "DBI:Pg:dbname=redmine;host=localhost"
RedmineDbUser "redmine"
RedmineDbPass "topsecret"
<Limit OPTIONS>
Order allow,deny
Allow from all
Require valid-user
Satisfy any
</Limit>
<LimitExcept OPTIONS>
Require valid-user
</LimitExcept>
Options +Indexes
</Location>

Viel Erfolg beim Einrichten!


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images