Contents
Install CalendarServer
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
Add accounts.xml
- Now we need to add accounts.xml, and sudoers.plist
- Look at the accounts.xml and add any username and passwords in the similar fashion. We will copy the file from our examples folder 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/
- Just an FYI. If you only require one more username you can quickly change the "test" user to you. So in my case I wanted a username lucas, so I opened the accounts.xml and replaced test with lucas.
:%s/test/lucas/gc
Done, I have a lucas username in the system, with password lucas. I will change that password now.
Start CalendarServer
- Uncomment the following line in:
vi /etc/default/calendarserver
# uncomment to start calendarserver on system startup start_calendarserver=yes
- Start the service:
/etc/init.d/calendarserver start
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 insatll 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>
/etc/init.d/calendarserver restart
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.
Moving Root Document Folder
- If for example you want to move a document root folder somewhere else you can do that by changing the following.
- In my case I have xfs running on /home partition so I want to move my calendar there.
Edit:
vi /etc/caldavd/caldavd.plist
And change
#from: <!-- Document root --> <key>DocumentRoot</key> <string>/var/spool/caldavd</string> #to: <!-- Document root --> <key>DocumentRoot</key> <string>/home/caldavd</string>
- Now set the proper permissions
mkdir /home/caldavd chown caldavd:caldavd /home/caldavd
- Restart calendarserver
/etc/init.d/calendarserver restart