Installer un serveur Caldav

lun. 09 décembre 2013 par Sabcat

Nous allons voir l'installation simple d'un serveur Caldav (Radicale) sur un serveur à base de Raspberry Pi sous Raspbian. L'utilisation qui sera faite ici est la synchronisation d'un agenda entre deux (ou plus) machines équipées de Thunderbird et du plugin Lightning.
En faisant une modification sur un des agendas, les autres sont modifiés automatiquement. Voilà pour le principe. Passons maintenant à l'installation à proprement parler.

On commence par mettre le système à jour:

apt-get update && apt-get upgrade

Puis, on installe Python-pip:

apt-get install python-pip

Une fois Python-pip installé, on lance l'installation de Radicale:

pip install radicale

Ca y est, c'est fait. Maintenant, on va automatiser le lancement automatique du serveur Radicale à chaque démarrage de la machine. On va modifier le fichier /etc/rc.local en y ajoutant cette ligne:

/usr/local/bin/radicale

Vous pouvez à présent démarrer le service par la simple commande suivante:

radicale

Pour vérifier que le serveur est bien parti, ouvrez une page vierge dans Firefox et collez-y ceci:

http://votre_adresse_ip:5232

Il devrait vous indiquer: it works! (ou un truc du genre)
Voilà pour la partie installation. Maintenant, il faut configurer Thunderbird. Je suppose ici que vous avez un Thunderbird avec le plugin Lightning installés et fonctionnels.

Dans Thundebird, faites menu --> fichiers --> Nouveau --> Agenda
Une fenêtre s'ouvre et vous demande où l'agenda doit être stocké. Choisissez "réseau".
La fenêtre suivant vous demande les informations nécessaires afin de trouver votre agenda sur le réseau. Choisissez "Caldav" et indiquez-lui le chemin suivant:

http://votre-adresse-ip:5232/votre_user/mon_agenda.ics/

Par exemple: http://123.456.789.101:5232/gerard/agenda-pro.ics/. Notez que le "/" à la fin est important. Radicale devrait vous créer l'agenda sur le serveur automatiquement. Si ce n'est pas le cas, vous devez créer un fichier vierge dans le /home du user du serveur (gerard).

$ touch mon_agenda.ics

Il est aussi possible de faire d'autres choses avec Radicale. Comme la sécurisation, la gestion des droits et pleins d'autre trucs super intéressants:
TLS Support
Crypt Support
IMAP Authentication
LDAP Authentication
PAM Authentication
HTTP Authentication

Pour plus d'infos, jetez un oeil sur la doc officielle.