Linux

Create an easy to use Linux calendar sharing server

Jack Wallen discovered one of the easiest CalDAV servers for the Linux operating system. In this tutorial Jack shows how to set up a calendar server quickly and easily.

In my ever-continuing quest to bring Linux to business, I found one of the biggest missing pieces was the ability for Linux mail clients to easily share out calenders with other Linux users. Most of the Linux mail clients (Evolution, Thunderbird, etc) offer the ability to publish calendars or use remote calendars. Although it's a fairly simple task to share those calendars out, the task of correctly setting up a connecting calendar server is not. That is, unless you happen upon Radicale CalDAV Server. This particular calendar server is about the easiest CalDAV server I have ever installed and used.

Radicale can share calendars with most open source calendar tools and features:

  • Shares calendars using CalDAV or HTTP.
  • Supports events and todos.
  • Works out-of-the-box with little to no configuration required.
  • Warns users on concurrent edition.
  • Limits access by authentication.
  • Secures connections.

Let's take a look at how Radicale can be set up on a Ubuntu 10.10 machine

Step 1: Installation

To install Radicale on Ubuntu simply open up the Ubuntu Software Center, search for radicale, and click Install. You will need to enter your sudo password for the installation to complete. When the software is installed you can close out the Software Center and start working with Radicale.

If you are installing in a non-Ubuntu distribution you might have to install from source. You will want to make sure you have Python installed.

Step 2: Configuration

Believe it or not, this step is optional, as Radicale should work out of the box for you. On my Ubuntu machine hosting the Radicale Server, no configuration was necessary. But more than likely you are going to want to set up some configuration options (such as authentication). To do this, the file ~/.config/radicale/config must be edited (or created, if it's not there).

The default configuration file looks like:

[server]

# CalDAV server hostname, empty for all hostnames

host =

# CalDAV server port

port = 5232

# Daemon flag

daemon = False

# SSL flag, enable HTTPS protocol

ssl = False

# SSL certificate path (if needed)

certificate = /etc/apache2/ssl/server.crt

# SSL private key (if needed)

key = /etc/apache2/ssl/server.key

[encoding]

# Encoding for responding requests

request = utf-8

# Encoding for storing local calendars

stock = utf-8

[acl]

# Access method

# Value: fake | htpasswd

type = fake

# Personal calendars only available for logged in users (if needed)

personal = False

# Htpasswd filename (if needed)

filename = /etc/radicale/users

# Htpasswd encryption method (if needed)

# Value: plain | sha1 | crypt

encryption = crypt

[storage]

# Folder for storing local calendars,

# created if not present

folder = ~/.config/radicale/calendars

The above configuration should be fairly obvious. Just make the changes that suit your needs and save the file.

Once you have the configuration saved (or you need no configuration), all you have to do is start the Radicale daemon with the command radicale. You might want to set this to start up automatically. From within GNOME you can do this by clicking System | Preferences | Startup Applications and adding the radicale command.

Creating (or connecting to) calendars

It is very simple to create or connect to Radicale from both Evolution and Thunderbird (with the Lightning addon). When connecting to (or creating) a new calendar you will be using a Network calendar with the following addresses:

For Thunderbird:

http://ADDRESS_TO_CALSERV:5232/USER/CALENDAR

For Evolution:

caldav://ADDRESS_TO_CALSERV:5232/USER/CALENDAR

Where ADDRESS_TO_CALSERV, USER, and CALENDAR are all unique to your system. If the calendar you want to connect to already exists just check inside the user's (the user that starts the daemon on the target machine) ~/.config/radicale/ directory for this information. NOTE: Both calendar types will be CalDAV.

That's all there is to it. You will now be able to add/view entries on the calendar(s) on the server. The only pitfall is that you have to manually refresh the calendars in order to see changes. That's a small price to pay for such simplicity.

About

Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.

10 comments
andrewgauger
andrewgauger

What can we do if we have windows users (primarly using Outlook Express) and have a Linux server using IMAP for our mail delivery? Is there anyway for Windows clients to use these calendars?

aharper
aharper

I have used citadel to good effect for groupware and local chat.

saghaulor
saghaulor

Does Radicale support shared calendars and tasks/todo's?

bfpower
bfpower

Our small organization (250 employees) wants to replace our SharePoint calendars with something from the FOSS category. Our issue is that we'd need some kind of public access to the calendar that doesn't involve Linux (since there are only three people in the company who know how to use it, two of them being marginal users). We are not in a place to retrain our hospital staff to use Linux, as nice as that would be. So here's a question (and forgive me if it's a dumb one). Is there a simple way to make these calendars available to Windows users (e.g. Outlook integration, or maybe a Web page for display and editing)? I'm more on the business side of IT, so I'm not sure what's possible or probable.

Sepius
Sepius

As I said in an earlier post, look for "CALDAV plugins" for your client, such as Outlook. I am currently trying this and will see how Thunderbird connects via Windows (virtual machine). I do not have a late Outlook client, so cannot report that ... sorry. But I am unsure of Outlook Express, I can check this as I think Express is still free, so I will let you know on this if you like.

Sepius
Sepius

Search that. There seems to be some open source ones as well. My version of outlook is XP, 10 years old so I don't think my testing will be up to scratch for modern use, and I don't support outlook client directly either any more, so I cannot offer any real advice except for the search term. Be great to let us know how you went.

tr
tr

The article mentions using the Lightning extension for Thunderbird. Thunderbird is an email client that is available freely for Windows and is one of the better options available. Lightning is a basic extension that adds calendaring functionality to Thunderbird. Alternatively, you can just use Sunbird which is the stand-alone solution by the same people who created Lightning. See either option at http://www.mozilla.org/projects/calendar/ for more details.

Neon Samurai
Neon Samurai

You may want to look at Egroupware, it'll include browser access in addition to some other nice touches. It won't have the two step easy setup that this calendar server provides though.

tr
tr

the Radicale solution sounds much easier to setup and manage. eGroupware is a full-scale collaboration solution and provides much more than calendar functions. The question goes back to bfpower... are you looking to replace AND USE all of the functions of SharePoint or are you only concerned about a calendar solution? If you only need a calendar, check this out as it's easy and free. If you need full enterprise collaboration, then spend some time to review eGroupware and others.

Sepius
Sepius

You can limit the modules in eGroupware to just a calendar, and because it is accessed via a browser, it removes most (all) platform issues .... but .... You will need some custom graphics to make it look more, wel, custom, and it can have a huge technical/maintenance learning curve for IT. Radicale seems like a simple calendar solution, and if nothing moves beyond that, then give it a go.

Editor's Picks