職場の Mac OS X 10.8 Server で CardDAV, CalDAV サービスを実験してみた。「サーバ」アプリケーションで、「iCal」「アドレスブック」を有効にするだけ(サービス名違ってたかも。帰ってから書いているので確認できない)。あと、同期専用のローカルユーザを1つ作っておくといい。
デスクで使っている Mac は 10.6。iCal を立ち上げ、「環境設定」の「アカウント」を開いて「+」ボタンを押し、CalDAV サーバのユーザー名・パスワード・サーバアドレスを設定。証明書は一度開いて(オレオレ証明書だが)、受け入れることにしておく。外には公開せず、職場の自室にいる時だけ同期するので、これで十分。アドレスブックも同様に設定した。
iCal は「この Mac 内」の下にサーバ内のカレンダーが出る。アドレスブックでは「グループ」の「すべての連絡先」の下にサーバ内のアドレスブックが出る。初めは空っぽなので、iCal から Mac 内のエントリを書き出して、サーバ内のカレンダーを選んで読み込もうとしたところ、「○○内の○○へのアクセスは許可されていません」というエラーが続々と出てなかなか先に進めない。あまり欲張らずに、直近の予定だけを手動でサーバ内に移す(イベントの編集画面を出して、「カレンダー」をポップアップで変更すればよい)ようにすれば、スムーズに移行できた。古いカレンダーをわざわざ同期しなくてもいいしな。iTunes 経由の iPhone への同期もちゃんとできた。
アドレスブックの方はやや問題があった。Mac 内のエントリをサーバに移動させて「すべての連絡先」を表示すると、移動させた連絡先がすべて二重に表示されてしまう。それでは、と、Mac 内のエントリを削除してみたところ、Mac のアドレスブック上では問題ないのだが、iPhone への同期は Mac 内のエントリしかやってくれないので、iPhone 上のエントリが全部消えてしまった。iCal と挙動が違うのはイマイチ。まあ、10.6 は3世代前の OS なんで、今は改善されているかもしれんが。
iCal, アドレスブックとも、サーバから読み込んだデータはローカルで保持しているので、ネットワークが切れてもデータのアクセスはできる。次にネットワークにつながった時に同期しにいくみたい。なかなかうまくできているな。アドレスブックと iPhone の連携さえうまく行けば、今でも使えるんだけどな…(まあ、外に公開しない以上、あまり意味はないとも言えるが)