WebDAV-Serverinstallation und Setup mit Apache 2.0.x auf Debian Sarge

Eine Unterschied des Apache 2.0 zur Version 1.3 besteht darin, daß URLs strenger geprüft werden: Eine URL für eine Collection (d. h. ein Verzeichnis) muß mit einem Slash enden, sonst gibt es einen Redirect (Error).

Im folgenden sind auszuführende Zeilen auf der Shell mit einem "$" oder einem "#". "#" bezeichnet eine Ausführung des Kommandos als root, während "$" durch jeden normalen User möglich ist. Falls nicht anderweitig angegeben sind die Aktionen aus dem Verzeichnis auszuführen, in dem der Build-Prozess angestoßen wird.

Voraussetzungen: Apache Webserver und GDBM-Libraries (incl. dev-Pakete) für dieses Beispiel, und das ssl-cert-Paket.

  • $ apt-get install ligbdbm3 libgdbm-dev ssl-cert

Modifikation der Sourcen (optional)

Werden besondere Anforderungen an den Server gestellt (configure-Optionen beim Kompilieren, etc.), so sind die Schritte in dieser Sektion notwendig und wichtig. Im Beispiel wird die Verwendung von GDBM über SDBM (Default, mit den Sourcen mitgeliefert) aktiviert. Dies hat für einen WebDAV-Server den Vorteil, daß die Unterstützung für sogenannte Meta-Daten oder Attribute zu einer Resource besser ist. Ansonsten führt die Verwendung von Attributen mit größerer Größe oder in größerer Anzahl schnell zu einem Fehler.

  • $ apt-get source apache2 apache2-common apache2-mpm-worker
  • # apt-get build-dep apache2 apache2-common apache2-mpm-worker
  • $ cd apache2-2.0.53
  • editieren der Datei debian/rules:
    • Einfügen eines Switches --with-gdbm in die Variable AP2_COMMON_CONFARGS
  • # dpkg-buildpackage
  • $ cd ..
  • Die gebauten Pakete sind alle im oben erzeugten Verzeichnis. Installiere die benötigten auf folgende Weise:
    • # dpkg -i apache2-utils_2.0.*.deb apache2_2.0.*.deb apache2-common_2.0.*.deb apache2-mpm-worker_2.0.*.deb
    • Zusätzlich können bei Bedarf die apache2-doc Pakete installiert werden, oder eine andere Version des Servers selbst (apache-mpm-* Pakete) kann ausprobiert werden.

Anpassen der Apache-Konfiguration:

  • # cd /etc/apache2
  • Aktivieren des DAV-Moduls für Apache 2.0:
    • # a2enmod dav
    • # a2enmod dav_fs
    • # /etc/init.d/apache2 force-reload
  • (alternativ kann folgendes gemacht werden:)
    • # ln -s /etc/apache2/mods-available/dav* mods-enabled/.
  • Erzeuge ein Konfigurationsfile für den WebDAV-Server durch Anlegen einer Datei /etc/apache2/conf.d/webdav mit folgendem Inhalt:
 
Alias /webdav /var/www/webdav
<Directory /var/www/webdav/>
    DAV On
    DAVDepthInfinity on
    Allow from all
    Order allow,deny
</Directory>
  • Erzeuge ein Directory um die Daten zu beheimaten und setze die korrekten Zugriffsrechte für den Server-Benutzer:
    • # /var/www/webdav
    • # chown www-data.root /var/www/webdav
  • Starte den Apache server neu:
    • # /etc/init.d/apache2 restart

Test:

  • http://server.name.domain/ "anbrowsen"
  • Z. B. im Konqueror die folgende WebDAV-URL angeben: webdav://server.name.domain/webdav/
  • Überprüfung einiger WebDAV-Operationen (kopieren, Verzeichnis anlegen, etc.)

Performance-Tuning:

  • In der ersten Sektion der httpd.conf füge eine Zeile:
    SendBufferSize 31000 hinzu. Dadurch wird der Übertragungs-Puffer vergrößert und beträgt incl. Header knapp 32 KB.
  • Server neu starten
    • # /etc/init.d/apache2 restart