Pour éditer le wiki, il faut demander un compte à un Lapin !
VM calendar
La machine virtuelle calendar.gare.xp fournit un service de calendrier interne (ou pas) au Loop.
OS
- Hébergée sur supervixen
- Debian Wheezy créée par
debootstrap
:
xen-create-image --hostname calendar
- IP : 192.168.0.85 - RDNS : calendar.gare.xp
-
apache2
,postgresql
- Installée par okhin. Root: okhin. ToM
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é.
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 :
- http://calendar.gare.xp/client/ en lecture et écriture depuis la Gare XP (nécessite le mot de passe du compte :
leloop
/poolel
), en lecture quand même depuis l’extérieur, soyons fous. - http://cal.leloop.org/public/ depuis le reste des intertubes, mais en lecture seule.
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
.