Pour éditer le wiki, il faut demander un compte à un Lapin !

VM calendar

From Le L∞p's Wiki
Revision as of 13:44, 1 February 2014 by ToM (Talk | contribs) (Ouvrir le robots.txt: ça pas marche...)

Jump to: navigation, search

La machine virtuelle calendar.gare.xp fournit un service de calendrier interne (ou pas) au Loop.

OS

xen-create-image --hostname calendar

Services

Le serveur héberge le service DAViCal installé depuis les dépôts Debian, sur une base postgresql. apache2 sert le contenu en local (sur calendar.gare.xp), et un reverse proxy sur aiguilleur permet d'accéder au calendrier public et aux ics à l'URL http://cal.leloop.org.

DaviCAL

DAViCal est installé depuis les dépôts Debian. La configuration se fait dans /etc/davical/calendar.gare.xp-conf.php.

Pour ajouter un calendrier externe, il faut utiliser le script /usr/share/davical/bind_external_calendar.sh.

Le fonctionnement de DAViCal est un peu particulier. Il faut créer des principals depuis un compte admin' qui sont de type User, Resource (un User qui n'a pas pour but de se loguer) et Group. Par défaut, un principal est créé avec deux collections, l'une (/username/addresses) qui sert de CardDAV pour la gestion des contacts et l'autre (/username/calendar) qui est le calendrier par défaut.

Il est parfaitement possible d'ajouter d'autres collections (calendriers ou carnets d'adresses).

Une collection publique sera accessible en lecture seule à l'URL /public.php/principal/collection/. Les autres collections nécessitent une identification et sont accessibles à /caldav.php/principal/collection/.

Des ACL permettent de définir les accès aux différentes collections en fonction du principal connecté.

Icone information.png Note : Plus d'infos sur le wiki de DAViCal.

La ressource est disponible à l'adresse http://calendar.gare.xp

Ouvrir le robots.txt

Lors de l'import dans Google Agenda, le fichier robots.txt du paquet davical génère une erreur :

 Erreur de paramètres
 Impossible de récupérer l'URL, car le fichier robots.txt nous empêche de l'explorer.

Dans Apache, on redirige donc silencieusement cette requête vers un fichier à nous :

# Le fichier upstream disallow tout, on contourne :
Alias           /robots.txt     /var/www/robots.txt

Pour Google Agenda, ça semble ne pas suffire. Une explication improbable serait que le service Google se serve de l'IP et non pas du FQDN, tombant alors sur le robots.txt d'aiguilleur qui, lui, disallow tout.

CalDavZap

Le client JavaScript est un CalDavZAP, accessible à deux endroits :

La configuration du client se fait dans /usr/share/davical/htdocs/{public,client}/config.js selon l'interface à modifier. Après toute modification, il est nécessaire de rafraîchir le cache.manifest en appelant l'utilitaire /usr/share/davical/htdocs/{public,client}/cache_update.sh .