NextCloudのWebサービスに移行しております。

スケジューラを統一したいよねー anchor.png

かつて流行ったPDAと呼ばれる携帯情報端末。IBMのPalm,SHARPのZaurus,ソニーのCLIE等、昔は一世を風靡しましたね。で、あの頃考えていた想い。う~ん、いろんなスケジューラソフトがいっぱい。なんとか統一出来ないもんかなぁ。ということで、昔はOutlookとの連動機能を備えた機種が多かったりしました。でもおいちゃんは、Outlookなんて使わないのよ。なぜならば、有償で、ソフトも買えないし、またWindows専用じゃないですか。なもので、マルチプラットフォームであり、スケジューラソフトとしてとっても有名なiCalenderとも同期できる、Thunderbird+Lightningを使用しておるのです。

で、カレンダーファイルを共有ディスクで共有して、一応目的は達成していたのですが、ココで問題が。会社でもスケジューラってよく使うのですが、出来ればこいつとも同期したいよねぇ。さらに、今話題のスマートフォン。AndroidケータイのGoogleカレンダー連携ってとても便利そうですよね。しかし、Googleには情報はあまり置きたくない。それに変わる物になんとか置き換えて、自宅で共有したい。この欲求を満たすツールが~、あったのです。Caldavサーバ。

このCaldavサーバは、iCalenderサーバとしてMacOSXにも採用されている、スケジューラ共有用のプロトコル。Webサーバを用いて共有できるので、非常に便利です。このCaldavサーバを実現してくれるのが、Davicalというツールです。それではインストールと設定をしてまいりましょう。

Page Top

Davical設定 anchor.png

Page Top

インストール anchor.png

まず、Davicalは通常のPortageパッケージツリーには入っておりません。このために、Portageアンオフィシャルツリー管理で悩むで示した、OverlayPortageを設定しておいてあげてください。sunrisePortageです。

また、PHPに以下のエクステンションが必要。USEフラグを追加してやって。

dev-lang/php ...pdo postgres

で、以下を実行

# emerge davical postgresql-server
Page Top

設定 anchor.png

Page Top

Postgresqlの設定 anchor.png

まずはデフォルトのままpostgresqlを設定&起動してあげます。

# merge --config postgresql-server
# /etc/init.d/postgresql-8.4 start
Page Top

Davical用のデータベース設定 anchor.png

# su - postgres
# /usr/share/webapps/davical/<version>/sqlscripts/create-database.sh

create-database.shを実行した際に、最後にdavical管理用のユーザ(admin)とパスワードが表示されます。まずは控えておいてください。

Page Top

Postgresqlのアクセス権限の設定 anchor.png

/var/lib/postgresql/8.4/data/配下に、pg_hba.confがあります。こいつを編集してやりましょう。
# local  all           all                                     trust  ←コメント化
host    davical     davical_app         127.0.0.1/32          trust

まず、1行目はコメントアウトします。ローカルからのアクセスは当初全てOKにしていたのを停止します。さらに、davicalのデータベースへのアクセスは、ローカルホストからのみ特定ユーザから許容します。

そして、postgresqlを再起動。

# /etc/init.d/postgresql-8.4 restart
Page Top

Davicalの動作用設定 anchor.png

/etc/davicalに、設定ファイルが格納されています。example-config.phpをコピーして作成しますが、アクセスするサーバの名前を着けたconfigファイルにします。例えば、http://example.com/davicalだとしたら、example.com-conf.phpって名前でコピーをするのですよ。 で、以下の項目を設定してあげましょう。

$c->pg_connect[] = "dbname=davical host=localhost user=davical_app";
$c->system_name = "DAViCal CalDAV Server";
$c->admin_email ="root@example.com';
$c->locale_path = '/usr/share/webapps/davical/<version>/hostroot/locale';

さて、さらに/var/www/localhost/davicalに.htaccessがあります。こんな感じで設定してあげると良いかなー。

<Limit MOVE COPY CONNECT>
   Options FollowSymLinks
   Order allow,deny
   Allow from all
</Limit>

php_value include_path ".:/usr/share/php5:
                                      /usr/share/php:
                                      /usr/share/php5/awl:
                                      /usr/share/webapps/davical/<version>/hostroot/inc/"

include_pathは改行いれないでどうぞ、かな。

Page Top

ユーザ登録など anchor.png

で、Davicalにアクセスしてみましょう。http://<アクセス用のURL>/davical/

davical.png

こんな画面になりましたよね。さて、create-database.shを実行したときに出てきたadminとパスワードを入力して、レッツログイン! ユーザ管理→自分の詳細を閲覧する(日本語ロケールの場合)で

davical2.png

こんな画面になりますです。adminさんのユーザ名/パスワードは変更しておいた方がいいっすよ。で、Davical(0.9.9.4)では、様々なユーザのことを、『プリンシパル』と呼んでいます。さて、ユーザのプリンシパルを追加いたしましょう。

ユーザ機能→プリンシパルを作成する を選択。新たなユーザさんを作ってあげましょう。大体わかるとおもうのですが、いまいち謎な項目をちょっと解説

日付形式スタイル
ISO形式を使用すると良いですね
プリンシパルタイプ
「人物」は普通のユーザ、「グループ」は複数のグループを管理するための代表ユーザさんです。グループを使用するユースケースは、各ユーザにDavicalのWebインタフェースを使用させない場合。『アクティブ』にチェックをつけると、Webインタフェースで自分の権限をユーザに編集させることが出来ます。各ユーザにいじらせたくなく、かつユーザがいっぱいいる場合、グループ代表者を作って、その人に管理を代行させることができるのですねー。さて、「資源」これ、なに?私は一応、共有情報を入れるユーザにしてあります。例えば休日情報や、イベント情報など。このカレンダをThunderbirdのアドレス帳にのっけとくと、自分で入れなくても共通情報を見ることができる、みたいなね。
Privileges granted to All Users
他のユーザにデフォルトで許す権限の一覧。自分のカレンダのどの情報までを開示するか、です。

ちなみに、Privileges granted to All Usersの条件をさらに上書きして、特定ユーザに許す権限も指定できます。「自分の詳細を閲覧する」メニューで出てくる情報内の『プリンシパル許可』ですね。で、どのユーザに、どこまでを見せるかが設定できます。

これは、他のユーザが自分のカレンダ以外に、他人のカレンダを参照情報に追加した場合、スケジュールを参照する/追加する/一緒に出て、と依頼するなどの行為が可能になります。便利ですねー。

Page Top

使ってみる anchor.png

私は家ではThunderbird+Lightningで使用しています。他にはSunbirdってのもありますが、Sunbirdは開発停止しちゃってます。メールとは別にスケジュール管理したい場合はSunbirdクライアントが便利なんですけどね。私は、会社ではSunbirdを使用してます。さて、設定をやってみましょう。

Page Top

基本設定 anchor.png

Thunderbirdのファイルメニュー→新規作成→カレンダーを選びます。

newcalender2.png

「ネットワークのサーバに保存する」を選んで次へ

newcalender.png

Caldavを選んで、「場所」にURLを入力します。この時Davcalカレンダーへのアクセスパスはhttp://<サーバドメイン名>/davical/caldav.php/<user名>/home/と指定します。気をつけてね。これで次へを指定すると、ユーザ/パスワードを聞かれます。入力するとThunderbirdに保存されているスケジュールが表示されます。

Page Top

カレンダ情報のインポートとか anchor.png

例えば、今までローカルで作ってたスケジュールを、Davicalへインポートしたいなぁ、なんてあるでしょうね。「予定とToDo」メニューに、「カレンダーをエクスポート」ってのがあります。エクスポートするカレンダーを選んで、ICSファイルに吐き出してあげます。で、このICSファイルを「ファイルからインポート」でインポートしてあげましょう。あっさりです。

ちなみにうちでは、同様に、「休日」やら、「イベント情報」やらをカレンダ作成して追加しています。活用法はいろいろありそうですね♪プロジェクト業務などで活用できると便利そうなんだけどなぁ…


Front page   Freeze Diff Backup Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 7149, today: 1, yesterday: 0
Princeps date: 2011-01-15 (Sat) 23:55:16
Last-modified: 2018-02-19 (Mon) 22:25:07 (JST) (2043d) by maruo
ページ内検索

ログイン

ユーザー名:


パスワード:





パスワード紛失

メインメニュー

サブメニュー
自宅鯖計画

Gentoo Linuxな生活

玄箱HGにGentoo格闘記

航空ショーへ行こう

モータースポーツな世界

奥深き写真の世界への誘い

我思う ゆえに我あり



携帯用QRコード