Darwin Calendar Server on Debian

カレンダーサーバっていっても色々あるけど,普段Macを使っている+もうすぐiPhone4が来るということでDarwin Calendar Serverを使ってみた.
最初はFreeBSDで試していたのだが,hashlibやらTwistedやらmemcachedやらで色々詰まったのでLinuxに変えてみたらすんなり動いた.
なんだったんだ・・この苦労は.まぁ動いたからとりあえずメモ.

動かしたLinuxDebian 5.0.4 lenny.
Debianだとリポジトリに入ってるため,インストールも超簡単.

$ sudo apt-get -y install calendarserver

これで全部インストールされる.

次にディスクの拡張属性を有効にする.
Darwin Calendar Serverは,情報の一部のファイルの拡張属性に収容している.
/var/spool/caldavのディレクトリを含むディスクをオプションuser_xattr付きでマウントする必要がある.
今回Debianext3でマウントしていたので,

$ sudo mount -o remount,user_xattr /hogehoge

とでもすればいい.
あとで/etc/fstabにuser_xattrを追加しておけば,再起動後もxattrが有効になる.

次は設定ファイルのコピー

$ sudo cp /usr/share/doc/calendarserver/examples/accounts.xml /etc/caldavd
$ sudo cp /usr/share/doc/calendarserver/examples/sudoers.plist /etc/caldavd

この2つのファイルを編集.

まずcaldavd.plistを編集.
ここでは,ネットワーク周りの設定を変更する.

$ sudo vi /etc/caldavd/caldavd.plist

   <key>BindAddresses</key>
<!--  
   <array><string>localhost</string></array> # localhostを削除
 -->
   <array><string></string></array>

デフォルトだとlocalhostでしか待ち受けしないのを全て受け付けるようにしている.
あと,デフォルトだとポート8008しか待ち受けしない.
SSLで通信したい場合には,SSLPortの部分のコメントアウトを削除する.

ネットワークの設定が終わったらユーザアカウントの設定をする.

$ sudo vi /etc/caldavd/accounts.xml

  <user>
    <uid>アカウント名</uid>
    <password>パスワード</password>
    <name>ユーザ名(なんでもいい)</name>
    <cuaddr>メールアドレス</cuaddr>
  </user>

アカウントの設定はいくつかテンプレートが書かれているので,そう困ることはないだろう.
他にもグループやロケーションの設定ができる.

最後に自動起動するように設定

$ sudo vi /etc/default/calendarserver
start_calendarserver=yes

これで一応Darwin Calendar Serverが起動できる.
使ってみた感想だが,どうも委任ができないっぽい.
あとKerberosとか色々使ってるのかもわかんない….
FreeBSDでの起動の仕方は,できたらまた書きます….