28 feb. 2020
Je eigen adresboek en agenda cloud
Deel contacten, agenda's en taken met CardDAV/CalDAV
Gebruik je verschillende apparaten en computers om dingen gedaan te krijgen, dan wil je misschien contacten, agenda's en taken synchroniseren. Je kunt hiervoor elke 'grote cloud'-dienst gebruiken, zoals Apple iCloud, Microsoft Office 365 en Google Gmail. Maar, als je je adresboek en agenda liever niet deelt met grote Amerikaanse bedrijven, kun je het zelf doen.
Waarom zelf doen?
Hoewel het erg gemakkelijk is om een grote clouddienst te gebruiken voor het synchroniseren van adresboeken en agenda's, zijn er goede redenen waarom je het zelf zou willen doen:
- controle: als je zelf de adresboek/agenda cloud beheert, bepaal je hoe het werkt, hoeveel het kost, wie er toegang toe heeft, etc.
- privacy: hoewel de grote bedrijven beweren dat ze 'jouw privacy waarderen', bieden ze geen garanties dat niemand naar je gegevens kijkt. Ik vind het fijn als mijn adresboek (met afspraken, projectdetails, etc.) en contacten (namen, nummers, verjaardagen) privé blijven.
- vrijheid: als je open protocollen gebruikt om je adresboek/agenda cloud te beheren, kun je het op al je apparaten gebruiken.
Hoe te doen: CardDAV/CalDAV
Voor maximale vrijheid en flexibiliteit in de keuze van de apparaten die je gebruikt, moet je een gemene deler selecteren bij het zoeken naar oplossingen die het delen van adresboeken en agenda's mogelijk maken. Gelukkig bestaat zo'n oplossing in de open standaarden CardDAV en CalDAV.
Zowel CardDAV als CalDAV zijn uitbreidingen op de WebDAV-standaard. Web Distributed Authoring and Versioning (WebDAV) zelf is een uitbreiding van het standaard HTTP-protocol. Het is een protocol waarmee meerdere clients (apparaten/computers/apps) een bron (bestand/adresboek/agenda/etc.) kunnen delen.
CardDAV
Het CardDAV-protocol is een protocol voor het delen van adresboeken. Het werd oorspronkelijk in 2007 door Apple als standaard voorgesteld, RFC 6352. Het protocol gebruikt WebDAV om contactgegevens te delen in de "vCard" bestandsindeling. Je kunt een vCard het beste zien als een virtueel visitekaartje. CardDAV stelt je in staat om je verzameling virtuele visitekaartjes te delen tussen je apparaten.
CalDAV
Het CalDAV-protocol is een protocol voor het delen van agenda's. Net als CardDAV werd het oorspronkelijk door Apple als standaard voorgesteld, RFC 6638. Het gebruikt WebDAV om afspraakgegevens te delen in de iCalendar-indeling. De "Internet Calendaring and Scheduling Core Object Specification" is zelf een open standaard, RFC 5545, die breed wordt ondersteund. CalDAV stelt meerdere apparaten en apps in staat om toegang te krijgen tot je agenda, waardoor gezamenlijke planning en informatie-uitwisseling mogelijk is.
CardDAV/CalDAV vereist een server
Om met CardDAV/CalDAV te werken, heb je een server nodig die fungeert als centrale opslagplaats voor je adresboek/agenda gegevens. In tegenstelling tot 'peer-to-peer' verbindingen (waarbij je je telefoon aan je computer zou koppelen), is het CardDAV/CalDAV protocol ontworpen om te werken via internet. De centrale server stelt apparaten en apps in staat om onafhankelijk verbinding te maken en gegevens te synchroniseren.

Omdat het protocol is gebaseerd op (efficiënte) webtechnologie, zijn de eisen voor de server minimaal. Je hebt geen krachtige processors of enorme hoeveelheden opslaggeheugen nodig. Sommige mensen draaien hun CardDAV/CalDAV vanaf een goedkope Raspberry Pi computer. Als alternatief zou je een kleine VPS, een NAS of een oude computer kunnen gebruiken.
CardDAV/CalDAV server software
De CardDAV/CalDAV server software bestaat uit twee delen: het server besturingssysteem en de eigenlijke CardDAV/CalDAV server. Vanwege de open standaarddefinitie ben je vrij om het besturingssysteem zelf te kiezen. GNU/Linux is een veelgebruikte keuze als server besturingssysteem. Verschillende distributies worden vaak geleverd met een kant-en-klare 'app store'-achtige software repository, waardoor je eenvoudig server apps kunt installeren.
Besturingssysteem
In harmonie met mijn andere clouddiensten kies ik vaak voor Debian GNU/Linux. Het is een besturingssysteem dat vrij is van commerciële druk en prioriteit geeft aan vrijheid boven bedrijfsbelangen. Hierdoor is het een uitstekende en stabiele basis voor elke serveronderneming.
CardDAV/CalDAV server implementaties
Op het server besturingssysteem moet je server software installeren die de CardDAV/CalDAV standaarden implementeert. Je kunt de verschillende servers zelf bekijken: CardDAV servers en CalDAV servers.
Na het analyseren van de verschillende CardDAV/CalDAV server opties, heb ik de volgende drie opties gedistilleerd:
- Apple Calendar-Server: Omdat de oorspronkelijke CardDAV/CalDAV specificatie door Apple is geschreven, hebben ze een complete server ontwikkeld en open source gemaakt. Hoewel dit geweldig klinkt, is de ontwikkeling van Calendar Server gestopt (ten gunste van Apple iCloud). Er staat een "Notice of Archival" op de Calendar Server github pagina. Het werkt nog steeds, maar de toekomst is onzeker.
- ownCloud: Een populaire 'alles-in-één' oplossing die CardDAV/CalDAV implementeert is ownCloud. Het is toepasselijk genoemd, omdat het je toestaat om 'je hele cloud te bezitten'. Het grootste nadeel is dat het probeert om alles te doen, inclusief e-mail en het delen van bestanden - misschien te veel, afhankelijk van je behoeften.
- Radicale server: Ontworpen als een kleine maar krachtige gratis en open source CardDAV/CalDAV server, doet Radicale precies dat: agenda's en adresboeken delen. De ontwikkeling is actief, aangedreven door het Franse bedrijf Kozea dat veel werk doet voor de publieke gezondheidszorg. Naar mijn mening is deze CardDAV/CalDAV server zowel lean als gezond, waardoor het een uitstekende keuze is.
Radicale installeren op Debian/GNU Linux
Het installeren van Radicale op Debian is zo eenvoudig als 'apt-get install radicale'. Je kunt de gedetailleerde installatie-instructies bekijken op de Debian Wiki: installeer radicale op debian.
De basisinstallatie van Radicale werkt goed met eenvoudige gebruikersnamen en wachtwoorden (uit een bestand op de server). Maar omdat het gratis en open source software is, zijn er opties om Radicale te integreren met verschillende vormen van authenticatie en beveiliging:
- Radicale gebruikersnamen en wachtwoorden authenticeren tegen een IMAP-server: Als je al een mailserver beheert, wil je misschien profiteren van het bestaande gebruikersnaam- en wachtwoordbeheer. Je kunt het CardDAV/CalDAV gebruikersbeheer 'meeliften' op je bestaande infrastructuur via authenticatie plugins. Er zijn (goed) werkende plugins voor het gebruik van Radicale met IMAP, beschikbaar met broncode.
- Radicale achter een NGINX proxy draaien: Je kunt Radicale versterken, vanuit een cyber beveiligings perspectief, door het achter een gevechtsklare NGINX reverse proxy server te draaien. Je krijgt alle voordelen die NGINX biedt, inclusief geautomatiseerde TLS/SSL-certificaten via Let's Encrypt. Instructies om hiermee aan de slag te gaan zijn beschikbaar in de Radicale Documentatie voor zowel Apache als NGINX.
Verbinding maken met je CardDAV/CalDAV server: clients
Zodra je CardDAV/CalDAV server draait, moet je je apparaten configureren om ermee te verbinden. Je kunt dit op verschillende manieren doen, afhankelijk van het type apparaat dat je gebruikt.
- Apple macOS: Je Mac instellen om verbinding te maken met een CardDAV/CalDAV server is eenvoudig. Voeg het gewoon toe als een account aan macOS, zie instructies voor CardDAV en CalDAV
- Apple iOS/iPadOS: Net als de Mac is het instellen van je iPhone of iPad om verbinding te maken met een CardDAV/CalDAV server eenvoudig. Voeg het gewoon toe als een account, onder "Instellingen". Instructies voor CardDAV en CalDAV.
- Android: Voor de beste integratie moet je een synchronisatie-app gebruiken die de Android agenda- en contactdatabases verbindt met de CardDAV/CalDAV server. Ik heb goede ervaringen met CardDAV-Sync en CalDAV-Sync
- Windows: Hoewel Microsoft ingebouwde ondersteuning voor CardDAV/CalDAV in Windows 10 heeft, kun je het niet configureren om een andere service dan iCloud te gebruiken, tenzij je funky hacks uitvoert. Als je Outlook gebruikt, kun je een open source Caldavsynchronizer.org plugin gebruiken om verbinding te maken met je server.
- GNU/Linux: Als je gratis software op pc gebruikt, heb je genoeg opties om het te configureren om verbinding te maken met de CardDAV/CalDAV server. Als je GNOME als desktopomgeving gebruikt, moet je deze instructies bekijken.
Conclusie
Gemak is een mooi ding, totdat het je in de rug steekt. De "grote clouddiensten" die worden beheerd door de Amerikaanse techreuzen bieden eenvoudige (en gratis) manieren om je persoonlijke agenda en adresboeken te synchroniseren. Als je graag controle wilt over je eigen persoonlijke (of werk)gegevens, zou je moeten overwegen om je eigen adresboek- en agendaserver op te zetten.
Het is niet echt zo moeilijk om het zelf te doen, en als je hulp nodig hebt, kun je altijd iemand vragen om je te helpen. Zodra je het hebt geïnstalleerd en het werkt, heb je meer controle over je gegevens, betere privacy en vrijheid in het kiezen van je apparaten en apps. Niet slecht, toch?