建立加密的 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
首页