Dies ist eine alte Version des Dokuments!
Installation
Unter Windows wird Cygwin installiert, in der Gruppe „Net“ muss „cadaver“ extra angewählt werden. Das bin-Verzeichnis von Cygwin muss in die Umgebungsvariable PATH aufgenommen werden.
Unter Linux kann cadaver meist über die systemeigene Paketverwaltung installiert werden.
Ist kein vorgefertigtes Paket für Linux verfügbar, können die Quellen von http://www.webdav.org/cadaver bezogen werden. Nach dem Auspacken sollte die Installation mit
./configure --sysconfdir=/etc --localstatedir=/var --with-ssl=openssl make make install
erfolgen.
SSL-Zertifikate
Für SSL-Verbindungen prüft cadaver die Zertifikatskette und „nervt“ mit einer Abfrage, wenn ein Zertifikat nicht verifiziert werden kann. Um Uploads vollautomatisch vorzunehmen ohne diese Abfrage müssen die drei SSL-Zertifikate telekom.crt, dfn.crt und cacert.crt von der RZ-Webseite installiert werden. Im Beispiel gehen wir davon aus, dass diese schon heruntergeladen und im Verzeichnis c:\temp abgespeichert wurden.
Die nachfolgenden Befehle müssen in einer Eingabeaufforderung ausgeführt werden, die als Administrator ausgeführt wird:
cd \cygwin\usr\ssl\certs xcopy c:\temp\telekom.crt . xcopy c:\temp\dfn.crt . xcopy c:\temp\cacert.crt . xcopy telekom.crt 812e17de.0 xcopy dfn.crt 6107e209.0 xcopy cacert.crt 74f0e817.0
Linux-Nutzer kopieren die Dateien analog nach /etc/pki/tls/certs:
cd /etc/pki/tls/certs cp /home/erwin/Downloads/telekom.crt . cp /home/erwin/Downloads/dfn.crt . cp /home/erwin/Downloads/cacert.crt . ln telekom.crt 812e17de.0 ln dfn.crt 6107e209.0 ln cacert.crt 74f0e817.0
Die Zahlen in den Dateinamen mit der 0 am Ende sind Hashes und wurden mit
openssl x509 -subject_hash -noout -in telekom.crt openssl x509 -subject_hash -noout -in dfn.crt openssl x509 -subject_hash -noout -in cacert.crt
ermittelt, das abschließende „.0“ darf nicht vergessen werden. Diese Hashes müssen neu erzeugt und verlinkt werden, wenn neue Versionen der Zertifikate benutzt werden, beispielsweise weil eines der Zertifikate abläuft.
Verwendung
Mit
cadaver
wird das Programm gestartet, die Nutzung ist vergleichbar mit ftp-Clients und smbclient (u.a. gibt es Befehle open, cd, put, get, close…)
Nutzername und Passwort
In der Datei .netrc im Cygwin-Homeverzeichnis (z.B. c:\cygwin\home\erwin) können für bestimmte Hosts Nutzernamen und Passwort gespeichert werden, z.B.:
machine cms.fh-schmalkalden.de login erwin password geheim
Damit wird nicht mehr nach Nutzernamen gefragt, wenn mit open eine Verbindung zum Server hergestellt wird.
Hinweis: Diese Datei muss gegen unberechtigten Zugriff gesichert werden, andere Benutzer sollten keinen Zugriff auf diese Datei haben.
Kommandos automatisieren
Mit der Option –rcfile=Datei kann eine Datei mit Kommandos angegeben werden, die von cadaver ausgeführt wird.
Beispiel für eine solche *.cmd-Datei (bei mir d:\krause\bat\cadaver-anl-it.cmd):
PATH C:\cygwin\usr\bin;C:\cygwin\bin;%PATH% d: cd \fhs\labor\anleitung\gos cadaver --rcfile=/cygdrive/d/krause/bat/cadaver-anl-it.rc
Die *.rc-Datei enthält dann die cadaver-Kommandos (z.B. d:\krause\bat\cadaver-anl-it.cmd):
open https://cms.fh-schmalkalden.de/bin/webdav/index.php?/ cd schmalkalden cd Multimedia cd Downloads cd elektrotechnik cd l cd edv put gos.pdf close quit
WebDAV mit MacOS
siehe webdav_mac_os_x
Links von Webseiten auf Downloads
Werden auf den Webseiten Links auf Dateien im Download-Bereich gesetzt, sollten nicht die vom CMS generierten Dateinamen verwendet werden. Für das Beispiel mit der Datei gos.pdf in Multimedia / schmalkaldenmedia / Downloads / elektrotechnik / l / edv lautet der Link nicht
index.php?id=6026&suffix=pdf&nonactive=1&lang=de&site=schmalkaldenmedia
wie vom CMS automatisch generiert, sondern
http://www.fh-schmalkalden.de/schmalkaldenmedia/Downloads/Pfad/Datei
für unser Beispiel:
http://www.fh-schmalkalden.de/schmalkaldenmedia/Downloads/elektrotechnik/l/edv/gos.pdf
Hintergrund: Wenn im Downloadbereich eine Datei durch eine neue Version ersetzt wird - egal ob über Web-Interface oder DAV - vergibt das CMS eine neue ID (der id=-Teil der automatisch generierten URL). Die alte Dateiversion wird dabei jetzt woanders gespeichert, ist aber immer noch mit der alten ID verknüpft.
Werden die vom CMS automatisch generierten URLs verwendet, um Downloads zu referenzieren, wird auch nach einem Ersetzen des Dokumentes vom CMS weiterhin die alte Version ausgeliefert.