iCalのカレンダーをwebで見たくて、いろいろ調べていろいろやってみました。
閉じられたネットワークでのことなので、インターネットのような開いたネットワークで難しいかもしれませんが、一応メモ程度に。
1)webDAVで共有
2)カレンダーをブラウザで見よう
3)movabletypeから予定を入れてみよう
1)について
条件:apacheがDSOが使える状態でコンパイル、およびインストールできていること。
apache2の場合はmod_davが組み込まれているのでb)からでよい。
方法:a)ここからmod_davを入手して、展開。できたディレクトリに移動して、
./configure --with-apxs
make
make install
b)httpd.confの
LoadModule dav_module libexec/libdav.c
の行と
AddModule mod_dav.c
の行のコメントアウトを削除
c)htdocsのディレクトリ以下に適当なディレクトリ、ここではicalを作成し、所有者をapacheのユーザに変更(ここではnobody)
2)で使うphpicalendarの関係上、calendarsというディレクトリを作成して置きます。
mkdir -p htdocs/ical/calendars/
chown nobody:nobody htdocs/ical
そしてDAV用のロックファイルを作成
mkdir /usr/local/apache/dav
touch /usr/local/apache/dav/DAVLock
d)httpd.confに以下の内容を追加
<IfModule mod_dav.c>
DAVLockDB /usr/local/apache/dav/DAVLock
DAVminTimeout 600
<Location /ical>
DAV On
</Location>
</IfModule>
e)http.confが正しいかテスト
/usr/local/apache/bin/apachectl configtest
エラーがなければapacheを再起動
/usr/local/apahce/bin/apachectl graceful
f)iCal側でカレンダーの共有設定
メニューのカレンダーから公開を選択
”自動的に変更内容を公開”にチェックをいれ、webサーバに公開にチェックを入れる。
URLの欄には先ほど作ったディレクトリのパスを入れる。
http://hogehoge/ical/calendars/
以上でwebDAVでの共有完了
2)について
1)の状態だとブラウザでアクセスしても文字列でしか見えないので、HTMLに変更して見やすくしたい。
条件:phpが使えるサーバであること
方法:iCalendarを入手後、1で設定したディレクトリicalに展開し,所有者をnobodyに変更。
config.inc.phpを適宜編集。そしてhttp://hogehoge/ical/にアクセスするとicalのカレンダーが整形されて見えるはずです。
3)について
結構いろんな所で紹介されていますが、方法としては
a)新しいblogを作成
b)regexのプラグインを導入、(ダウンロードして、pluginディレクトリにコピーするだけ)
c)Main Indexのできる場所を1)でつくった(この場合はhtdocs/ical/calendars/)所に指定
d)出力ファイル名をindex.icsに変更
e)テンプレートを以下の様に変更
BEGIN:VCALENDAR CALSCALE:GREGORIAN PRODID:-//Apple Computer\, Inc//iCal 1.0//EN X-WR-CALNAME;VALUE=TEXT:My Calendar X-WR-TIMEZONE;VALUE=TEXT:Asia/Tokyo X-MT-TAG;VALUE=TEXT:s/([,;"])/\\$1/g VERSION:2.0 <MTEntries> BEGIN:VEVENT SEQUENCE:1 DTSTAMP:<$MTEntryDate format="%Y%m%dT%H%M%S"$>Z SUMMARY:<$MTEntryTitle regex="iCal" remove_html="1" $> DESCRIPTION:From <<$MTEntryLink$>>: <$MTEntryBody regex="iCal" remove_html="1" $> DTSTART;TZID=Asia/Tokyo:<$MTEntryDate format="%Y%m%dT%H%M%S"$> UID:<$MTEntryID> DURATION:PT1H END:VEVENT </MTEntries> END:VCALENDAR
f)movabletypeから投稿するとその時間が予定として記入される
*問題:終了時間の指定はどうするかわからない。
開始時間も一度投稿してから、変更しないといけない。
というように実用にはあまりたえない感じです。。。
|
|A-scriptsを運営しているfukuですが、こちらのMTのHTTPエラーで、pingを何度も送ってしまいました。
上から2番目以外、全部消して下さい。
どうもすみません。