[CalendarServer-users] How to install as system service?

Stonewall Ballard sb.list at sb.org
Wed Nov 7 16:23:53 PST 2007

After much fussing about with this, I was unable to make any progress.  
I did determine that the error message really means that there were  
unrecognized options. The command exec'd by caldavd is:

    python /usr/local/bin/twistd -n caldav

The python called is the one in /System/Library/Frameworks/...  I  
tried a bunch of other options, but they didn't help.

I'm going to run the copy in my user account until someone builds an  

Thanks for your help!

  - Stoney

On Nov 7, 2007, at 4:31 PM, Emil Lundberg wrote:

> Although I have yet to test this myself, I belive you're on the  
> right track. Some advice:
> -> The place to put contrib/calendarserver.plist is in /Library/ 
> LaunchDaemons/
> To actually start the service, use 'sudo launchctl load -x /Library/ 
> LaunchDaemons/calendarserver.plist'
> This sets the Disabled key to </false> AND loads the service. See  
> 'man launchctl' for further info.
> -> The './run -i' does not seem to copy the conf/caldavd.plist to  
> the default system location (nor any other conf files).
> Try 'cp conf/caldavd-test.plist /etc/caldavd/caldavd.plist' and  
> modify it to suit you needs.
> If you want this plist in a different location, add this to  
> ProgramArguments: <string>-f /path/to/caldavd.plist</string
> -> Running as a non-root user is good security practice. There seems  
> to be two ways of doing this; one is to add the '-u' and '-g'  
> ProgramArguments to calenderserver.plist, and another is using the  
> UserName/GroupName keys to caldavd.plist. The latter is used in iCS,  
> yielding a master twistd process owned by root, and the rest owned  
> by the user specified. Make sure you create the user first.
> -> As you said, use 'sudo /usr/local/bin/caldavd -X [ -f  
> <configfile ]' for debugging. The error message you see is twistd  
> complaining about (lack of?) options, if you echo the last line in / 
> usr/local/bin/caldavd (it's just a shell script), you can see what  
> it tries to do, like so:
> echo "${python} ${twistdpath} ${daemonize} ${username} ${groupname} $ 
> {profile} ${plugin_name} ${configfile} ${service_type}"
> This should yield something like:
> (iCS system service):
> /System/Library/Frameworks/Python.framework/Versions/2.5/Resources/ 
> Python.app/Contents/MacOS/Python /usr/share/caldavd/bin/twistd -n  
> caldav
> (DCS stand-alone):
> /System/Library/Frameworks/Python.framework/Versions/2.5/Resources/ 
> Python.app/Contents/MacOS/Python /Install/DCS-1.0/Twisted/bin/twistd  
> caldav -f /Install/DCS-1.0/CalendarServer-1.0/conf/caldavd-dev.plist  
> -o ProcessType=Combined
> Any improvement?
> /Emil
> 6 nov 2007 kl. 19.48 skrev Stonewall Ballard:
>> I want to run CalendarServer on a non-server Leopard Mac. I've  
>> built it and it works fine when run from my account. I didn't see  
>> any instructions on installing it as a system service, but the run  
>> file has an installation switch, so I installed it to /, which puts  
>> parts in various, sensible places.
>> In the contrib directory, there is a launchd/calendarserver.plist  
>> file, which has different paths to the parts. I edited it and put  
>> it in the right place, but it didn't work. I couldn't find any log  
>> of why that was, so I tried running "sudo /usr/local/bin/caldavd - 
>> X" from a terminal window, and got an error: "/usr/local/bin/ 
>> twistd: Wrong number of arguments". I can't tell from the caldavd  
>> or the twistd file why this might be. I get this same error when  
>> running caldavd from my build directory, but not if I run "run".
>> I hope that an installer (or a MacPort) will be available soon, but  
>> I'd like to know if this is supposed to work. The differences  
>> between the launchd plist and the run install paths make me worry  
>> that this is just incomplete.
>> I also noted that somewhere it says to use user & group "calendar",  
>> but I have not created those yet, if it matters. I'm just testing  
>> caldavd with sudo.
>> Can someone please tell me how to install and run CalendarServer as  
>> a system service?
>> Thanks very much.
>> - Stoney
>> -- 
>> Stonewall Ballard
>> stoney at sb.org           http://stoney.sb.org/
>> _______________________________________________
>> calendarserver-users mailing list
>> calendarserver-users at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo/calendarserver-users

Stonewall Ballard
stoney at sb.org           http://stoney.sb.org/

More information about the calendarserver-users mailing list