返回列表 回复 发帖

建立加密的Openwebmail

Mail 已是網路使用不可或缺的服務之一,然而大家在收信的時候,從伺服器登入收信 (mail) 到離線端收信 (pop),現在 Mail 伺服器或廠商更要提供網頁式的線上即時收信系統 (Webmail),而使用者在收信的習慣上有了很大的改變。

這篇文章,主要是來探討這網頁式的收信系統 - OpenWebmail - 由國人所寫的網路郵件系統,包含了安裝過程,以及如何把他建置在一個 SSL 的環境下。

所需環境:

Web Server:參考 LAMP - Linux + Apache + MySQL + PHP (New Window)
Perl:CPAN
Perl Modules:CGI、MIME::Base64、libnet、Digest、Digest::MD5、Text::Iconv,以上為必要的模組。
Application:libiconv
OpenWebmail System:http://www.openwebmail.org/
安裝 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/openw ... webmail-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



Linux联盟收集整理  



相关文章:

·linux技巧33条

·linux 下的差异和增量备份

·写给经常需要ghost linux系统的朋友

·深入理解硬盘的Linux系统分区工具的使用方法

·Linux下如何调整磁盘分区

·Linux下的压缩文件剖析

·为 Windows 用户准备的简明 Linux 词汇表二

·一个rpm下去,rh8挂上ntfs

·Linux 初始 RAM 磁盘(initrd)概述

·Linux中文件的压缩与解压缩
返回列表