« 2009/01, Vol. 156 PChome Magazine | 首頁 | 自動登入 Linux 系統 »
2009年01月12日
Open WebMail 行事曆進階應用
- 公用行事曆
- 部門公用行事曆
公用行事曆
# 新增公用行事曆管理帳號
useradd -s /sbin/nologin global
passwd global以 global 身分登入 openwebmail, 讓 global 家目錄產生 .openwebmail 資料夾與相關檔案
# 公用行事曆系統環境設定
mkdir /var/spool/webcal
cd /var/spool/webcal
touch global_calendar.book
chown global:root global_calendar.book
chmod 644 global_calendar.book
vi /var/www/cgi-bin/openwebmail/etc/openwebmail.conf加入: global_calendarbook /var/spool/webcal/global_calendar.book
ln -s /var/spool/webcal/global_calendar.book ~global/.openwebmail/webcal/calendar.book
日後只要使用 global 登入 openwebmail 即可編輯公用行事曆內容, 其餘帳號皆可在他們的 openwebmail 行事曆看到公用行事曆的行程.
部門公用行事曆
1. 建立部門公用行事曆檔案
mkdir /var/spool/webcal
cd /var/spool/webcaltouch 部門1_calendar.book
chown root:部門1 部門1_calendar.book
chmod 660 部門1_calendar.booktouch 部門2_calendar.book
chown root:部門2 部門2_calendar.book
chmod 660 部門2_calendar.bookps. 若想預設行事曆唯讀, 只允許某人有修改權, 可修改 calendar.book 權限:
chown 某人:部門n 部門n_calendar.book; chmod 640 部門n_calendar.book2. 將部門成員的 calendar.book 連結到部門公用行事曆, 並匯入各員原本的行事曆內容
cd ~部門1的成員A/.openwebmail/webcal
cat calendar.book >> /var/spool/webcal/部門1_calendar.book
ln -sf /var/spool/webcal/部門1_calendar.book calendar.book cd ~部門1的成員B/.openwebmail/webcal
cat calendar.book >> /var/spool/webcal/部門1_calendar.book
ln -sf /var/spool/webcal/部門1_calendar.book calendar.book 3. 處理彙整後的部門公用行事曆資料檔
cd /var/spool/webcal
cat 部門n_calendar.book | sort -t '@' -k 4 | sed -e 's/^[0-9]*@/@/' | nl -s '' -w 1 > sorted.output
cat sorted.output > 部門n_calendar.book
rm -f sorted.output"部門公用行事曆" 原理其實很簡單, 就是把每個人的 ~/.openwebmail/webcal/calendar.book 依部門別連結到共用的 /var/spool/webcal/部門n_calendar.book, 這樣同部門的人就可以共用同一本行事曆. 缺點是: 每個人所張貼的行程都會被同部門的人看到, 即犧牲掉 "個人行事曆" 的功能. 若要兩全其美, 須修改 OpenWebMail 程式, 補充於文末.
參考資料:
Open WebMail 進階說明 by Chung-Kie Tung
-- 2009.01.14 補充: 部門行事曆 + 個人行事曆 for OpenWebMail v2.53
下載點: http://cha.homeip.net/downloads/openwebmail-cal.tar.bz2
安裝步驟:
tar pjxf openwebmail-cal.tar.bz2
mv *.gif /var/www/data/openwebmail/images/iconsets/Cool3D.Chinese.Traditional/
for i in *.pl; do cp -a /var/www/cgi-bin/openwebmail/$i /var/www/cgi-bin/openwebmail/$i.backup; done
mv *.pl /var/www/cgi-bin/openwebmail/
說明:
- 適用版本: OpenWebMail v2.53
- 圖示種類: Cool3D.Chinese.Traditional
- 檔頭: #!/usr/bin/suidspeedy (原始版本: #!/usr/bin/suidperl -T)
- 部門行事曆檔案: ~/.openwebmail/webcal/calendar.book
個人行事曆檔案: ~/.openwebmail/webcal/personal_calendar.book
Posted by Jamyy at 2009年01月12日 10:05