Kalender mit CalDAV: Wie Zugriff über Browser von überall?

Status
Für weitere Antworten geschlossen.

Apropo

Benutzer
Mitglied seit
18. Jul 2013
Beiträge
239
Punkte für Reaktionen
0
Punkte
16
Hast du auch den Html5 Cache geupdatet wie in Punkt 7 beschrieben? Soll man nach jeder Änderung der Config machen. Ich habs zwar gemacht, aber bei mir klappt der Login leider trotzdem nicht.
 

McFlyHH

Benutzer
Mitglied seit
02. Jan 2014
Beiträge
427
Punkte für Reaktionen
82
Punkte
28
Ich klinke mich mal ein, ich scheiter bei der Installation von Owncloud auf einer DS214 mit DSM 5 schon am Schritt 1 mit folgender Fehlermeldung:
"Dependency check

Dependencies not found.
Can't write to the current directory. Please fix this by giving the webserver user write access to the directory."

Was sagt mit das!?

Gruß
McFly
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Soweit der einfache Teil. Wenn du jetzt ip-syno/Pfad/deiner/Wünsche/caldavzap oder url-syno/Pfad/deiner/Wünsche/caldavzap mit http oder https aufrufst solltest du zu einem Login Screen kommen.
Dieser hat allerdings noch keine Funktion, weil er erstmal ins Nirvana führt (außer bei Spezialfällen, z.B. mit DaviCal Server, wo die Config direkt passt).
Also hier bekomme ich immer nur : Die Seite wurde nicht gefunden.
Ich rufe im Browser folgendes auf:
http://192.168.178.xx/volume1/web/caldavzap

Was mache ich falsch ?
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
@Venkman - Das lautet nur http://192.168.178.xx/caldavzap . /volume1/web ist nur wo das Verzeichnis auf der Platte liegt. "web" ist aber der DocumentRoot, also das oberste Verzeichnis für den Web-Server. Nur Verzeichnisse die unterhalb davon liegen tauchen in einer URL auf.

@McFlyHH - bitte poste dafür in einem der owncloud threads oder starte einen neuen. Sonst wird das zu wirr. Ebenfalls solltest du mehr Details preisgeben, z.B. nach welcher Anleitung du vorgegangen bist, welche Installationsmethode du gewählt hast etc. Je ausführlicher, desto besser. Es hört sich so an, als ob der webserver (user: http, group: http) keine ausreichenden Rechte im Owncloud Verzeichnis hat. Das läßt sich z.B: auf der Kommandozeile oder via File Station ändern.

@apropo - ja, habe ich gemacht. Zur Info, in Firefox findet sich der "HTML5 cache" oder appcache in den Einstellungen unter Options -> Advanced -> Network -> Offline data.
Wenn ich die globalNetworkCheckSettings auf die owncloud URL setze (".../owncloud/remote.php/caldav/") hängt der Login schonmal auf "Dauersanduhr" und kommt nicht direkt wieder zum Login zurück. Mal weiter probieren...
 
Zuletzt bearbeitet:

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
Ok, kaum macht man es richtig, geht es auch. Allerdings etwas halblebig. Liegt vielleicht an der Kombo owncloud <-> caldavzap. Bei den Einstellungen steht ja immer was von Davical, und da gibt es vermutlich Unterschiede zu owncloud.

caldavzap arbeitet mit den principals URLs, deshalb lautet für owncloud die richtige URL natürlich
... var globalNetworkCheckSettings={href: 'https://syno-url/owncloud/remote.php/caldav/principals/', hrefLabel:.....
Dann kann man sich mit dem owncloud Benutzer und Passwort einloggen und er zeigt auch die Kalender an.

Allerdings findet sich in der Browser Console noch etliche Fehler ala
https://syno-url/caldavzap/ : Unable to run script because scripts are blocked internally.
not well-formed
oder
Error: [netSaveSettings: 'PROPPATCH https://<user>@synosrv.rippel.me/owncloud/remote.php/caldav/principals/<user>/'] code: '403' status: 'error'

Jedenfalls zeigt er die Kalender an, auch die Shared Kalender von anderen Nutzern von owncloud. Und langsamer ist das Interface (im Verlgeich zum Owncloud eigenen Web-Interface) bis jetzt auch nicht, eher schneller. Kann also gelegentlich mal weiter testen.

Als nächstes probiere ich jetzt mal, ob/wie es mit dem Syno-CalDAV geht.
 

Venkman

Benutzer
Mitglied seit
04. Apr 2014
Beiträge
196
Punkte für Reaktionen
0
Punkte
16
Danke für den Tipp, soweit klappt alles.
Anmeldebildschirm ist da :)

Jetzt muss ich aber warscheinlich viel probieren.
Ich nutzte nämlich nicht owncloud sondern Baikal.

Na mal sehen ob ich das hin bekomme.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.159
Punkte für Reaktionen
912
Punkte
424
Einen Schritt weiter...

Auf der Syno eine Freigabe für Kalender anlegen und den Benutzern, die Kalender nutzen sollen, die entsprechenden Rechte auf diese Freigabe geben. Ich habe mal die Freigabe "DScal" erstellt und dem Benutzer "test1" Lese/Schreibrechte gegeben. Danach habe ich unter Webdienste, webDaV den CalDAV server aktiviert. Dann habe ich einen Kalender "test" angelegt, der unter DScal abgelegt ist (angezeigter Ort: /DScal/test).

In der config.js habe ich eingestellt
var globalNetworkCheckSettings={href: 'https://syno-url:port/DScal/' ....
Der Port ist entweder 5006 oder ein anderer, den ihr euch in den webDAV Einstellungen gesetzt habt. Ich belasse es mal bei 5006 in den Beispielen.

Einloggen geht zwar weiterhin noch nicht, aber in der Browser Console finden sich weitere Hinweise.

Das Problem ist nun vermutlich, dass der webserver unter port 443 läuft, aber webDAV/calDAV der Syno über webDAV-Port (5006 oder anderer gewählter).
"Info: [globalNetworkCheckSettings: 'https://syno-url:5006/DScal/']: crossDomain set to: 'false'" main.js:860
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://syno-url:5006/DScal/. This can be fixed by moving the resource to the same domain or enabling CORS. DScal
"Error: [netCheckAndCreateConfiguration: 'PROPFIND https://syno-url:5006/DScal/'] code: '0' status: 'error' - see https://www.inf-it.com/caldavzap/readme.txt (cross-domain setup)"

Jetzt müßte man entweder den Apache oder den Syno-CalDAV dazu bringen CORS Header auszuliefern (oder den Browser das zu ignorieren. Vermutlich ein Sicherheitsrisiko)

Nachdem ich nochmals den Cache gelöscht habe bekomme ich nur noch
OPTIONS https://syno-url:5006/DScal/ [HTTP/1.1 401 Authorization Required 34ms]
"Info: [globalNetworkCheckSettings: 'https://syno-url:5006/DScal/']: crossDomain set to: 'false'" main.js:860
"Error: [netCheckAndCreateConfiguration: 'PROPFIND https://syno-url:5006/DScal/'] code: '0' status: 'error' - see https://www.inf-it.com/caldavzap/readme.txt (cross-domain setup)"
 

Apropo

Benutzer
Mitglied seit
18. Jul 2013
Beiträge
239
Punkte für Reaktionen
0
Punkte
16
Ich hab jetzt auch nochmal rumprobiert, mit dem Syno-eigenen und mit Baikal. Ich komme auch nicht weiter als du.
Immer die Meldung mit dem cross-domain setup ...
 

DS_Starter

Benutzer
Mitglied seit
15. Jan 2012
Beiträge
271
Punkte für Reaktionen
0
Punkte
16
Hallo zusammen,

ich habe Agendav zum Laufen bekommen und möchte euch hier eine kleine Anleitung dazu geben.

Agendav herunterladen von http://agendav.org/. Entpacken nach "/volume1/web/agendav".

Installationsanleitung unter http://agendav.org/doc/1.2.6.2/admin/installation.html.

Die nachfolgende Beschreibung geht davon aus, dass die Anwendung im Ordner ".../web/agendav" installiert wird. Und es existiert ein CalDAV-Kalender mit dem Namen "Kalender". Angelegt im DSM unter Systemsteuerung -> Dateidienste -> WebDAV -> Kalenderliste anzeigen -> Hinzufügen.

Zur Installation der Anwendung wie folgt für Verwendung MariaDB vorgehen:

* zuerst in phpmyadmin den user agendav anlegen und gleichzeitig eine Tabell gleichen Namens mit Characterset utf8_general_ci
* Zuweisen aller Rechte auf diese Datenbank für server "localhost"
* Anlegen der Tabellen mit "mysql --default-character-set=utf8 -uagendav \ -p agendav < sql/mysql.schema.sql" von der ssh-Konsole im Verz. "/web/agendav" aus
* Update Tabellen (Zusätzlich wird Tabelle prefs angelegt) mit "./agendav/bin/agendavcli dbupdate"
Achtung: vorher in der Datei "agendavcli" die 1. Zeile "... bash" mit vi entfernen !
* die Erstellung des virtuellen Host war nicht notwendig bzw. möglich weil Synology nur die Angabe eines Verzeichnisses ohne Unterverzeichnisse zulässt.

Weiter mit der Konfiguration wie hier http://agendav.org/doc/1.2.6.2/admin/configuration.html beschrieben.

Dabei zunächst im Verzeichnis ../agendav/web/config Kopien aller Template-Dateien anlegen, also :

caldav.php.template -> caldav.php
config.php.template -> config.php
database.php.template -> database.php

Die kopierten Dateien werden nun angepasst. Beschrieben werden jetzt nur die Parameter, die ich auch angepasst habe. Alle weiteren Möglichkeiten sind in dem obigen Link dargestellt.

Datei config.php:

$config['base_url'] = 'http://sds1.myds.me/agendav/web/public/';

$config['log_path'] = '/volume1/web/agendav/log/'; -> das Verzeichnis auch im Filesystem anlegen

$config['site_title'] = '<Kalendertitel>';

$config['footer'] = '<Kalender>';

$config['default_language'] = 'de_DE';

$config['default_date_format'] = 'dmy';

$config['default_first_day'] = 1;

$config['default_timezone'] = 'Europe/Berlin';

In der Datei database.php die spezifischen Daten für den DB-Zugriff konfigurieren.

$db['default']['hostname'] = 'localhost';

$db['default']['username'] = '<DB-Schema Username>';

$db['default']['password'] = '<Passwort>';

$db['default']['database'] = 'agendav';

$db['default']['dbdriver'] = 'mysqli';

Die Datei caldav.php enthält die CalDAV-Einstellungen. Hier bin ich momentan nur soweit, dass ich einen in der Synology angelegten Kalender eingebunden habe. Er heißt "Kalender"

$config['caldav_principal_url'] = 'http://<host>:5005/Shared_Data/Calendars/';

$config['caldav_calendar_url'] = 'http://<host>:5005/Shared_Data/Calendars/Kalender/';

$config['public_caldav_url'] = 'http://<host>:5005/Shared_Data/Calendars/Kalender/';

Wichtig: Einen logischen Link "config" im Verzeichnis ".../web/agendav/web/application" anlegen.

ln -s /volume1/web/agendav/web/config config

Ein Fehlen des Links führt zu Fehlern. Wahrscheinlich wird der Link beim Entpacken nicht angelegt, es gibt stattdessen nur eine Datei "Config" mit der Länge 0 in diesem Verzeichnis.

Test der Konfiguration

Im Verzeichnis "../web/agendav/web/public" existiert eine Datei "configtest.php". In dieser Datei den Parameter setzen:

define('ENABLE_SETUP_TESTS', TRUE);

Danach kann die Datei ausgeführt werden mit

http://<host>/agendav/web/public/configtest.php.

Alle Tests sollten nun erfogreich verlaufen.

Aufruf der Applikation mit

http://<host>/agendav/web/public/

sollte nun möglich sein. Der abgefragte User / Passwort entspricht dem Zugang für den Kalender auf der Synology. Agendav selbst hat keine eigene Userverwaltung. Noch nicht hinbekommen habe ich, dass aus mehreren vorhandenen Kalendern ausgewählt werden kann und die Benachrichtigungsfunktion klappt auch noch nicht.

Vielleicht bekommen wir das ja auch noch hin.
 
Zuletzt bearbeitet:

Nima

Benutzer
Mitglied seit
11. Okt 2013
Beiträge
220
Punkte für Reaktionen
0
Punkte
16
Vielen Dank. Gute Arbeit!
 

Apropo

Benutzer
Mitglied seit
18. Jul 2013
Beiträge
239
Punkte für Reaktionen
0
Punkte
16
Ich bekomme beim Datenbank-Update leider Fehler. Jemand ne Idee wie ich das beheben kann? Ich habe versucht den Pfad zum web Ordner bzw. auch den Pfad direkt zum agendav zu open_basedir hinzuzufügen. Hat leider auch nichts geändert.

DiskStation> ./agendav/bin/agendavcli dbupdate
sh: /core_perl: unknown operand
PHP Warning: file_exists(): open_basedir restriction in effect. File(../application/config/production/constants.php) is not within the allowed path(s): (/etc.defaults:/etc:/usr/syno/synoman:/tmp:/var/services/tmp:/var/services/web:/var/services/homes) in /volume1/web/agendav/web/system/core/CodeIgniter.php on line 58
PHP Warning: require(): open_basedir restriction in effect. File(../application/config/constants.php) is not within the allowed path(s): (/etc.defaults:/etc:/usr/syno/synoman:/tmp:/var/services/tmp:/var/services/web:/var/services/homes) in /volume1/web/agendav/web/system/core/CodeIgniter.php on line 64
PHP Warning: require(../application/config/constants.php): failed to open stream: Operation not permitted in /volume1/web/agendav/web/system/core/CodeIgniter.php on line 64
 

DS_Starter

Benutzer
Mitglied seit
15. Jan 2012
Beiträge
271
Punkte für Reaktionen
0
Punkte
16
Hallo,

wahrscheinlich werden die Dateien nicht gefunden.
Versuche mal den logischen Link "config" im Verzeichnis ".../web/agendav/web/application" anzulegen bevor du den Aufruf machst:

ln -s /volume1/web/agendav/web/config config

Ein Fehlen des Links führt zu Fehlern. Wahrscheinlich wird der Link beim Entpacken nicht angelegt, es gibt stattdessen nur eine Datei "Config" mit der Länge 0 in diesem Verzeichnis.
Wahrscheinlich muß ich meine Beschreibung korrigieren wenn das dann funktioniert.
 

Apropo

Benutzer
Mitglied seit
18. Jul 2013
Beiträge
239
Punkte für Reaktionen
0
Punkte
16
Ok, das mit dem Link hat geklappt, danke. Das Update sollte sowieso zum Schluss gemacht werden, da ja erst die Config der Datenbank gemacht sein muss.

Ich kann mich jetzt einloggen, aber ich bekomme sofort rechts eine Fehlermeldung "Schnittstellenfehler - Fehler beim Laden der Termine von Kalender Kalender:Andy
Anlegen neuer Termine oder Kalender ist natürlich auch nicht möglich. Mal gucken wie ich das noch hinbekomme ...
 

DS_Starter

Benutzer
Mitglied seit
15. Jan 2012
Beiträge
271
Punkte für Reaktionen
0
Punkte
16
Hallo Apropo,

momentan habe ich nur das Zusammenspiel von Agendav mit dem CalDAV-Dienst von Synology hinbekommen wenn man vorher unter Systemsteuerung -> Dateidienste -> WebDAV -> Kalenderliste einen Kalender anlegt. Der Zugriff auf diesen Ordner, den man dort angeben muß, soll natürlich für den verwendeten User gestattet sein.
Eine Neuanlage von Kalendern über Agendav oder die Auswahl von Kalendern - sofern vorhanden - habe ich bisher nicht hinbekommen. Ich bezweifle auch ob dies mit dem Synology Standard-CalDAV Dienst gehen kann. Versiertere User können vielleicht mehr dazu sagen.

Bemerkt habe ich auch dass diese Fehlermeldung kommt, wenn in dem angelegten Kalender noch kein Termin eingetragen ist. Sobald der erste Termin für den angezeigten Monat (Zeitraum) erstellt wurde kommt nichts dergleichen mehr. Die Anlage von neuen Terminen hat problemlos funktioniert. Kontrolliert habe ich das Ganze auch unter Thunderbird mit der Lightning-Extension. Klappt prima.
 
Zuletzt bearbeitet:

Merowinger22

Benutzer
Mitglied seit
06. Feb 2013
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Ich habe jetzt mal Baikal und Caldavzap installiert, allerdings auf einem Webspace und nicht auf der Synology. Das sollte dann aber auch funktionieren.

Gehalten habe ich mich grob an dieses Beispiel: http://www.trbtr.de/pmw/pmwiki.php/Text/Baikal-caldavzap

Baikal installieren und einrichten
Im Baikalordner einen Ordner erstellen und CalDavZap reinschmeißen
Dann laut Webseite die config Datei von CalDavZap einstellen.
Fertig
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat