« L7-filter 安裝實錄 | 首頁 | 讓 sendmail 自動回覆信件 »
2005年12月28日
Apache HTTP Server + Mozilla Calendar / Sunbird
Mozilla Calendar 和 Sunbird 是 mozilla.org 推出的行事曆軟體 (差別在 Calendar 是依附在瀏覽器上的外掛套件). 它能單機使用, 也能搭配 Apache HTTP Server + WebDAV 來達成以下目的:
- 只要電腦裝有 Mozilla Calendar 或 Sunbird 即可透過網路存取個人行事曆
- 可多人共用同一個行事曆檔案, 跨網域、跨平台群組協同作業
環境:
- Fedora Core 1 (httpd-2.0.47-10)
- Mozilla Sunbird 0.3a1 @Windows
- Mozilla Calendar 2005011113-cal @Ubuntu.Firefox/1.0.7
>>> 設定 Apache HTTP Server
建立 SSL 憑證
cd /etc/httpd/conf
make your.host.name.pemCountry Name (2 letter code) [GB]:TW
State or Province Name (full name) [Berkshire]:Taiwan
Locality Name (eg, city) [Newbury]:Taipei
Organization Name (eg, company) [My Company Ltd]:Your Company Name
Organizational Unit Name (eg, section) []:Your Unit Name
Common Name (eg, your name or your server's hostname) []:your.host.name
Email Address []:your@email.addressmv your.host.name.pem ./ssl.crt/
vi /etc/httpd/conf.d/ssl.conf註解 SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
註解 SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
加入 SSLCertificateFile /etc/httpd/conf/ssl.crt/your.host.name.pem
設立帳號密碼
mkdir /etc/httpd/passwd
chown root:apache /etc/httpd/passwd
chmod 750 /etc/httpd/passwd
htpasswd -c /etc/httpd/passwd/passwd.dav your_user_name
chown root:apache /etc/httpd/passwd/passwd.dav
chown 640 /etc/httpd/passwd/passwd.dav
建立 WebDAV 目錄
mkdir /var/www/webdav
chown root:apache /var/www/webdav
chmod 750 /var/www/webdav
建立公用資料夾、使用者資料夾
mkdir /var/www/webdav/public
chown apache:apache /var/www/webdav/public
chmod 750 /var/www/webdav/publicmkdir /var/www/webdav/your_user_name
chown apache:apache /var/www/webdav/your_user_name
chmod 750 /var/www/webdav/your_user_name
設定 WebDAV 目錄存取規則
vi /etc/httpd/conf/httpd.conf
Alias /webdav/ "/var/www/webdav/"
<Directory /var/www/webdav>
DAV on
SSLRequireSSL
AuthType Basic
AuthName "WebDAV Storage"
AuthUserFile /etc/httpd/passwd/passwd.dav
</Directory>
<Directory /var/www/webdav/public>
require valid-user
</Directory>
<Directory /var/www/webdav/your_user_name>
require user your_user_name
</Directory>service httpd restart
>>> 安裝 Mozilla Calendar (Mozilla 系列: Firefox、Thundbird、Application suite 外掛模組)
啟動 Mozilla 系列瀏覽器, 連結到 http://www.mozilla.org/projects/calendar/download.html, 點選適合的安裝項目即可.
ps. 已知 2005-01-11 只適用於 Firefox 0.8 ~ 1.0.x 版
安裝後, 重新啟動瀏覽器即可使用 Mozilla Calendar.
以 Firefox 為例, 點選「工具」→「Calendar」即可啟動 Mozilla Calendar.
>>> 安裝 Mozilla Sunbird (非依附於瀏覽器的獨立軟體)
啟動任一種瀏覽器, 連結至 http://www.mozilla.org/projects/calendar/sunbird_download.html, 點選適合的作業平台即可下載.
ps. Linux 版本需 libstdc++5 套件
>>> 使用 Mozilla Calendar (以新增 Public 公用行事曆為例)
- 啟動 Mozilla Firefox, 點選「工具」→「Calendar」
- 點選「Calendars」
- 在「Calendars」空白欄位上按滑鼠右鍵, 點選 "New Calendar"
- Calendar Name: Public
Color: 選擇代表顏色
按「確定」 - 編輯行程內容 (在月曆上按滑鼠右鍵, 點選 "New Event...")
- 在「Calendars」的 "Public" 欄位上按滑鼠右鍵, 點選 "Publish Entire Calendar"
- 於 Publishing URL 欄位中輸入: https://your.host.ip.addr/webdav/public/public.ics
其中, public.ics 是 Public 這個行事曆的資料檔名, 可隨意取名
建議以 https:// 加密連結, 以確保資料傳輸的安全性
過程中若詢問帳號密碼, 以先前 htpasswd 所設定的帳號密碼進行確認 - 點選 "Publish" 即可將行事曆發送至 HTTP Server
- 點選 "Close" 關閉 Publish Calendar 對話視窗
- 再次於「Calendars」的 "Public" 欄位上按滑鼠右鍵, 點選 "Edit Calendar", 勾選 "Automatically publish your changes to the remote calendar?" 即可於每次編輯完行程後, 自動更新 HTTP Server 上的資料
- 以相同方式, 再行建立使用者個人行事曆即可
>>> 使用 Mozilla Sunbird (以新增 Public 公用行事曆為例)
- 啟動 Mozilla Sunbird
- 點選「Calendars」
- 在「Calendars」空白欄位上按滑鼠右鍵, 點選 "New Calendar"
- 點選 "Remote" → Next
Format: WebDAV, Location: https://your.host.ip.addr/webdav/public/public.ics → Next
Name: Public, Color: 隨意 → Next
輸入先前以 htpasswd 設定的帳號密碼
接著會出現錯誤訊息, 因為找不到 public.ics, 先不予理會, 點選 "Finish" 回到 Sunbird 畫面 - 再次於「Calendars」的 "Public" 欄位上按滑鼠右鍵, 點選 "Edit Calendar", 取消勾選 "Read-only"
- 編輯行程內容 (在月曆上按滑鼠右鍵, 點選 "New Event...")
- 編輯完成後, Sunbird 自動會更新 HTTP Server 上的資料
- 以相同方式, 再行建立使用者個人行事曆即可
參考資料:
- Setting up WebDAV on Apache 2 on a Red Hat 9 server
- Storing your Mozilla Calendar on a WebDAV server
相關網頁:
- Mozilla Calendar / Sunbird Project
- mod_dav: a DAV module for Apache
- Apache HTTP Server 2.0 Documentation: Require Directive
- SSL/TLS Strong Encryption: How-To
--- 2007.07.24 補充:
新版的 Mozilla Sunbird 開始支援 Google Calendar:
linux.com - Latest Mozilla Sunbird is a well-connected calendar
Posted by Jamyy at 2005年12月28日 14:33
Trackback Pings
TrackBack URL for this entry:
http://cha.homeip.net/cgi-bin/mt/mt-tb.cgi/154
Comments
您好:
想請教您,小弟現在有個需求,是大家可以共用行事曆,也就是A可以看到B的行程,B也可以看到A的,但無法互相寫到對方的行事曆上,我想到的方式有二,一種就是開放一個如上面所提的Public
但會發生不知道這是A或B所打的行程,另一種則為我將兩個人的行事曆都加入sunbird,但這樣會可以寫到對方的行事曆上,如果我手動在A將B的行事曆改為唯讀,就可以稍微解決,但如果User自行去將唯讀取消就失效了,且只要將sunbird關閉在開啟,唯讀這個選項並不會紀錄,反而照預設值,不知道是不是bug,請問關於這共用行事曆這方面有沒有好的解決方案,之前使用過openwebmail的行事曆,但還是無法克服共用這部分,只能用同一帳號登入,不知道您是否有研究?或是有甚麼可以建議的方案?謝謝...
Posted by: jay at 2008年03月18日 13:37