aptitude install calendarserver
Configure Calendar Server
- Since calendarserver uses extended attributes you must mount the filesystem that contains the calendars (/var/spool/caldavd by default) with extended attributes enabled.
- XFS has extended attributes enabled by default.
- On ext3 add the user_xattr to the list. In my case I had /var/spool/caldavd on my "/" partition so I changed it like this:
vi /etc/fstab # change from: /dev/sda2 / ext3 defaults,errors=remount-ro 0 1 # to: /dev/sda2 / ext3 defaults,user_xattr,errors=remount-ro 0 1
Reboot or remount the filesystem:
mount -o remount,user_xattr /
- Now we need to add accounts.xml, and sudoers.plist
- Look at the accounts.xml and change any username and passwords. We will copy the file and use username: admin, password: admin just to get us started. We will change the password when we are done.
cp /usr/share/doc/calendarserver/examples/accounts.xml /etc/caldavd/ cp /usr/share/doc/calendarserver/examples/sudoers.plist /etc/caldavd/
- Uncomment the following line in:
# uncomment to start calendarserver on system startup start_calendarserver=yes
- Start the service:
By default calendarserver listens on localhost only so the URI to your caldav calendar will typically look like http://localhost:8008/calendars/users/<user>/calendar/
Visit this url to see if it works: http://localhost:8008/calendars/users/admin/calendar/
Add Calendar To Thunderbird
- On Thunderbird/Icedove Install the lightning calendar module or use sunbird. I already have mine installed. On debian I install iceowl aka lightning :
aptitude install iceowl-extension
- Add a new calendar:
- Pick a name for the calendar:
- Done. Now Add events:
When others update, you just click Reload
Enable Calendar on company network
- Edit this file: vi /etc/caldavd/caldavd.plist
Leave this empty to enable all or put in the proper ip address. In my case I've change the <array><string>localhost</string></array> to
<!-- List of IP addresses to bind to [empty = all] --> <key>BindAddresses</key> <array><string></string></array>
Share events and Tasks
- Now follow the same step as we did in Adding calendar on other computers and you have fully functioning shared calendars system.