Hi Winkman und alle Interessierte,
durch viel Ausprobieren habe ich davfs2 auf der 214play zum Laufen bekommen. Es funktioniert leider nicht vollautomatisch über ipkg, sondern man muss schon etwas selber rumprobieren. Dann wird der 1&1 Onlinespeicher vollautomatisch eingebunden, inklusive Zertifikat.
Ich kann nicht sagen, dass ich alles verstanden habe was ich gemacht habe, aber ich versuche mal den Weg dahin zu beschreiben. Ausgangspunkt ist eine jungfräuliche Diskstation 214plus. Vielleicht funktioniert das auch bei anderen.
!!Ich kann keine Verantwortung übernehmen, bitte nicht den Kopf abschalten und nur abtippen!!
1) Bei der Original-SSL-Installation fehlt zumindest bei mir die openssl.cnf. Daher erhält man beim Installieren des ipkg auch eine Fehlermeldung, die allerdings nicht so problematisch ist. Trotzdem hat es mich genervt. Ob die Datei fehlt kann man mit
testen. Bei mir kam dann
WARNING: can't open config file: /usr/syno/ssl/openssl.cnf
OpenSSL 1.0.1e-fips 11 Feb 2013
Um dies zu lösen habe ich mir unter
http://www.openssl.org/ die passende Distribution runtergeladen, dann entpackt. Im Unterordner openssl-1.0.1e/apps/ liegt dann die openssl.cnf. Diese habe ich dann mit
und
cp /Speicherort_openss_Distribution/openssl-1.0.1e/apps/openssl.cnf /usr/syno/ssl/
an den Ort kopiert. Danach erhalte ich bei
keine Fehlermeldung mehr.
2) Danach kann man IPKG herunterladen und installieren, wie
hier beschrieben. Sollte man IPKG allerdings schon vorher mal installiert gehabt haben, so muss man VORHER die bisherige Installation mit
entfernen. Die Fehlermeldungen - wenn man es nicht macht - sind allerdings aussagekräftig.
3) Neustart,
und
4)
5) Für die 214play benötigte ich dann für davfs2 die
http://download.savannah.gnu.org/releases/davfs2/davfs2-1.4.6-bin-i686-neon-0.27-r1.tar.gz von
hier.
Eigentlich müsste dann die ./bin-install nur ausgeführt werden, muss in diesem Fall allerdings angepasst werden.
Unter anderem muss die Datei zum Beispiel in diesem Abschnitt wie folgt angepasst werden:
mkdir -p /usr/local/etc/davfs2/certs/private
cp davfs2.conf /usr/local/etc/davfs2
cp secrets /usr/local/etc/davfs2
chmod 600 /usr/local/etc/davfs2/secrets
chmod 700 /usr/local/etc/davfs2/certs/private
mkdir -p /usr/local/share/davfs2
cp davfs2.conf secrets /usr/local/share/davfs2
mkdir -p /usr/local/share/doc/davfs2
cp ABOUT-NLS AUTHORS BUGS ChangeLog COPYING FAQ NEWS README README-BIN THANKS T
/usr/local/share/doc/davfs2
Wenn dann eine Fehlermeldung kommt, dass eine Datei bereits vorhanden ist: Diese erst löschen und dann das Script nochmal durchlaufen lassen.
Falls noch nicht nach dem Editieren passiert:
ausführen. Was ich in dem Zusammenhang auch gelernt habe: Wenn sich Scripte nicht mit ./ ausführen lassen, dann muss per
bash installiert werden.
6) Beim Ausführen von
erhalte ich dann die Meldung
DiskStation> mount.davfs
mount.davfs: error while loading shared libraries: libneon.so.27: cannot open shared object file: No such file or directory
Das liegt bei mir daran, dass ich neon per ipkg installiert habe und daher die libneon.so.27 nicht unter /lib, sondern unter /opt/lib liegt.
Dafür lege ich dann eine Verlinkung an:
cd /lib
ln -s /opt/lib/libneon.so.27 libneon.so.27
Danach sollte mount.davfs schon etwas Inhalt bringen, zumindest sieht es bei mir so aus:
DiskStation> mount.davfs
mount.davfs: missing argument
Usage:
mount.davfs -V,--version : print version string
mount.davfs -h,--help : print this message
To mount a WebDAV-resource don't call mount.davfs directly, but use
`mount' instead.
mount <mountpoint> : or
mount <server-url> : mount the WebDAV-resource as specified in
/etc/fstab.
mount -t davfs <server-url> <mountpoint> [-o options]
: mount the WebDAV-resource <server-url>
on mountpoint <mountpoint>. Only root
is allowed to do this. options is a
comma separated list of options.
Recognised options:
conf= : absolute path of user configuration file
uid= : owner of the filesystem (username or numeric id)
gid= : group of the filesystem (group name or numeric id)
file_mode= : default file mode (octal)
dir_mode= : default directory mode (octal)
ro : mount read-only
rw : mount read-write
[no]exec : (don't) allow execution of binaries
[no]suid : (don't) allow suid and sgid bits to take effect
[no]_netdev : (no) network connection needed
Das erste ist rum. Bevor man jetzt was mounten kann muss erst - ich habe es über die Synology-Weboberfläche gemacht - die Gruppe davfs2 und der Benutzer davfs2 angelegt werden, beide mit Schreibrechten auf das Verzeichnis, das mit dem Webdav-Laufwerk verknüpft werden soll. Also am Besten Verzeichnis anlegen und die Berechtigung anpassen.
7) Wenn ich dann mit mount.davfs
verbinden möchte erhalte ich
mount.davfs: can't create directory /var/cache/davfs2: No such file or directory
. Dafür muss nur der entsprechende Ordner angepasst werden. Welcher Ordner das ist steht in der davfs2.conf mit
vi /usr/local/etc/davfs2/davfs2.conf
in der Zeile
cache_dir /opt/var/cache/davfs2 # system wide cache
(habe ich bereits angepasst und das # entfernt). Ich muss daher auch nicht mehr den Ordner /var/cache/davfs2 anlegen, sondern mit mkdir -p /opt/var/cache/davfs2
8) Danach läuft
mount.davfs
https://sd2dav.1und1.de/ /volume1/1und1/
bereits und fragt mich nach Benutzernamen und Password. Ich muss dann nur noch das Zertifikat bestätigen, fertig.
9) In der /usr/local/etc/davfs2/davfs2.conf können dann die Benutzerdaten eingetragen werden. (ich will und kann hier nicht darauf eingehen wie die Datei danach gesichert werden sollte und ob es sinnvoll ist, dort die Zugangsdaten in Klarform zu schreiben).
In meinem Fall habe ich eine Zeile
/volume1/1und1 "Benutzer" "Password"
eigentragen, allerdings ohne Leerzeichen, sondern mit Tabulatoren dazwischen.
10) Da in meinem Fall mount.davfs irgendwo - vermutlich durch mich verursacht - abgestürzt war
mount.davfs: found PID file /var/run/mount.davfs/volume1-1und1.pid.
Either /volume1/1und1 is used by another process,
or another mount process ended irregular
musste ich die entsprechende Datei unter
/var/run/mount.davfs/volume1-1und1.pid
gelöscht werden.
11) Blöd ist immer noch die Zertifikatsbestätigung, die unter
http://www.synology-wiki.de/index.php/WebDAV-Speicher_mithilfe_von_davfs2_direkt_in_die_DS_einbinden gut beschrieben ist. Allerdings muss auch der Weg eingehalten werden. Es funktionierte zumindest bei mir nicht, dass ich den webdav mit dem Browser öffne und dann unten rechts im Browser das Zertifikat auswähle und speichere. Das Zertifikat für 1und1 füge ich mal anbei.
Das Zertifikat muss dann in den Ordner /usr/local/etc/davfs2/certs kopiert werden und in die /usr/local/etc/davfs2/davfs2.conf eingetragen werden:
servercert ThawtePremiumServerCA.pem
und das # muss in der Zeile entfernt werden.
Sollte man beim mounten die Fehlermeldung
mount.davfs: Mounting failed.
Server certificate verification failed: issuer is not trusted
erhalten, so lag es bei mir am falschen Zertifikat (weil ich das über den Schlüssel unten rechts im Browser ausgespielt hatte).
12) Damit das Laufwerk beim Neustart eingebunden wird muss man noch ein Script mit dem Namen S99Davfs2Mount.sh unter /opt/etc/init.d/ erstellen:
Der Inhalt ist bei mir
#!/bin/sh
case $1 in
start)
if test -f /var/run/mount.davfs/volume1-1und1.pid; then
rm /var/run/mount.davfs/volume1-1und1.pid
fi
/usr/local/sbin/mount.davfs -o dir_mode=775
https://sd2dav.1und1.de /volume1/1und1/
;;
stop)
umount /volume1/1und1/
;;
*)
echo "Usage: $0 [start|stop]"
;;
esac
Das Script muss dann noch mit
chmod +x S99Davfs2Mount.sh
ausführbar gemacht werden.
13) Es war bei mir etwas tricky, das das Laufwerk von alleine beim Neustart der Diskstation gestartet wurde. Ich glaube durch das installieren der Bash (ipkg install bash) ging es dann bedeutend besser.
14) Dann funktionierte über ssh und die DS-Weboberfläche der Zugriff bereits richtig gut. Allerdings noch nicht über Samba vom windows-Rechner. Dafür muss in der /usr/local/etc/davfs2/davfs2.conf die Zeile buf_size erheblich erhöht und auskommentiert werden.
Ich bin mir allerdings nicht sicher, ob ich dadurch nur die Symptome, aber nicht die Ursache bearbeite.
Ich vermute, es sollte eine Zweierpotenz sein und sie muss bei mir mindestens 1024 sein, größer geht auch.
Damit sollte es laufen. Es war allerdings nicht ganz einfach, nachträglich noch mal alle Skripe zu verstehen.
BKuhl
P.S.: Eine Sache stört mich doch: Wenn davfs Daten uploaded, dann ist der Ordner /volume1/1und1/ nahezu unbrauchbar. Ich weiß noch nicht, wie bzw. ob ich das anpassen kann.