> Hello,
>
> I am trying to get calendar server to
> run on a CentOS Linux server.  I am
> getting a crash with the run script.
> The logs are attached.
>
> I see the errors...
>
> [...]
>  File
> "/home/caldav/src/calendar-server/pysqlite-2.3.2/build/lib.linux-i686-2.5/pysqlite2/dbapi2.py",
> line 27, in <module>
>     from pysqlite2._sqlite import *
> exceptions.ImportError: No module named _sqlite
> [...]

This probably means sqlite build went wrong.
Follow Rem1 in my Linux Howto (joined).

>
> and...
>
> [...]
>  File
> "/home/caldav/src/calendar-server/Twisted/twisted/python/components.py",
> line 87, in registerAdapter
>     raise ValueError("an adapter (%s) was already
> registered." % (factory, ))
> exceptions.ValueError: an adapter
> (twisted.internet.protocol.ProtocolToConsumerAdapter)
> was already registered.
> [...]
Fot this, i don't know.
Hopelessly, it's a side effect of previous error.


>
> ...early on.  Are those the culprits?
>
> Best regards,
> Kervin
> _______________________________________________
> calendarserver-users mailing list
> calendarserver-users@lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo/calendarserver-users
>
Build and run Darwin Calendar Server (DCS) on Linux...

... and test it with mozilla-sunbird

Introduction :
Here is how i get DCS working. This is probably not the best way to set it, 
neither the more secure, but i'm just able to connect Sunbird to it, with 
elementary events management.

I used admin account to simplify tests.


1- Get and build the source

$> svn checkout 
http://svn.macosforge.org/repository/calendarserver/CalendarServer/trunk 
CalendarServer


The project contains some scripting to download dependencies needed for the 
server to run :

$>cd CalendarServer
$>./run -s

This will download and build DCS dependencies in the same directory where DCS 
resides

$> ls ..
CalendarServer    PyKerberos     pysqlite-2.3.2       Twisted  xattr
pydirector-1.0.0  pyOpenSSL-0.6  python-dateutil-1.1  vobject  
ZopeInterface-3.1.0c1


Rem1 : If something goes wrong during this dependencies build phase, remove the 
directory where the build error occured and then do "./run -s" again".

Rem2 : if you have python-xattr package installed on your linux distribution, 
you'd better remove it, because DCS use a particular version (which is 
downloaded by "./run -s").

2- Configure and run

The most difficult (not so difficult:) thing to do before having DCS running on 
Linux is to get a File System supporting eXtend ATTRibutes mounted, where to 
put DCS datas.

2.1 Verify Kernel capabalities about eXtend ATTRibutes.


First, Verify that your Linux Kernel is able to manage such File System.
On my Ubuntu box i do it like this :

$> grep XATTR /boot/config-2.6.17-10-generic
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_REISERFS_FS_XATTR=y
# CONFIG_CIFS_XATTR is not set

This means i can mount ext2, ext3 and REISER File System with support of 
eXtended ATTRibutes.


Rem 1 : On other distribution the checking is done by command like :
$> zgrep ATTR /proc/config.gz
With the same type of output.

Rem 2 : If your kernel does not support XATTR (CONFIG_..._XATTR=n), you need to 
get or build one that do. But i will not explain this here.

2.2 Mount an XATTR file system

In this example i'm mounting the /dev/sda3 partition on  the /mnt mounting 
point with support for user eXtended ATTRibutes.
$> sudo vi /etc/fstab

Add the line for your partition :
/dev/sda3       /mnt/           ext3    user,rw,user_xattr

$> sudo mount /mnt

Add a directory where to put dcs data :
$> sudo mkdir /mnt/dcs-data
$> sudo chown $USER:$USER /mnt/dcs-data/
Last command will enable caldavd daemon to read/write in his data directory (as 
soon as it's launched by $USER). 

2.3 Configure DCS to put his datas on the right partition

In DCS source directory, copy and edit the developpement config file:
$> cp ./conf/caldavd-test.plist ./conf/caldavd-dev.plist
$> vi ./conf/caldavd-dev.plist

Look for the string element specifying where to put data :
  <string>twistedcaldav/test/data/</string>
And change it to point to a directory of your XATTR mounting point :
 <string>/mnt/dcs-data/</string>


3- Run DCS

$> ./run
2007/01/28 14:03 +0200 [-] Log opened.
2007/01/28 14:03 +0200 [-] twistd 2.4.0+r18545 (/usr/bin/python 2.4.4) starting 
up
2007/01/28 14:03 +0200 [-] reactor class: <class 
'twisted.internet.selectreactor.SelectReactor'>
2007/01/28 14:03 +0200 [-] Setting up document root: /mnt/dcs-data
2007/01/28 14:03 +0200 [-] twisted.web2.channel.http.HTTPFactory starting on 
8008
2007/01/28 14:03 +0200 [-] Starting factory 
<twisted.web2.channel.http.HTTPFactory instance at 0xb73d7eac>
2007/01/28 14:03 +0200 [-] twisted.web2.channel.http.HTTPFactory starting on 
8443


Rem : I got an error in caldavd shell script on line 46:
CalendarServer/bin/caldavd: 46: Syntax error: Bad substitution

I just (badly) commented this line, as i don't understand what's wrong with it.

First Tests :
You should be able to access to http://localhost:8008/ with your navigator.
When asked for login, use user admin (password admin). You can browse DCS 
Collections


4- Connect to DCS with mozilla Sunbird

I use SunBird-0.3.
Add a calendar, of type Network/CalDAV. 
Put admin Calendar URL : http://localhost:8008/calendars/users/admin/calendar/
Enter Login/Password (admin/admin).

Try to add event in this calendar and verify in caldavd logs that everything 
goes fine without error.
You can see new ressources in the 
http://localhost:8008/calendars/users/admin/calendar/ collection by browsing it 
with your navigator. If you open such ressource you'll see the ICS definition 
of the event.

That's all for now.

Next steps would be use normal user accounts and show different sharing use 
cases between them, by setting different ACL scheme between them (as soon as i 
find a proper way to set WebDAV ACLs).

Every comments are wellcomed. Hope other people will succeed with this little 
howto.
If not, use Darwin Calendar User Mailing List. I'll help you (on sparse time).

Maxime Wacker 2007-01-28







 





  
_______________________________________________
calendarserver-users mailing list
calendarserver-users@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/calendarserver-users

Reply via email to