Table of Contents

RADICALE

Installation

$ sudo apt-get install radicale

Configuration

# create a password
  $ htpasswd -B -c /etc/radicale/users a1
  $ htpasswd -B /etc/radicale/users a2
# create a plaintext password
  $ sudo nano /etc/radicale/users
    < /etc/radicale/users >
      a1:password
# create a calendar
  $ curl -u user -X MKCOL 'http://localhost:5232/user/calendar' --data \
  '<?xml version="1.0" encoding="UTF-8" ?>
  <create xmlns="DAV:" xmlns:C="urn:ietf:params:xml:ns:caldav" xmlns:I="http://apple.com/ns/ical/">
    <set>
      <prop>
        <resourcetype>
          <collection />
          <C:calendar />
        </resourcetype>
        <C:supported-calendar-component-set>
          <C:comp name="VEVENT" />
          <C:comp name="VJOURNAL" />
          <C:comp name="VTODO" />
        </C:supported-calendar-component-set>
        <displayname>Calendar</displayname>
        <C:calendar-description>Example calendar</C:calendar-description>
        <I:calendar-color>#ff0000ff</I:calendar-color>
      </prop>
    </set>
  </create>'
  $ sudo ls -al /var/lib/radicale/collections
    a1 a1.props
# create an address book
  $ curl -u user -X MKCOL 'http://localhost:5232/user/addressbook' --data \
  '<?xml version="1.0" encoding="UTF-8" ?>
  <create xmlns="DAV:" xmlns:CR="urn:ietf:params:xml:ns:carddav">
    <set>
      <prop>
        <resourcetype>
          <collection />
          <CR:addressbook />
        </resourcetype>
        <displayname>Address book</displayname>
        <CR:addressbook-description>Example address book</CR:addressbook-description>
      </prop>
    </set>
  </create>'
$ sudo nano /etc/radicale/config
  < /etc/radicale/config >
  [storage]
    filesystem_folder = /var/lib/radicale/collections
  [auth]
    type = htpasswd
    htpasswd_filename = /etc/radicale/users
    htpasswd_encryption = plain

Clients