Apache WebDAV
Die Site webShare.conf
ist eine exemplarische Anwendung, bei der ein Ordner
aus dem Dateisystem via WebDAV (wiki) exportiert wird. Anwendungsbeispiele
finden sich im Abschnitt WebDAV-Clients.
Die Konfiguration legt den Ordner /share/WEBSHARE
an und stellt ihn über
https://localhost/WEBSHARE ins Netz. Für die Freigabe wird das Apache mod_dav
Modul und das Apache mod_dav_fs Modul aktiviert.
sudo -H mkdir -p /share/WEBSHARE
sudo -H chown -R www-data:www-data /share/WEBSHARE
sudo -H a2enmod dav dav_fs
sudo -H a2ensite webShare
sudo -H service apache2 reload
Site webShare
Die Site webShare.conf
definiert die Directory Resource /share/WEBSHARE
und setzt den Alias /WEBSHARE
auf diese Resource (vergleiche
Alias Direktive).
Alias /WEBSHARE /share/WEBSHARE
<Directory /share/WEBSHARE>
DAV on
SSLRequireSSL
Require valid-user
AuthType Basic
AuthBasicProvider external
AuthName "webShare"
AuthExternal pwauth
...
Der Zugriff soll nur angemeldeten Benutzner möglich sein (s.a.
Autorisierung zum Zugriff auf Resourcen), was über die Apache Require Direktive Require
valid-user
gesetzt wird. Zur Benutzeridentifizierung (Anmeldung) wird das
Apache mod_authnz_external Modul verwendet, dass mit der
/etc/apache2/conf-available/authnz_external.conf aktiviert wurde (näheres zum Anmeldevorgang
siehe dort).
Der Zugriff auf den WEBSHARE
Ordner:
...
Order deny,allow
Deny from all
Allow from fd00::/8 192.168.0.0/16 fe80::/10 127.0.0.0/8 ::1
AllowOverride None
...
Mit der oben gezeigten Konfiguration wird das DAV Protokoll aktiviert, es wird
nur verschlüsselt kommuniziert, es ist ein Login erforderlich und es sind nur
Zugriffe aus den Link-Local Netzen gestattet. Navigiert man die Resource mit dem
WEB-Browser an, dann soll ein Autoindex angezeigt werden. In dem Kontext der
Resource wird deshalb noch der Autoindex eingeschaltet, der die Header/Readme
Datei aus dem chrome-Ordner verwenden soll (vergleiche
Serverside Includes):
...
Options +Indexes +FollowSymLinks
HeaderName /chrome/header.shtml
ReadmeName /chrome/footer.shtml
...
Da dieser Bereich eher private ist, soll er auch nicht von einem Robot
gescannt werden (vergleiche HTTP-Headers)
...
<IfModule mod_headers.c>
Header always set X-Robots-Tag "none"
</IfModule>
</Directory>
Zu tun
Die Refresh-Rate sollte noch in den HTTP-Headern eingestellt werden
können. Mir scheint, das manche Clients diese Refresh-Zeiten verwenden.
Z.B. Outlook scheint seine Refreshrate zur Veröffentlichung eines Kalenders
danach einzustellen (die Wiederholrate zum Upload/Update des Kalenders auf
den Share .. so ganz sicher bin ich mir da aber auch nicht).
Hinweise
Ein webDAV Server sollte besser nur im eigenem Subnet betrieben werden und nicht
ohne weitere Sicherheitsmaßnahmen ins Internet gestellt werden. Eine zusätzliche
Sicherheitsmaßnahme kann z.B. das Einrichten des Apache
WAF: ModSecurity Moduls sein. Wobei auch angemerkt werden muss, dass
durch DAV Anwendungen die False Positive einer solchen WAF unter umständen
zunehmen können.
Eine Deinstallation der webShare
-Site kann mit folgenden Kommandos erreicht
werden:
sudo -H a2dissite webShare
sudo -H a2dismod dav dav_fs
sudo -H service apache2 reload