Nextcloud Sync mit Ftp-Server

Hier habe ich beschrieben, wie man auf Nextcloud einen FTP-Server als externen Speicher konfigurieren kann. Mit einem kleinen Hack ist es damit möglich Files von einem FTP-Server auf Nextcloud zu „pushen“. Wirklich funktioniert hat das bei mir nicht zufriedenstellend. – Das wird so von Nextcloud/Owncloud auch nicht offiziell supported. Zeit für einen zweiten Anlauf, der nun seit einem knappen Jahr für mich zufriedenstellend funktioniert:

Der Use-Case ist immer noch derselbe:

  • Mein Drucker kann auf einen FTP-Server scannen, nicht aber in ein Webdav Verzeichnis
  • Ich möchte die gescannten Dokumente aber direkt in Nextcloud haben und mich nicht noch zusätzlich mühsam auf den FTP-Server connecten um die Dokumente abzuholen.

Meine Lösung:

  • Ich betreibe einen eigenen FTP Server.
  • Statt in Nextcloud diesen FTP Server als externen Speicher hinzuzufügen, mounte ich auf dem FTP-Server selber das Nextcloud-Verzeichnis mittels davfs2 (also mit WebDav):
  • Dazu richte ich auf Nextcloud einen speziellen User (Scan) ein, der nur für das Scanning verwendet wird. Dieser Nextcloud-User hält das Verzeichnis in welches gescannt wird.
  • Dieses Verzeichnis wird dann mit allen  Nextcloud-Usern geteilt, welche über das „Scan-Feature“ verfügen möchten (über Verzeichnis teilen).
  • Auf dem  FTP Server mounte ich das Nextcloud Scan-Verzeichnis des Users „Scan“ mittels davfs und konfiguriere das Ziel-Scanverzeichnis des FTP Servers auf eben dieses Verzeichnis des Scan-Users. Damit verwende ich das offiziell von Nextcloud unterstützte WebDav Protokoll um vom FTP Server nach Nextcloud zu speichern.

Und los geht’s:

davfs2 installieren

Auf dem FTP-Server „webdav“ installieren:

sudo apt-get install davfs2

Nextcloud Webdav als root mounten

Der mount kann folgendermassen durchgeführt werden:

sudo mount -t davfs https://nextcloud/remote.php/webdav/  /home/user/nextcloudScan/ -o uid=<userid>,gid=<groupid>,file_mode=775,dir_mode=775

Damit dies automatisch beim Systemstart passiert, trage ich dies in /etc/fstab ein. Bitte beachten, dass ich zusätzlich die Option „noauto“ hinzufüge. Ein direktes mounten beim booten (auto) schlägt fehl, weil das Netzwerk zu diesem Zeitpunkt noch nicht aufgebaut ist. Das automatische mounten kommt später.

https://nextcloud/remote.php/webdav/  /home/user/nextcloudScan/ davfs noauto,uid=<userid>,gid=<groupid>,file_mode=775,dir_mode=775 0 0

Nun wird jeweils noch der Webdav-User inkl. Passwort abgefragt. Diese Infos kann man im file /etc/davfs2/secrets hinterlegen:

/home/user/nextcloudScan <nextcloudUser> <nextcloudPasswort>

Nun sollte ein mount automatisch funktionierten:

sudo mount /home/user/nextcloudScan

Der Trick liegt nun dabei, dass das der FTP-Server in das Verzeichnis nextcloudScan schreibt. Meinen FTP Drucker konfiguriere ich entsprechend. Damit schreibt der Drucker indirekt nach Nextcloud.

Automatisch beim booten mounten

Das file /etc/rc.local wird nach dem booten ausgeführt. Hier hinterlege ich nun noch meinen mount-Befehl:

vi /etc/rc.local

mount /home/user/nextcloudScan

…Voilà, jetzt werden alle Einträge in der fstab gemounted.

Alternative: Das lokale FTP-Verzeichnis mit rsync nach nextcloud synchen

Ansonsten könnte man auch das FTP-Verzeichnis auf dem FTP-Server mit rsync synchronisieren. Das ist aber mit obiger Lösung so nicht mehr nötig.

rsync -rutv --inplace scan/ nextcloudScan/

Referenzen

FTP-Scanning nach Nextcloud

Dieser Beitrag ist deprecated. Siehe hier für neue Lösung.

Ich habe zuhause einen schönen Drucker/Scanner stehen. Dieser Drucker/Scanner kann Dokumente einscannen und direkt an einen FTP-Server senden. Tolle Sache. Nun möchte ich aber, dass der Drucker direkt nach Owncloud scant. Owncloud selber hat keinen integrierten FTP-Server. Aber man kann in Owncloud einen FTP-Server als externen Speicher hinzufügen (siehe hier). Continue reading

Owncloud Calendar – Fehlerhafte Einträge aus iOS

Die Owncloud Calender Synchronisation auf ein Android-Telefon funktioniert mit calDav einwandfrei. Leider kann man dies für iOS Geräte nicht behaupten (Owncloud 8.1). Wo genau der Fehler liegt (iOS oder Owncloud) kann ich nicht beurteilen:

Exception: {"Message":"End of document reached prematurely","Code":0,"Trace":"#0 \/var\/www\/owncloud\/3rdparty\/sabre\/vobject\/lib\/Parser\/MimeDir.php(168): Sabre\\VObject\\Parser\\MimeDir->readLine()\n#1 \/var\/www\/owncloud\/3rdparty\/sabre\/vobject\/lib\/Parser\/MimeDir.php(137): Sabre\\VObject\\Parser\\MimeDir->parseLine('BEGIN:VEVENT')

Lösung

Auf der mysql-db die fehlerhaften Einträge suchen und löschen.

suchen:

 SELECT * FROM oc_clndr_objects WHERE calendardata NOT LIKE '%END:VCALENDAR%';

Diese Records entfernen. Anschliessend sollte die Synchronisation auch im iOS wieder funktionieren. Bis der nächste Fehler auftritt…

Evtl. wäre es eine gute Idee die Löschung zu automatisieren 🙂

Continue reading

Mozilla_Sync mit Owncloud

Nachdem mein liebster Browser Firefox für sich entschieden hat, die Owncloud Synchronisation von Lesezeichen, Passwörtern, etc. nicht mehr zu unterstützen (siehe hier) musste ich mich nach alternativen umsehen:

Pale Moon

Mit Pale Moon bin ich fündig geworden. Pale Moon basiert auf dem Source-Code von Firefox (Firefox fork) und unterstützt entsprechend viele Add-On von Firefox direkt. Pale Moon bietet die Synchronisation Version 1.1 noch „out of the box“ an.

Installation

  • www.palemoon.org
  • Gibt es für die meisten Betriebssysteme

Firefox Sync mit Version 1.1 ab Firefox 33

Wenn man nicht auf Firefox verzichten möchte, kann man das Sync-Protokoll Version 1.1 noch „reaktivieren“ in dem man folgende Anpassung in about:config vornimmt:

about:config
 services.sync.fxaccounts.enabled = false (Boolean-Wert)