Difference between revisions of "DAViCal"

From ArchWiki
Jump to: navigation, search
(use new package templates, see Help:Style)
Line 1: Line 1:
[[Category:Networking (English)]]

Revision as of 17:31, 23 April 2012

Tango-document-new.pngThis article is a stub.Tango-document-new.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:DAViCal#)


DAViCal is a server implementing the CalDAV and CardDAV protocol. It's solely a server, with minimal direct user interaction, instead relying on using CalDav clients, such as Apple's iCal.app, iOS (iPhone, iPad, iPod), Thunderbird with Sunbird, or Evolution.


Installing pre-requisites

DAViCal is written in PHP and uses the PostgreSQL database as it's backend to store the calendar information. Currently it only supports PostgreSQL, but there is work to support other databases as well.

It is available in the AUR: davicalAUR.

Install PHP and PostgreSQL, along with the PHP bindings for PostgreSQL, with pacman:

# pacman -S postgresql php php-pgsql

DAViCal is a web application, and therefore you need a web server set up as well. For this page, Nginx will be assumed, but DAViCal can run on nearly any web server. (Some may stop processing requests when they see the CalDAV HTTP headers, and therefore DAViCal will not be able to see them.)

Preparing PostgreSQL

DAViCal requires two independent accounts to be set up, one for accessing the database from the web application, which will be limited in power, and another that will be used for administrating the DAViCal related tables.

In order to do so, you will need to edit the pg_hba.conf file, found in /var/lib/postgresql/data/, by default. If the data subdirectory doesn't exist, you need to start PostgreSQL so it will run through the initialization of the data files. (This is done automatically when you first start PostgreSQL via the rc.d script. You can start it and immediately stop the daemon if you want.)

Add the following lines to the configuration file (pg_hba.conf):

   local   davical         davical_app                             trust
   local   davical         davical_dba                             trust

Prepare database by running create-database.sh script as root:

# /srv/http/davical/dba/create-database.sh

If all goes fine you are done. Else if it fails, you are probably missing 'root' role in your PostgreSQL database. Create 'root' role in PostgreSQL database if it not exist: Became postgres user as described on PostgreSQL page and create 'root' role.

$ createuser -s -U postgres
$ Enter name of role to add: root

Then run createdb as root:

# createdb