1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
==========================
Calypso - CalDAV Server
==========================
The Calypso Project is a free and open-source CalDAV calendar server.
Initial setup
-------------
Calypso runs as a regular user, all data are stored in ~/.config/calypso.
Either generate SSL keys, or use the default self-signed keys, then:
$ mkdir -p ~/.config/calypso/calendars
$ chmod og-rwx ~/.config/calypso
$ touch ~/.config/calypso/htpasswd
$ cat > ~/.config/calypso/config << EOF
[server]
certificate=/etc/ssl/certs/ssl-cert-snakeoil.pem
key=/etc/ssl/private/ssl-cert-snakeoil.pem
[acl]
type=htpasswd
encryption=sha1
filename=$HOME/.config/calypso/htpasswd
EOF
Running calypso
---------------
Then run calypso:
$ python ./calypso.py
To capture logs, you can run in the foreground with debugging:
$ python ./calypso.py -fg >calypso.log 2>&1
Creating users and calendars
----------------------------
To add a new user:
$ htpasswd -s $HOME/.config/calypso/htpasswd USER
To add a new database:
$ mkdir -p ~/.config/calypso/calendars/private/test
$ cd ~/.config/calypso/calendars/private/test
$ git init
$ cat > .calypso-collection << EOF
[collection]
is-calendar = 1
EOF
$ git add .calypso-collection
$ git commit -m'initialize new calendar'
The new calendar should now be visible as https://USER:PASSWORD@localhost:5233/private/test.
You can add files to the directory at any time; calypso will check the
directory mtime at each operation and update its internal state from
that on disk automatically when the directory changes.
Importing files
---------------
Given a set of files with VCALENDAR or VCARD entries, you can import them with:
$ calypso --import private/test <filenames...>
This will update any changed entries and add any new ones.
Kerberos via GSSAPI support
---------------------------
For Kerberos authentication generate a keytab on your KDC and put the
exported keytab on your calypso server into */etc/krb.keytab* so it
looks like:
# ktutil -k /etc/krb5.keytab list
/etc/krb5.keytab:
Vno Type Principal Aliases
1 aes256-cts-hmac-sha1-96 HTTP/foo.example.com@EXAMPLE.COM
1 des3-cbc-sha1 HTTP/foo.example.com@EXAMPLE.COM
1 arcfour-hmac-md5 HTTP/foo.example.com@EXAMPLE.COM
the put the service name to use into ~/.config/calypso/config:
[server]
servicename=HTTP@foo.example.com
and install the pykerberos module. You should then be able to authenticate
via Kerberos using GSSAPI.
|