建立加密的 Openwebmail Mail 已是網路使用不可或缺的服務之一, 然而大家在收信的時候, 從伺服器登入收信 (mail) 到離線端收信 (pop), 現在 Mail 伺服器或廠商更要提供網頁式的線上即時收信系統 (Webmail), 而使用者在收信的習慣上有了很大的改變 這篇文章, 主要是來探討這網頁式的收信系統 - OpenWebmail - 由國人所寫的網路郵件系統, 包含了安裝過程, 以及如何把他建置在一個 SSL 的環境下 所需環境 : Web Server : 參考 LAMP - Linux + Apache + MySQL + PHP (http://www.l-penguin.idv.tw/~steven/article/lamp.htm) Perl:CPAN (http://search.cpan.org/) Perl Modules:CGI MIME::Base64 libnet Digest Digest::MD5 Text::Iconv, 以上為必要的模組 Application:libiconv OpenWebmail System:http://www.openwebmail.org/ 安裝 Perl Modules: 要安裝 Modules 很簡單, 一切都是使用 CPAN 就可以搞定了 cpan CGI MIME::Base64 libnet Digest Digest::MD5 Text::Iconv 安裝 OpenWebmail 在安裝之前, 我希望這個 Webmail 是透過 SSL 加密傳輸, 所以我把它另起爐社, 等一會再配合 Virtual Host 建立一個 SSL 的專用站台 在本文完之之前, 最新版的 Open Webmail 是 2.52 版 cd /misc; wget http://www.openwebmail.org/openwebmail/download/release/openwebmail-2.52.tar.gz tar -zxvf openwebmail-2.52.tar.gz 解開之後, 你會看到有 data/ 和 cgi-bin/ 目錄 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 把 cgi-bin/ 和 data/ 放到 SSL 的目錄 Page 1 of 5
/data/web/ssl mkdir cgi-bin html mv /misc/cgi-bin/openwebmail cgi-bin; mv /misc/data/openwebmail html 設定 Open Webmail Open Webmail 所有的設定檔, 都在 etc/ 目錄之下 cd /data/web/ssl/cgi-bin/openwebmail/etc 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 設定 default/auth_unix.conf vi default/auth_unix.conf # 設定 passwd 的檔案位置 passwdfile_plaintext /etc/passwd # 設定 passwd shadow 位置 passwdfile_encrypted /etc/shadow 設定 default/openwebmail.conf vi default/openwebmail.conf # 設定 smtp server 位置, 你可以設定成適合的 SMTP Server smtpserver 127.0.0.1 Page 2 of 5
設定 default/dbm.conf vi default/dbm.conf # 修改資料庫格式 dbm_ext.db dbmopen_ext.db dbmopen_haslock no 初始化 Open Webmail cd /data/web/ssl/cgi-bin/openwebmail openwebmail.pl --init 經過以上的繁雜設定, 這樣算是把 Open Webmail 簡單的設定好了, 其實在 default/openwebmail.conf 可以做很多進階設定, 就由各位去實驗了 Page 3 of 5
設定 Apache 因為我們 /data/web/ssl 這個目錄是一定需要使用 SSL 連線才可以進入的, 以下所做的設定, 是為了確保在使用者誤闖 ssl 的加密區, 所以要設定成 /data/web/ssl 目錄只要連線就一定要採用 SSL 才行 vi /etc/httpd/conf/httpd.conf # 加入設定 <Directory /data/web/ssl> SSLRequireSSL </Directory> 設定 SSL 我習慣把 SSL 分開來單獨設定, 所以會另外編輯一個 ssl.conf 檔, 當然你也可以直接在 httpd.conf 設定所有的項目 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> 當然, 最後一步就是重新啟動 Apache /usr/local/httpd/bin/apachectl stop /usr/local/httpd/bin/apachectl startssl Page 4 of 5
使用 Open Webmail 好了, 現在我們開啟 Browser, 輸入你的 openwebmail 網址就可以了, 不過千萬要記得, 網址要加上 https, 而不是 http, 以本例來說, 就會變成 https://www.abc.idv.tw/cgi-bin/openwebmail/openwebmail.pl For more articles, please visit http://www.l-penguin.idv.tw/ 作者 : 廖子儀 (Tzu-Yi Liao) Certified:LPIC Level I LPIC Level II RHCE E-mail:steven@l-penguin.idv.tw Web site:http://www.l-penguin.idv.tw/ Page 5 of 5