Radicale, host your own calendar
By Pierre-Yves on Sunday, November 13 2011, 17:38 - Général - Permalink
Install and configure Radicale on your Fedora/RHEL server
English version
Radicale is a simple calendar server written in python. It has a number of advantages:
- no special dependencies, it relies on python and python only
- it can be used behind mod_wsgi
- it does calendar and calendar only (I was not looking for a huge and complex email/calendar/contact solution)
I discovered about it recently and I finally took the time to make it running. So there is a small tutorial to make it running on Fedora or RHEL.
Recompile the src.rpm
I started to make a rpm for Radicale, I did not submit it for review yet but the source rpm is available from my fedorapeople space.
So just grab it
wget http://pingou.fedorapeople.org/RPMs/Radicale-0.6.3-1.fc16.src.rpm
And recompile it:
rpmbuild --rebuild Radicale-0.6.3-1.fc16.src.rpm
Install Radicale rpm
Once recompiled, just install it:
yum install /path/to/Radicale-0.6.3-1.fc16.noarch.rpm
Create the htpasswd file
We will rely on apache for the authentication because:
- I don't think you want to give access to your calendar to everyone
- I don't think you want to give to everyone the rights to use your server for their calendar
- It is advised on Radicale's configuration to use apache if using apache authentication
So let's create the password file:
cd /var/www mkdir htpass cd htpass htpasswd -d -c calpass <username>
Edit Radicale's configuration
The configuration files for Radicale are:
/etc/radicale/config /etc/radicale/logging /etc/httpd/conf.d/radicale.conf
First let's edit the apache configuration:
vim /etc/httpd/conf.d/radicale.conf
De-comment the commented lines.
Change ServerName to your own domain
ServerName cal.example.org
Change the path to the file containing the user and their password
AuthUserFile /var/www/htpass/calpass
Then let's edit Radicale's configuration itself:
vim /etc/radicale/config
Change the folder from
folder = /var/lib/radicale/calendars
to something located under /var/www/
(this will make SELinux happy) like:
folder = /var/www/calendars
Note that if you did not use the -d option while creating the htpasswd file, you might have to change the htpasswd_encryption key.
Create the log file
By default Radicale does not come with its own log file which is located (see /etc/radicale/logging) in:
/var/log/radicale
Since this file is not create apache would have to create it but does not have the rights to do so.
The solution is then simply:
touch /var/log/radicale chown apache:apache /var/log/radicale
This way Radicale will be able to fill its log.
Restart apache
This is the last step (and the most important! ;-))
service httpd restart
Use Radicale
Your calendar server will be located on http://cal.example.org (the ServerName set on the apache configuration file). If you go there, you will be asked for authentication (if you don't there is a problem) and then see an empty page just saying Radicale works!.
Set up Radicale with Evolution:
- go to the calendar view
- File > New > Calendar
Then it'll look something like this:
Do notice that the url is like
http://<server name>/<user name>/<calender name>
The <user name> bits is important.
And that's it, it should work ! :-)
In case something goes wrong you can check the following file to get some insight:
/var/log/httpd/error_log /var/log/radicale /var/log/audit/audit.log