|
1: 2011-01-15 (土) 23:55:16 maruo |
| + | *スケジューラを統一したいよねー [#d4b7a4ee] |
| + | かつて流行ったPDAと呼ばれる携帯情報端末。IBMのPalm,SHARPのZaurus,ソニーのCLIE等、昔は一世を風靡しましたね。で、あの頃考えていた想い。う~ん、いろんなスケジューラソフトがいっぱい。なんとか統一出来ないもんかなぁ。ということで、昔はOutlookとの連動機能を備えた機種が多かったりしました。でもおいちゃんは、Outlookなんて使わないのよ。なぜならば、有償で、ソフトも買えないし、またWindows専用じゃないですか。なもので、マルチプラットフォームであり、スケジューラソフトとしてとっても有名なiCalenderとも同期できる、Thunderbird+Lightningを使用しておるのです。 |
| | | |
| + | で、カレンダーファイルを共有ディスクで共有して、一応目的は達成していたのですが、ココで問題が。会社でもスケジューラってよく使うのですが、出来ればこいつとも同期したいよねぇ。さらに、今話題のスマートフォン。AndroidケータイのGoogleカレンダー連携ってとても便利そうですよね。しかし、Googleには情報はあまり置きたくない。それに変わる物になんとか置き換えて、自宅で共有したい。この欲求を満たすツールが~、あったのです。Caldavサーバ。 |
| + | |
| + | このCaldavサーバは、iCalenderサーバとしてMacOSXにも採用されている、スケジューラ共有用のプロトコル。Webサーバを用いて共有できるので、非常に便利です。このCaldavサーバを実現してくれるのが、Davicalというツールです。それではインストールと設定をしてまいりましょう。 |
| + | |
| + | *Davical設定 [#i3909806] |
| + | **インストール [#qa58672f] |
| + | まず、Davicalは通常のPortageパッケージツリーには入っておりません。このために、[[Portageアンオフィシャルツリー管理で悩む>Gentoo Linuxな生活/Portageアンオフィシャルツリー管理で悩む]]で示した、OverlayPortageを設定しておいてあげてください。sunrisePortageです。 |
| + | |
| + | また、PHPに以下のエクステンションが必要。USEフラグを追加してやって。 |
| + | dev-lang/php ...pdo postgres |
| + | |
| + | で、以下を実行 |
| + | |
| + | # emerge davical postgresql-server |
| + | |
| + | **設定 [#d63f6302] |
| + | ***Postgresqlの設定 [#b4af80aa] |
| + | まずはデフォルトのままpostgresqlを設定&起動してあげます。 |
| + | # merge --config postgresql-server |
| + | # /etc/init.d/postgresql-8.4 start |
| + | |
| + | ***Davical用のデータベース設定 [#a0b34287] |
| + | # su - postgres |
| + | # /usr/share/webapps/davical/<version>/sqlscripts/create-database.sh |
| + | create-database.shを実行した際に、最後にdavical管理用のユーザ(admin)とパスワードが表示されます。まずは控えておいてください。 |
| + | |
| + | ***Postgresqlのアクセス権限の設定 [#ia7748fd] |
| + | /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 |
| + | |
| + | ***Davicalの動作用設定 [#qe3788a7] |
| + | /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は改行いれないでどうぞ、かな。 |
| + | |
| + | ***ユーザ登録など [#mdea893b] |
| + | で、Davicalにアクセスしてみましょう。http://<アクセス用のURL>/davical/ |
| + | #ref(davical.png); |
| + | こんな画面になりましたよね。さて、create-database.shを実行したときに出てきたadminとパスワードを入力して、レッツログイン! |
| + | #ref(davical.png); |
| + | ユーザ管理→自分の詳細を閲覧する(日本語ロケールの場合)で |
| + | #ref(davical2.png); |
| + | こんな画面になりますです。adminさんのユーザ名/パスワードは変更しておいた方がいいっすよ。で、Davical(0.9.9.4)では、様々なユーザのことを、『プリンシパル』と呼んでいます。さて、ユーザのプリンシパルを追加いたしましょう。 |
| + | |
| + | ユーザ管理→プリンシパルを作成する を選択。新たなユーザさんを作ってあげましょう。大体わかるとおもうのですが、いまいち謎な項目をちょっと解説 |
| + | :日付形式スタイル|ISO形式を使用すると良いですね |
| + | :プリンシパルタイプ|「人物」は普通のユーザ、「グループ」は複数のグループを管理するための代表ユーザさんです。グループを使用するユースケースは、各ユーザにDavicalのWebインタフェースを使用させない場合。『アクティブ』にチェックをつけると、Webインタフェースで自分の権限をユーザに編集させることが出来ます。各ユーザにいじらせたくなく、かつユーザがいっぱいいる場合、グループ代表者を作って、その人に管理を代行させることができるのですねー。さて、「資源」これ、なに?私は一応、共有情報を入れるユーザにしてあります。例えば休日情報や、イベント情報など。このカレンダをThunderbirdのアドレス帳にのっけとくと、自分で入れなくても共通情報を見ることができる、みたいなね。 |
| + | :Privileges granted to All Users| |
| + | 他のユーザにデフォルトで許す権限の一覧。自分のカレンダのどの情報までを開示するか、です。 |
| + | |
| + | ちなみに、Privileges granted to All Usersの条件をさらに上書きして、特定ユーザに許す権限も指定できます。「自分の詳細を閲覧する」メニューで出てくる情報内の『プリンシパル許可』ですね。で、どのユーザに、どこまでを見せるかが設定できます。 |
| + | |
| + | これは、他のユーザが自分のカレンダ以外に、他人のカレンダを参照情報に追加した場合、スケジュールを参照する/追加する/一緒に出て、と依頼するなどの行為が可能になります。便利ですねー。 |
| + | |
| + | *使ってみる [#eb3d138d] |
| + | |
| + | 私は家ではThunderbird+Lightningで使用しています。他にはSunbirdってのもありますが、Sunbirdは開発停止しちゃってます。メールとは別にスケジュール管理したい場合はSunbirdクライアントが便利なんですけどね。私は、会社ではSunbirdを使用してます。さて、設定をやってみましょう。 |
| + | **基本設定 [#c914cd24] |
| + | Thunderbirdのファイルメニュー→新規作成→カレンダーを選びます。 |
| + | #ref(newcalender2.png); |
| + | 「ネットワークのサーバに保存する」を選んで次へ |
| + | #ref(newcalender.png); |
| + | Caldavを選んで、「場所」にURLを入力します。この時Davcalカレンダーへのアクセスパスはhttp://<サーバドメイン名>/davical/caldav.php/<user名>/home/と指定します。気をつけてね。これで次へを指定すると、ユーザ/パスワードを聞かれます。入力するとThunderbirdに保存されているスケジュールが表示されます。 |
| + | **カレンダ情報のインポートとか [#s30a01c2] |
| + | 例えば、今までローカルで作ってたスケジュールを、Davicalへインポートしたいなぁ、なんてあるでしょうね。「予定とToDo」メニューに、「カレンダーをエクスポート」ってのがあります。エクスポートするカレンダーを選んで、ICSファイルに吐き出してあげます。で、このICSファイルを「ファイルからインポート」でインポートしてあげましょう。あっさりです。 |
| + | |
| + | ちなみにうちでは、同様に、「休日」やら、「イベント情報」やらをカレンダ作成して追加しています。活用法はいろいろありそうですね♪プロジェクト業務などで活用できると便利そうなんだけどなぁ… |