Computer: WebDAV on Apache

Gehört zu: Internet
Siehe auch: HTTP-Server

WebDAV on Apache

Meine Anforderungen: Mobile Dokumente

Ich möchte viele meiner auf lokalen PCs befindlichen Dokumente auch aus dem Internet erreichen können und das auch mit mobilen Geräten wie z.B. meinem iPad.
Das moderne Stichwort dafür ist die “Cloud“.
Allerdings möchte ich am liebsten meine Dokumente nicht einem Cloud-Provider im Internet übergeben, sondern lieber meine eigene Cloud in meinem häuslichen LAN betreiben, auf das dann per FritzBox mit VPN zugegriffen werden kann.
Ausserdem möchte ich keine (redundante) Kopie meiner Dokumente erstellen, sondern mit den original-Dateien auch per “Cloud” arbeiten.
Für einen solchen Remote-Zugriff stehen prinzipiell verschiedene Mechanismen (Protokolle) zur Verfügung:

  • WebDAV
  • Samba
  • FTP/SFTP/SSH

Ich bevorzuge WebDAV, weil das unabhängig vom jeweiligen Betriebssystem (Windows, iOS, Android) rein auf TCP/IP basierend auf das Internet zugeschnitten ist. Auch arbeiten mehrere Cloud-Anbieter mit WebDAV (z.B. Telekom Mediencenter, DropBox,…).
Auch auf der Client-Seite, speziell im mobilen Bereich, scheint es Apps zu geben, die WebDAV recht komfortabel unterstützen; d.h. mehr als nur eine Anzeige- und Download-Funktion…

Erster Versuch: ownCloud

Als ersten Versuch habe ich ownCloud auf meinem Windows 2011 HomeServer zum Laufen gebracht. Aber bei ownCloud werden die Dokumente (redundant) in einer mySQL-Datenbank gespeichert, was ich ja nicht möchte, denn dann müsste ich ja ausschießlich mit ownCloud arbeiten – auch wenn ich zu Hause in meinem eigenen LAN bin.

Zweiter Versuch: WebDAV

1.Schritt: Apache testen

Testen ob der Apache, auf dem WebDAV konfiguriert werden soll, korrekt läuft und von anderen Geräten im LAN erreichbar ist.

I have installed Apache 2.2.14 on Windows 7 and can view my web pages using both http://localhost and http://127.0.0.1 but when I try to access the server from another computer on the same router, it fails. It also fails when I use the DynDNS address that I have mapped.
This worked fine under Windows XP before I upgraded to Windows 7.
I suspect the issue is something like port 80 not being opened up for outside access into the computer.
Does anyone know how to open that port up in the Windows Firewall, or if something else is locked down what that is and how to unlock it?

To add a rule in the Windows Firewall for port 80, do the following:

  • Go to the Control Panel and launch “Windows Firewall”
  • Go to “Advanced Settings”
  • Select “Inbound Rules” in the left pane
  • Select “New Rule” in the right pane
  • In the New Inbound Rule Wizard, select “Port” as Rule Type, then click on “Next”
  • Select “TCP and put “80” (and any other ports you want to open) in “Specific local ports”, then click on “Next”
  • Select “Allow the connection”, then click on “Next”
  • Select the network location where the rule should apply (select them all if you’re not sure), then click on “Next”
  • Give a name and an optional description

That should do it.

2. Schritt: DAV im Apache aktivieren

In der Apache-Konfigurationsdatei httpd.conf folgende Einträge entkommentieren:

  • LoadModule dav-module …
  • LoadModule dav-fs-module …

Und dann muss man noch den Pfad für die Lock-datei angeben, in der WebDAV ggf. konkurrierende Zugriffe verwaltet. Auf diesen Pfad muss der Apache-Prozess Schreibrechte haben.

  • DavLockDB “D:/temp”

3. Schritt: Verzeichnisse unter Apache stellen

Üblicherweise möchte man über WebDAV nicht nur Dokumente über das Internet bearbeiten, die auf dem Apache-Computer unterhalb des Apache DocumentRoot stehen, sonden Dokumente in den Verzeichnissen, in denen sie “normal” stehen (und man möchte auch keine Kopien).
Apache bietet die Möglichkeit die gewünschten Verzeichnisse “virtuell” unter das Apache DocumentRoot zu stellen – mit der “Alias” Direktive:

  • Alias /MyDocs “d:/var/Documents/MyDocs”
  • Alias /Music “z:/Medien/Music”
  • Alias …

4. WebDAV für diese Verzeichnisse aktivieren

Für jeden dieser Ordner muss dann WebDAV aktiviert werden.
<Directory “d:/var/Documents/MyDocs” >
Dav On
ForceType text/plain
< /Directory >

5. Benutzer einrichten

Die einfachste Möglichkeit ist das sog. “Basic”-Verfahren zur Autentifizierung von Usern.

6. Zugriffberechtigungen einrichten

Für jeden WebDAV-Ordner sind dann die Zugriffsberechtigungen einzurichten.
Wir verwenden dazu das sog. “Basic” Autentifizierungsverfahren.

<Directory "d:/var/Documents/MyDocs" >
Dav On
ForceType text/plain
AuthType Basic
AuthName "WebDAV Zugang Computer XYZ"
AuthUserFile "D:/bin/Apache/..."
AllowOverride None
Options Indexes
Order allow,deny
Allow from all
<limitExcept GET HEAD Options>
Require valid-user
</LimitExcept>
< /Directory >

7. Testen WebDAV über WebDAV-Clients

Es gibt verschiedene Möglichkeiten, von der Client-Seite den Zugriff auf unseren konfigurierten WebDAV-Server zu testen.

7.1 Web-Browser

Über einen Web-Browser (z.B- Mozilla Firefox) können wir über die URL
http://192.168.2.100/MyDoc
zugreifen. Falls man in der httpd.conf die Direktive “Option Indexes” vergessen hat, bekommt man allerdings eine Fehlermeldung.

7.2 WebDAV-Clients auf Windows 7

Windows selbst ermöglicht die Einbindung von WebDAV-Ordnern in den Explorer…
BitKinex ist eine schöne Software für WebDAV und mehr…..
CarotDAV ist auch nicht schlecht… ist als portable Version verfügbar…
CyberDuck kommt aus der Apple-Ecke…

7.3 WebDAV-Clients auf dem iPad

“My WebDAV” kann in der kostenlosen Version nur eine WebDAV-Verbindung speichern. Der Zugriff auf den Apache-WebDAV im LAN erfolgt problemlos (auch ohne SSL).
“GoodReader” kann ebenfals erfolgreich auf unseren Apache-WebDAV zugreifen, allerdings sind keine Viewer enthalten, sonden die Files müssen immer erst heruntergeladen werden…
“OverTheAir” kann problemlos auf unseren Apache-WebDAV zugreifen und enthält auch Viewer für vieles…
“iFiles” ……