カレンダーサーバのBaikalを試してみたので記す。
ここでのカレンダーサーバとは、Googleカレンダーのようなものですな。
「だったらそんなのGoogleカレンダーでいいじゃないか」というのは仰るとおりだが、そもそも環境の都合上、Googleカレンダーへの接続ができないとか、PRISM以降、オンラインサービスを信用ならない向きには有用なサービスであります。
カレンダーサーバの選択
とはいえ、カレンダーサーバ(以降、CalDAVサーバ)を選ぶにも、かなりの数が作られている。
Wikipedia(英語版)で調べてみると、各種CalDAVサーバが一覧にされた比較表が出てくる。
これを参考に選んでみよう。
http://en.wikipedia.org/wiki/Comparison_of_CalDAV_and_CardDAV_implementations
いろいろ眺めてみて、かつ、少しかじってみて、Baikalを選んだ。
いずれのCalDavサーバも機能は一長一短なので、構築がとっても楽だったBaikalに決めた。
Baikalとは。
SabreDAVをベースにしたCalDAV, CardDAVサーバである。
オフィシャルサイトはこちら。
しかしこのサイトにはドキュメントがまったくないので、GitHubのこちらを勧める。
RequirementはPHP5.3以降にSQLite3、php-pdo。データベースにはMySQLも利用できる。
WebDAVサーバも必要だが、apache, nginx, lighttpd等、どれでもいいでしょう。
さっそくインストールしてみる。
Baikalのインストール
これはなんでもない。
FreeBSDならpkgngにあるのでそれで。portsならwww/baikal 。
依存も少なめで非常にいい。
インストールが終わると以下のメッセージが表示される。
To finish installing Baikal:
1) Set up an httpd directive
See /usr/local/share/examples/baikal
2) touch /usr/local/www/baikal/Specific/ENABLE_INSTALL
3) Browse http://your.host.here/admin
4) rm /usr/local/www/baikal/Specific/ENABLE_INSTALL
上記メッセージに沿って進める。
httpサーバの設定
FreeBSDだと/usr/local/www/baikalにインストールされる。
それぞれのhttpサーバでbaikalのインストールされたディレクトリを公開する。
ただし公開するのはbaikalのhtmlディレクトリ。
/usr/local/www/baikal/html/である。
私の場合、/usr/local/www/dataがhttpサーバのドキュメントRootだった。
webサーバでaliasの設定をすべきだが、面倒なので横着してsymlink張った。
# ln -s /usr/local/www/baikal/html /usr/local/www/data/baikal
# ls /usr/local/www/data
baikal index.html
Baikalのセットアップ
インストール時メッセージに沿う。
SpecificフォルダにENABLE_INSTALLというファイルを作る。
# touch /usr/local/www/baikal/Specific/ENABLE_INSTALL
# ls /usr/local/www/baikal/Specific
.htaccess ENABLE_INSTALL db
その後、ブラウザで接続。
http://<baikalサーバ>/baikal/admin へ。
うまくすれば以下の画面になるはず。
データベースセットアップ。
SQLiteならそのまま進む。
一通りの設定が終わったのでダッシュボードへ。
終わったらSpecific/ENABLE_INSTALLを削除すること。
ユーザ、カレンダの追加
上記からの流れでdashboardに移動しているはず。
メニューバーのユーザ管理をクリックしていけばユーザ、カレンダー追加ができる。
ここでのパスワードは、あとあとカレンダーへアクセスするときに必要になるもの。
ユーザを作ったら、カレンダーをクリック。
カレンダーが出来ていますね。
カレンダーへのアクセス
CalDAVに対応しているならなんでもいい。
ここのClient Implementationsにズラリと並んでいるどれでもOK.
iOS, Androidだって、よりどりみどり。
ここでは、ThunderbirdのLightningからアクセスする例を示す。
CalDAVを選び、アドレスに以下を入れる。
http://<IPアドレス>/baikal/cal.php/calendars/<ユーザ>/default
たとえば、http://192.168.154.241/baikal/cal.php/calendars/doe/default
以上。