OS X Lion ServerのiCal Serverを構築してみた
投稿者:yasu 更新日時:2011年8月3日 22時01分58秒カテゴリ:Apple, iOS, iPhone/iPod touch/iPad, OS X
OS X Lion Serverで初めてのMac OS Serverを触るわけなのですが、なにゆえMac OS Serverを買おうかと思ったのかというとCalDAVを使いたかったんですっ!!
いわゆるカレンダーサーバーってやつですね。
GoogleでいうとGoogle カレンダーってやつ。
MacでいうとiCal Server ってやつ。
元々は仕事場のクローズドなサイボウズ(仕事場のPCからしか見られない)をiPhoneやiPadのカレンダーアプリでも見られるようにしたくてcybozu2icalなるツールを使いサイボウズの予定をics形式のファイルにエクスポートして自宅サーバーにアップロードし(←ここまではバッチ化)、そのicsファイルを家のMacのiCalで照会してMacから同期してiPhoneやiPadでもサイボウズの予定を見れるようにしました。
ここ数年はそんな事をやっていたのですが最近そのMacからiPhone・iPadに同期するのがすごくめんどうになってきました。
もしかしたらiOS5でわざわざMacとiPhone・iPadをUSBで接続しなくてもスケジュールの同期が取れるようになるのかもしれません。
それでもやっぱりiPhone・iPadに予定を同期するのは自宅に帰らないとできないというのが不便なんです。
で、当初は自宅サーバーにアップしたicsファイルをGoogleカレンダーにも同期するように設定して、リアルタイムで予定を確認したい場合はGoogleカレンダー見ればいいやなんて思っていたのですがGoogleカレンダーが自宅サーバーにアップしたicsファイルを取り込んでくれるタイミングを指定できないのでリアルタイム同期できませんでした。
あとGoogleカレンダーで気になるところは昨今こんなに個人情報がどーたらこーたら言われているこのご時世に何でもかんでもGoogleに情報預けちゃっていいの?って前々から思っていて、そんな理由から自宅でCalDAVを持ちたくなりました。
当初はScientific Linuxで自宅サーバー構築してるんだし、Darwin Calendar Server(iCalサーバのオープンソース版)っていうのがあるのでそれでカレンダーサーバーを構築しようなんてウキウキしていた時期がありました。
いざDarwin Calendar Serverの環境設定をしている方のブログを見て試してみたのですがyasuが試してみた時にはソースコードのダウンロードができなくなっていました。
やり方が悪いのかもしれませんが、ソースコードが置いてあるであろうサーバー(trac.calendarserver.org)に繋がらないんです。
そんなこんなでLion Serverが4,300円で7月発売なんてニュースもありちょっと試してみてダメだったとしてもそんなに痛手じゃないかななんて思ってOS X Lion Serverを買って2007年のMac miniにインストールしたんですが、これまたハードウェアスペックギリギリだったのと、第二世代Core i5を搭載した新しいMac miniが某会員価格で5万円を切って発売されちゃったりなんてされたもんだからついつい新しいMac miniを買ってLion Serverをインストールしなおしちゃったりなんかして結局Snow Leopard ServerのOSを買うのと変わらないくらい元手がかかってしまいiCal Serverの設定もお試しじゃ済まなくなってしまったんですね(汗
とまあ、前振りが長くなり過ぎちゃいましたが設定をしたのでその手順を。
[OS X Lion Server]iCal Server設定
OS X Lion ServerのiCal Serverの設定を行います。
まずはServerを起動して管理画面が表示します。
※Serverは初期設定が終わっている前提での説明になります
iCal専用のユーザアカウントを登録します。
※元々あるユーザアカウントを利用することも可能ですのでユーザ登録は必須ではありません
左ペインから[アカウント]-[ユーザ]を選択して右ペインの[+]ボタンをクリックします。

新規ユーザ登録に必要な情報を入力して[完了]ボタンをクリックします。

ユーザ一覧に今登録したユーザが表示されている事を確認します。

右上にある切入のスイッチを右にスライドしてサービスを起動します。

左ペインの[ハードウェア]-[コンピュータ名(この例ではmacmini)]を選択し、右ペインのSSL証明書の[編集...]ボタンをクリックします。

[iCalとアドレスブック]の証明書一覧から[ホスト名(この例ではmacmini) - 自己署名]を選択して[OK]ボタンをクリックします。

右下にiCalサーバの証明書を設定中と表示されている間は設定中ですので、しばらくほおっておきましょう。
この表示が消えたらiCal Serverの設定はひとまず完了です。

[OS X Lion]iCal Client設定
続いてiCalクライアントの設定を行います。
※OS X LionのiCalを使って説明します
iCalを起動したらメニューから[iCal]-[環境設定]を選択します。
環境設定ダイアログが表示されたら[アカウント]ボタンを選択し、画面下の[+]ボタンをクリックします。

Lion Serverに作成したアカウント(ユーザ)情報を入力して[作成]ボタンをクリックします。
アカウントの種類:CalDAV
ユーザ:yasu
パスワード:ユーザyasuのパスワード
サーバアドレス:Lion ServerのIPアドレスないし名前解決できる場合は名前(この例ではmacmini.sa-sa-ki.jp)

SSL証明が自己証明の為、「サーバの証明書は無効です」警告が表示されますが気にせず[証明書を表示]ボタンをクリックします。

["サーバアドレス名(この例ではmacmini.sa-sa-ki.jp)"への接続時に"コンピュータ名(この例ではmacmini)"を常に信頼にチェックを入れて[続ける]ボタンをクリックします。

環境設定変更の為のアカウント認証ダイアログが表示されるのでログインユーザのパスワードを入力して[設定をアップデート]ボタンをクリックします。

もう一度「サーバの証明書は無効です」警告が表示されますが[証明書を表示]ボタンをクリックします。

["サーバアドレス名(この例ではmacmini.sa-sa-ki.jp)"への接続時に"コンピュータ名(この例ではmacmini)"を常に信頼にチェックを入れて[続ける]ボタンをクリックします。

[iPhone]CalDAVアカウント設定
iPhoneにCalDAVアカウントの設定をします。
※iOS4.3.5のiPhone 4で設定しています
Lion Serverに作成したアカウント(ユーザ)情報を入力して[次へ]ボタンをタップします。
サーバ:Lion ServerのIPアドレスないし名前解決できる場合は名前(この例ではmacmini.sa-sa-ki.jp)
ユーザ:yasu
パスワード:ユーザyasuのパスワード
説明:サーバ欄に入力した名前が自動で設定されます

SSL証明が自己証明の為、「サーバの証明書は無効です」警告が表示されますが気にせず[詳細]ボタンをタップします。

アカウント一覧にCalDAV(カレンダー)アカウントが登録されたらiPhoneでのアカウント登録作業は完了です。
[iPad]CalDAVアカウント設定
iPadにCalDAVアカウントの設定をします。
※iOS4.3.5のiPad 2で設定しています
左ペインの[メール/連絡先/カレンダー]をタップし、右ペインの[アカウントを追加]をタップします。

Lion Serverに作成したアカウント(ユーザ)情報を入力して[次へ]ボタンをタップします。
サーバ:Lion ServerのIPアドレスないし名前解決できる場合は名前(この例ではmacmini.sa-sa-ki.jp)
ユーザ:yasu
パスワード:ユーザyasuのパスワード
説明:サーバ欄に入力した名前が自動で設定されます

SSL証明が自己証明の為、「サーバの証明書は無効です」警告が表示されますが気にせず[詳細]ボタンをタップします。

アカウント一覧にCalDAV(カレンダー)アカウントが登録されたらiPadでのアカウント登録作業は完了です。

これでiPhoneやらiPadをMacにUSBで繋いで同期をとらなくてもiCal Server経由でスケジュールが共有できるようになりました。
スケジュールの共有
iCalに予定を入れてみます。
カレンダーは追加したCalDAVアカウント(この例ではcalendar)に変更するのがポイントです。


これをiPhoneのカレンダーでみてみると

iCal Server経由で同じ予定を見ることができます。
当然iPadのカレンダーでみてみても

これまたiCal Server経由で同じ予定を見ることができます。
ちなみにiCal Serverを外部公開する場合ですが、SSLを使わない場合はTCPの8008番ポートをSSLを使う場合はTCPの8443番ポートを、それぞれルータやファイヤーウォールのポートを開いてあげる必要がありますし、NATやマスカレードの設定をしてパケットをLion Serverに振ってやる必要があります。
あとこの設定を終えた後に気がついたのですが、Appleプッシュ通知っていうのを使うとほぼリアルタイムでサーバー側からクライアントに予定を配信してくれるみたいです。
※上記設定ではプッシュ配信してくれず、各デバイスに設定してあるフェッチの時間毎にクライアントからサーバーに予定を取りにいきます
サーバーからのプッシュ配信はぜひ調べて設定をしてみたいと思います。
■関連記事
Mac mini Mid 2011 (MC815J/A)購入
Mac mini Mid 2011 (MC815J/A) メモリ交換(2GB→8GB)
OS X Lion ServerにServer Admin Tools 10.7をインストール
OS X Lion ServerのiCal Serverを構築してみた
OS X Lion ServerのiCal Serverをプッシュ配信設定してみた
OS X Lion Server ソフトウェア・アップデートサーバを使ってみた
OS X Lionでrootユーザを有効にする
OS X Lion Serverのアドレスブックサーバの構築













