(2015/01/31)
IMAPでメールをサーバー管理にし、ノートPCやディスクトップPCのメールクライアントから統一的に扱えるのは良いのだが、アドレス帳が分散してしまう。LDAPも入れてみた物の、編集がいまいち。ふとアドレス帳.appを見るとCardDAVなんて項目が有る。おそらく、webdavのvCard形式特化版なのではなかろうか。だとすると、両方で書き換えとか共有するには良さそう。
ということで、ググって見たら、appleのcalendarserverってのが良さそうだということで、インストールしようとしたら、すでに入ってた。色々ググりながら設定して起動したけど動かない。。??と思った2011年にすでに失敗してた。。ナンテコッタイ。あれから2年以上。世の中は進化するもので、radicaleなりbaikalなりってものが出てる。どうやらbaikaiってやつはapache上のphpで動くらしく、独自のサーバーは建てない。calendarserverは独立なのでポートに穴を開けたりと面倒くさいのである。というこで、baikalを使用する。dbもsqliteだから楽ちん。
サーバーはdebian squeezeである。まぁphpのプログラムなんであんまり関係ないけど。php-pdoとかphp-sqliteとか色々いるけど、元々入れちゃってるしね。
普通のphpのプログラムなので、本家>からダウンロードしてくる。
#wget http://baikal-server.com/get/baikal-flat-0.2.7.zip
パッケージは3種類あって、ホスティングしてルートにする奴と、レンタルサーバーとかのftpとかで上げるやつ。webサーバーはすでに使ってて、その一部に入れようと思っているので、flatのやつでいいや。http://xxxx.com/baikal/xxxxx/みたいにアクセスするようにする。
#cd /home/html #unzip baikal-flat-0.2.7.zip #mv baikal-flat baikal
解凍して名前を変える。ファイルを保存するので、permissionを変えておこう。
#chown -R www-data:www-data baikal
で、終わり。アクセスしてみる。http://xxxx.com/baikal/admin/で、設定できるととのこと。
Forbiden。なんてこった。どうやらシンボリックリンクを使っているようで、apacheの設定でシンボリックリンクが有効になっていないのでエラーが発生してるっぽい。baikalのルートに.htaccessがあるのでそこに追加する。
# Disabling cache management # that could cause problems with DAV requests # Useful only for Apache servers, with AllowOverride All # (ie, .htaccess files enabled) # Allow HTTP headers with Apache/FastCGI # See http://code.google.com/p/sabredav/wiki/Authentication#Apache_+_(Fast)CGI <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] </IfModule> <IfModule mod_expires.c> ExpiresActive Off </IfModule> Options FollowSymLinks ←追加
再び!。http://xxxx.com/baikal/admin/にアクセス。おぉ、webインターフェースで設定できるのね。便利。
ウィザード形式になっているので普通にセットしていけばOK。後で設定変更できるので、適当に。データベースはsqliteでOK。
結果こんな感じ。
次に、ユーザーを作る。上部にあるメニューのusers and resoursesでアクセス。
これもまぁ、普通にadd usersを押して作るだけ。アカウント名はcaldavは普通メールアドレスにするっぽい。iCalのデフォルトもメールアドレスだったので、普段使うメールアドレスにしといたほうが良さげ。
これで、カレンダーとアドレス帳ができた。
次はAddressBookの方。こっちのURLは
* Server address: http://dav.mydomain.com/card.php/addressbooks/jerome/default (replace domain and
つまり?
http://xxxx.com/baikal/card.php/addressbooks/takumi@xxxx.com/default
Macのaddressブックに設定してみると、xxxxのすべてって項目が出来上がる。これはイケてるっぽい。
面倒なので、sqliteを覗いてみたりして。。
#>cd /home/html/baikal/Specific/db #>sqlite3 db.sqlite sqlite> sqlite>select * from cards; 1|1|BEGIN:VCARD VERSION:3.0 PRODID:-//Apple Inc.//Mac OS X 10.10.2//EN N:;人の名前;;; FN:人の名前 item1.EMAIL;type=INTERNET;type=pref:メアド@xxxx.ne.jp item1.X-ABLabel:_$!<Other>!$_ REV:2015-01-31T10:22:23Z UID:ce7017a8-715e-4f02-9089-1a277d7ae5c4 END:VCARD |ce7017a8-715e-4f02-9089-1a277d7ae5c4.vcf|1422699764 sqlite>
入ってる入ってる。webmailツールのrainloopでもちゃんと同期されてる。
なんまvCardだね。だっけ?。もう忘れちまったな。
とりあえず、MacOS-Xでテスト。calendarのURLは次のようになるらしい。
* Server Address: http://dav.mydomain.com/cal.php/principals/jerome (replace domain and username)
ということは、xxxx.comだとすると、
http://xxxx.com/baikal/cal.php/principals/takumi@xxxx.com
か。
macosでカレンダーを立ち上げて、CalDAVアカウントを追加をチェックして"続ける"をクリック。
アカウントの種類が自動ではダメなので"詳細"に変更すると、色々出てくる。
アカウントの種類:詳細 ユーザー名:takumi@xxxx.com パスワード:xxxx サーバーアドレス:xxxx.com サーバーパス:/baikal/cal.php/principals/takumi@xxxx.com ポート:80
これでいいはず。他のクライアントを探さないと、確認のしようがないな。baikalをwebで表示するものはないんだろか。。
Copyright (C) 2015 俺 All right reserved.