建立加密的 Openwebmail
Mail 已是網路使用不可或缺的服務之一,然而大家在收信的時候,從伺服器登入收信 (mail) 到離線端收信 (pop),現在 Mail 伺服器或廠商更要提供網頁式的線上即時收信系統
(Webmail),而使用者在收信的習慣上有了很大的改變。
這篇文章,主要是來探討這網頁式的收信系統 - OpenWebmail - 由國人所寫的網路郵件系統,包含了安裝過程,以及如何把他建置在一個 SSL 的環境下。
所需環境:
安裝 Perl Modules:
要安裝 Modules 很簡單,一切都是使用 CPAN 就可以搞定了。
root # cpan CGI MIME::Base64 libnet Digest Digest::MD5 Text::Iconv
安裝 OpenWebmail
在安裝之前,我希望這個 Webmail 是透過 SSL 加密傳輸,所以我把它另起爐社,等一會再配合 Virtual Host 建立一個 SSL 的專用站台。在本文完之之前,最新版的
Open Webmail 是 2.52 版。
root # cd /misc; wget http://www.openwebmail.org/openwebmail/download/release/openwebmail-2.52.tar.gz
root # tar -zxvf openwebmail-2.52.tar.gz
解開之後,你會看到有 data/ 和 cgi-bin/ 目錄。
root # ls -l
total 7548
drwxr-xr-x 2 root wheel 4096 Jul 3 18:01 cgi-bin
drwxr-xr-x 2 root wheel 4096 Jul 3 18:01 data
-rw-r--r-- 1 root root 7705209 May 3 07:38 openwebmail-2.52.tar.gz
root #
把 cgi-bin/ 和 data/ 放到 SSL 的目錄。
root # /data/web/ssl
root # mkdir cgi-bin html
root # mv /misc/cgi-bin/openwebmail cgi-bin; mv /misc/data/openwebmail
html
設定 Open Webmail
Open Webmail 所有的設定檔,都在 etc/ 目錄之下。
root # cd /data/web/ssl/cgi-bin/openwebmail/etc
root # vi openwebmail.conf
-----------------------------------------------------------
# mail spool 位置
mailspooldir /var/spool/mail
#webmail 程式在伺服器上的位置
ow_cgidir /data/web/ssl/cgi-bin/openwebmail
#webmail 程式的連結位置
ow_cgiurl /cgi-bin/openwebmail
#webmail 網頁在伺服器上的位置
ow_htmldir /data/web/ssl/html/openwebmail
#webmail 網頁的連結位置
ow_htmlurl /openwebmail
-----------------------------------------------------------
root #
設定 default/auth_unix.conf
root # vi default/auth_unix.conf
-----------------------------------------------------------
#設定 passwd 的檔案位置
passwdfile_plaintext /etc/passwd
#設定 passwd shadow 位置
passwdfile_encrypted /etc/shadow
-----------------------------------------------------------
設定 default/openwebmail.conf
root # vi default/openwebmail.conf
-----------------------------------------------------------
#設定 smtp server 位置,你可以設定成適合的 SMTP Server
smtpserver 127.0.0.1
-----------------------------------------------------------
root #
設定 default/dbm.conf
root # vi default/dbm.conf
-----------------------------------------------------------
# 修改資料庫格式
dbm_ext .db
dbmopen_ext .db
dbmopen_haslock no
-----------------------------------------------------------
root #
初始化 Open Webmail
root # cd /data/web/ssl/cgi-bin/openwebmail
root # openwebmail-tool.pl --init
root #
經過以上的繁雜設定,這樣算是把 Open Webmail 簡單的設定好了,其實在 default/openwebmail.conf 可以做很多進階設定,就由各位去實驗了。
設定 Apache
因為我們 /data/web/ssl 這個目錄是一定需要使用 SSL 連線才可以進入的,以下所做的設定,是為了確保在使用者誤闖 ssl 的加密區,所以要設定成
/data/web/ssl 目錄只要連線就一定要采用 SSL 才行。。
root # vi /etc/httpd/conf/httpd.conf
-----------------------------------------------------------
# 加入設定
<Directory /data/web/ssl>
SSLRequireSSL
</Directory>
-----------------------------------------------------------
root #
設定 SSL
我習慣把 SSL 分開來單獨設定,所以會另外編輯一個 ssl.conf 檔,當然你也可以直接在 httpd.conf 設定所有的項目。
root # vi ssl.conf
-----------------------------------------------------------
<VirtualHost _default_:443>
DocumentRoot "/data/web/ssl/html"
ServerName www.abc.idv.tw:443
ServerAdmin steven@abc.idv.tw
ScriptAlias /cgi-bin/ "/data/web/ssl/cgi-bin/"
<Directory "/data/web/ssl/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
-----------------------------------------------------------
root #
當然,最後一步就是重新啟動 Apache
root # /usr/local/httpd/bin/apachectl stop
root # /usr/local/httpd/bin/apachectl startssl
root #
使用 Open Webmail
好了,現在我們開啟 Browser,輸入你的 openwebmail 網址就可以了,不過千萬要記得,網址要加上 https,而不是
http,以本例來說,就會變成 https://www.abc.idv.tw/cgi-bin/openwebmail/openwebmail.pl

07/04/2006
首頁