Schlüsselmeister

Damit nicht versehentlich mehrere Benutzer gleichzeitig in eine Datei schreiben und somit Daten unweigerlich verloren gehen, sperrt Apache den Zugriff. Alle diese Locks merkt sich der Webserver in einer kleinen Datenbank, genauer gesagt in einer SDBM-Datei, wie sie auch bei der Benutzer- und Passwortverwaltung zum Einsatz kommt. Diese Datenbank erstellt und verwaltet das Modul »mod_dav_fs« selbständig. Wo es sie auf dem Server ablegt, bestimmt die Direktive »DavLockDB« . Der dahinter folgende Wert setzt sich aus dem Pfad (im Beispiel »/usr/local/apache2/var/« ) und einem Dateinamen ohne Endung (hier »DavLock« ) zusammen. Apache muss für das das gewählte Verzeichnis Schreibrechte besitzen, sonst kommt es im Betrieb zu einem etwas merkwürdigen Verhalten. Beispielsweise lassen sich Dateien zwar lesen, aber nicht auf dem Server ablegen oder aber es hagelt Fehlermeldungen vom Typ »Internal Server Error« . Man sollte in solchen Fällen immer einen Blick in die Apache Log-Datei »error_log« werfen. Findet sich dort die Meldung »Could not open the lock database« (unter Umständen mit anderen Fehlern vermischt), so stimmen die Zugriffsrechte auf die Lock-Datenbank nicht.

Wie lange eine Datei gesperrt bleibt, bestimmt maßgeblich der zugreifende Client. Über die optionale Direktive »DavMinTimeout« kann der Administrator aber auch eine Mindestsperrdauer vorgeben. Per

DavMinTimeout 300

bleiben Dateien beispielsweise mindestens für fünf Minuten gesperrt.

Zugriff!

Abschließend bleibt nur noch, den Webserver neu zu starten, unter Ubuntu beispielsweise per:

sudo /etc/init.d/apache2 restart

und schon hat jeder Nutzer Zugriff auf das Verzeichnis »/var/webdav« . Gnome-Nutzer zücken dazu einfach den Datei-Browser Nautilus und rufen den Ort »dav://www.example.com/webdav« auf. KDE-4-Nutzer steuern in Dolphin ganz analog die Adresse »webdav://www.example.com/webdav« an. Das erscheinende Verzeichnis kann der Anwender jetzt wie gewohnt verwenden. Alle Dateien, die er dort ablegt, landen automatisch unter »/var/webdav« auf dem Server (Abbildungen 1 und 2).

Abbildung 1: Alle Dateien im Verzeichnis /var/webdav …
Abbildung 2: … stellt Apache via WebDAV über Netz zur Verfügung.

Greift der Anwender über einen normalen Browser, wie etwa Firefox auf die URL »http://www.example.com/webdav« zu, erhält er allerdings noch einen 403-Fehler (»Zugriff verboten« ). Abhilfe schafft »Options +Indexes« :

<Directory "/var/webdav">
        DAV on
        Options +Indexes
</Directory>

Dateiendschungel

Viele Apache-Installationen lagern die WebDAV-Konfiguration aus, meist in die Datei »httpd-dav.conf« (bei XAMPP liegt sie beispielsweise im Unterverzeichnis »extra« ). Gerade bei umfangreichen WebDAV-Konfigurationen sollte man diesem Schema folgen, die Übersicht bleibt so wesentlich besser gewahrt.

Wer virtuelle Hosts eingerichtet hat, spürt zunächst die Konfigurationsdatei auf, die den betroffenen Host einrichtet (Ubuntu und Debian sammeln beispielsweise alle im Verzeichnis »/etc/apache2/sites-available« ) und platziert die WebDAV-Anweisungen im entsprechenden »<VirtualHost ...>« -Container.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2022