第三篇要記錄的是除了讓使用者 MUA 收信以外,還能有 web 的方式來進行收發郵件。
本篇是由 openwebmail 作範例,openwebmail 是一個較老式且簡單的 webmail 型式,不用繁複的設定就能達到簡單扼要的需求,若是需要強大的編輯功能可能就必須要參考其他的 webmail 套件,如 zimbra、roundcube .. 等等
SETP.1 安裝 openwebmail
shell# wget http://openwebmail.org/openwebmail/download/redhat/rpm/release/openwebmail.repo shell# yum install openwebmail
Download package: perl-suidperl perl-Compress-Zlib perl-Text-Iconv openwebmail openwebmail-data
SETP.2 設定 openwebmail
openwebmail 安裝好後分為兩個區塊
1. cgi-bin 程式執行檔 , 預設 /var/www/cgi-bin/openwebmail
2. data 資料來源 , 預設 /var/www/data/openwebmail
設定 dbm.conf
shell# vim /var/www/cgi-bin/openwebmail/etc/dbm.conf dbm_ext .pag dbmopen_ext none dbmopen_haslock no
設定 /var/www/cgi-bin/openwebmail/etc/openwebmail.conf , 主要設定檔
shell# vim /var/www/cgi-bin/openwebmail/etc/openwebmail.conf domainnames shazi.twbbs.org \\ 設為自己的domain ow_cgidir \\ cgi-bin路徑 ow_htmldir \\ data路徑 logfile \\ log路徑 logo_url \\ 若有客製化的Logo可以放上去唷,以下會有範例圖示 logo_link \\ logo的超連結 help_url help_text \\ help 客製化的文字 default_iconset Cool3D.Chinese.Traditional \\ 修改icon為中文圖示 , 可到 data/openwebmail/images/iconsets 找到!
限制郵件quota , 當使用者大量時必須限制每個使用者的郵件空間。
預設已經有把 quota_module 給編譯進來 , 如果沒有要自行編譯 , 設定如下
quota_module quota_du.pl \\ 將註解拿掉 , 開啟 quota 功能 #spool_limit 10240 \\ 用來限制新信件匣的最大容量限制 , 而quota_limit是對整個Webmail的quota限額 , 當超出限制時 , 編寫新郵件的小圖示就會消失 , 也無法再寫新郵件 quota_limit 1048576 \\ 使用者郵件整體容量限制 , 1GB=1,048,576KB , 單位是 KB quota_threshold 80 \\ quota 警告提示 , 以 quota_limit 為標準 , 單位是 % #delmail_ifquotahit no \\ 若容量超出 quota_limit 限額時自動刪除過舊的郵件 , 不啟動 #delfile_ifquotahit no \\ 若容量超出 quota_limit 限額時自動刪除 openwebmail 中的網路硬碟資料 , 不啟動
設定 /var/www/cgi-bin/openwebmail/etc/defaults/openwebmail.conf
shell# vim /var/www/cgi-bin/openwebmail/etc/defaults/openwebmail.conf smtpserver 192.168.1.1 \\ smtp server 的 IP
初始化 openwebmail
shell# /var/www/cgi-bin/openwebmail/openwebmail-tool.pl –init
最後會詢問是否輸出報表 y 即可
設定 httpd
安裝好預設會產生在 /etc/httpd/conf.d/openwebmail.conf
shell# vim /etc/httpd/conf.d/openwebmail.conf
ScriptAlias /openwebmail /var/www/cgi-bin/openwebmail/openwebmail.pl
Alias /data /var/www/data
執行 http://shazi.info/openwebmail 等於是在執行 openwebmail.pl 這支script
重啟 httpd
shell# service httpd restart
檢查 openwebmail
debug:
Q1. error message【無法寫入 /var/log/openwebmail.log! (Permission denied) 】
Ans: 確認 openwebmail.log 權限 , httpd 是否有權限可寫入
Q2. error message 【無法開啟 /usr/local/www/cgi-bin/openwebmail/etc/sessions/xxxx*-session-0.742660565767437! (Permission denied) 】
Ans: 當使用者Login 會在 sessions 目錄產生自己的 sessions , 如果 user 沒有權限可執行就會造成此錯誤
官方建議權限
chown root.mail sessions
chmod 755 sessions
Example:
使用者 eric 無法Login , 可使用以下語法測試
shell# su - eric -c "touch /var/www/cgi-bin/openwebmail/etc/sessions/eric"
[…] Mail Server (三) openwebmail […]