Thanks so much Robert.

I now have it working for my purposes using Open Directory. I assume the xml version will work okay but I haven't tested it.

Therefore to share how I got it working here it is...

1. Ensure your server DNS resolves to your Darwin Calendar Server (DCS) server machine properly. My DCS is served from the same machine (ns1.26hollin.lan) that does DNS and DHCP so I'll touch on this later when configuring caldavd-dev.plist

2. Ensure that the your users and groups are created in Workgroup Manager (WGM) 2a. Group calendars simply require a group created with users added that can edit the group calendar For my example my wife, 2 sons and I want to share a group. I created the group "26hollincalendar" (don't forget to omit the quotes) and added all of us as users to this group.

3. Create a user called "calendar" in WGM (ditto omit the quotes in all that follow)

4. Create a group called "calendar"  in WGM

5. ssh into your server if installing remotely or open Terminal if locally

6. Download and install python 2.5
        cd ~
curl -0 http://www.pythonmac.org/packages/py25-fat/dmg/python-2.5-macosx.dmg > python-2.5-macosx.dmg
        sudo hdiutil attach ./python-2.5-macos.dmg
        cd "/volumes/Univeral MacPython 2.5"
        sudo installer -pkg ./MacPython.mpkg -target /
        
7. Checkout the source for Calendar Server.
        sudo mkdir /usr/local/caldavd
        cd /usr/local/caldavd
sudo svn checkout http://svn.calendarserver.org/repository/calendarserver/CalendarServer/tags/release/CalendarServer-1.2 ./caldavd This downloads all the source to the /usr/local/caldavd/caldavd directory

8. Compile the source
                cd /usr/local/caldavd/caldavd
                sudo ./run -s

9. Copy the /usr/local/caldavd/caldavd/conf/caldavd-test.plist to /usr/ local/caldavd/caldavd/conf/caldavd-dev.plist sudo cp /usr/local/caldavd/caldavd/conf/caldavd-test.plist /usr/ local/caldavd/caldavd/conf/caldavd-dev.plist

10. Edit this file
                sudo pico /usr/local/caldavd/caldavd/conf/caldavd-dev.plist

11. Change the following entries

11a.
 <!-- Network host name -->
  <key>ServerHostName</key>
  <string>ns1.26hollin.lan</string>  <!--PUT YOUR OWN SERVER HERE-->

11b.
Then comment out the XML Directory entry and uncomment the Open Directory entry.
Then, importantly set the requireComputeRecord key to false

<!--  Open Directory Service -->

  <key>DirectoryService</key>

  <dict>
    <key>type</key>
< string >twistedcaldav.directory.appleopendirectory.OpenDirectoryService</ string>

    <key>params</key>
    <dict>
      <key>node</key>
      <string>/Search</string>
      <key>requireComputerRecord</key>
      <false/>  <!--CHANGE THIS FROM TRUE TO FALSE-->
    </dict>
  </dict>

11c.
Then (phew) change the Authentication method to enable Basic and Digest but disable Kerberos

 <key>Authentication</key>
  <dict>

    <!-- Clear text; best avoided -->
    <key>Basic</key>
    <dict>
      <key>Enabled</key>
      <true/>
    </dict>

   <!-- Digest challenge/response -->
    <key>Digest</key>
    <dict>
      <key>Enabled</key>
      <true/>
      <key>Algorithm</key>
      <string>md5</string>
      <key>Qop</key>
      <string></string>
    </dict>

   <!-- Kerberos/SPNEGO -->
    <key>Kerberos</key>
    <dict>
      <key>Enabled</key>
      <false/>
      <key>ServicePrincipal</key>
      <string></string>
    </dict>

  </dict>

12. Start the server
        sudo /usr/local/caldavd/caldavd/run
        
        or to start in daemon mode
        
        sudo /usr/local/caldavd/caldavd/run -d

You should now be able to log into the server using your browser at http://ns1.26hollin.lan:8008 in my case.

I do not know why requireComputerRecord needs to be disabled but without it /Search cannot find the /Computers entry in Open Directory.

I'm not sure if creating the user "calendar" and group "calendar" are needed. I just did this because I got an error message on server startup that it couldn't find them. HOWEVER I was mistakenly using the caldavd.plist as the template for caldavd-dev.plist instead of caldavd- test.plist. caldavd.plist is included in the 1.2 Release branch as I assume this is the config file Leopard uses for the Apple compiled Mac OS X caldavd executable in /usr/share rather than the cross-platform run script that replaces it in DCS.

One final thing that puzzles me but it doesn't seem to be directly DCS related is that iCal cannot locate users in Open Directory to add as individual user calendar delegates. As I said my OD setup seems okay and users show up in the Leopard client "Directory.app" after I bind the client machine with "Directory Utility.app". But when I try to edit the entries or add them Directory.app just tells me it cannot find an Open Directory server regardless of whether I select password or Kerberos authentication in the Preferences. I suspect I have set up Kerberos incorrectly. So for my purposes it works fine with a shared calendar that everyone can read-write to but wouldn't be usable for an individual user in an organization for example.

Regards

Richard
        
        

On 3 Aug 2008, at 04:11, Robert Schmid wrote:

Richard,

I just finished going through your pain and I'm still going through it.

I can't offer you a good step-by-step but I can correct one major flaw in the documentation. Do NOT check out the main trunk of the code. Instead use the last labeled version. i.e. use the following command to checkout the code;


svn checkout 
http://svn.calendarserver.org/repository/calendarserver/CalendarServer/tags/release/CalendarServer-1.2


This is a stable version of the code. It compiles and runs properly. If you checkout from the trunk you are inheriting the latest untested code and its attendent bugs. I recommend you clear out everything you've done (except your config files, move those somewhere and copy them back) and start over.


Robert Schmid


On Aug 2, 2008, at 3:05 PM, Richard Shepherd wrote:

Hi all,

This is my first post so if this has been answered I apologize. I
cannot find a repository of prior posts either - is there one?

I have a G4 Quicksilver 800MHz (ie not supported by Leopard Server)
home server and want to share calendars with my wife and with
myself(!) on different machines. We are both physicians. I have
succesfully published calendars using WebDAV before but need to edit
them from one machine to the other rather than just have one "edit"
machine and all the others read only.

The server is running Tiger 10.4.11 server and supports all our
network gear for DHCP and DNS (Intel iMac, Powebook G4, iBook G4, PS3,
AppleTV). All Macs are running Leopard client.

It is setup as an OD Master and DNS works correctly both forwards and
reverse. LDAP Directory services seems to work just fine with
Directory Utility/Directory in the Leopard clients. The server is
Kerborized.

I have checked out DCS and successfully compiled it on the server. I
want it to work in OD mode but cannot get it running properly. That
being said I cannot get it to work properly in XML mode either.

Does anyone have any simple step by step guides?

Regards

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




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

Reply via email to