最近更新日期:2004/11/23
在 Client 端使用 pop3 之類的 MUA 軟體來收信是目前一般使用者最常見的信件收受模式。不過, 這種模式由於是直接將信件下載到用戶端的個人電腦上,事實上, 很容易遭受不明病毒的影響,並且,如果信件內容大部分是廣告信件的話,由主機傳送到個人電腦這過程中的傳送行為, 將會平白的讓使用者損失一定程度的網路頻寬。由於電子郵件對於現代人來說, 應該已經是不可或缺的使用工具,所以雖然使用 pop3 有一定程度的風險,大家還是得繼續使用啊~難道沒有解決的方法嗎?呵呵!是有的,那就是使用網頁介面 (Web) 的郵件功能啦,也就是 WebMail 。其實 WebMail 並不是一個郵件伺服器,而只是透過主機提供的 Web 介面讓使用者登入,並且直接在主機上面進行郵件的收發而已。因此,事實上,您也可以將 webmail 視為一個 MUA 啦!底下我們就來說一說這一個由台灣人發明的 OpenWebMail 吧! |
前言:
:架設前須知
OpenWebMail的安裝:
:FC1 的 RPM 安裝
:MDK 10.0 的 tarball安裝
一些其他的設定:
問題與解決:
:還是無法執行 openwebmail
參考資源:
前言
電子郵件對於一般人來說,是越來越重要了,像鳥哥通常就是使用電子郵件來跟大部分的朋友聯絡, 而且,重要的文件與公事也幾乎是使用電子郵件來傳遞的呢!而在一般的個人電腦上面,我們通常是使用類似 Outlook express/Netscape/Mozilla 之類的 Client 端軟體,並透過 POP3/SMTP 協定來收發信件。
不過,遺憾的是,電子郵件其實並不安全!這點在一些 安全通報 上面就可以查閱的到了,不論是 MTA/MUA 都可能有漏洞的!而且,除了漏洞問題之外,更麻煩的是,廣告信件的大量發行, 造成我們用戶端的頻寬浪費,真的是很討厭!但是,電子郵件又是這樣的重要, 不能不收發電子郵件啊!那怎麼辦?這個時候我們就可以使用 Web 介面的 MUA 來進行電子郵件的收發啊!
那麼這種 webmail 的地位是甚麼呢?是否只要有 webmail 就不需要 mail server 了呢?當然不是這樣! webmail 其實可以被當成是一種 MUA 來看待,也就是說,您可以將他想成與 outlook express 同等級的應用軟體;而透過這個 webmail 我們可以對 mail serve r進行電子郵件的存取。也就是說, webmail 要能夠使用,必須要架構在具有 WWW 及 Mail Server 的服務上面才行!這幾者之間的關係可以簡單的這樣看:
架設前須知
不過,遺憾的是,電子郵件其實並不安全!這點在一些 安全通報 上面就可以查閱的到了,不論是 MTA/MUA 都可能有漏洞的!而且,除了漏洞問題之外,更麻煩的是,廣告信件的大量發行, 造成我們用戶端的頻寬浪費,真的是很討厭!但是,電子郵件又是這樣的重要, 不能不收發電子郵件啊!那怎麼辦?這個時候我們就可以使用 Web 介面的 MUA 來進行電子郵件的收發啊!
那麼這種 webmail 的地位是甚麼呢?是否只要有 webmail 就不需要 mail server 了呢?當然不是這樣! webmail 其實可以被當成是一種 MUA 來看待,也就是說,您可以將他想成與 outlook express 同等級的應用軟體;而透過這個 webmail 我們可以對 mail serve r進行電子郵件的存取。也就是說, webmail 要能夠使用,必須要架構在具有 WWW 及 Mail Server 的服務上面才行!這幾者之間的關係可以簡單的這樣看:
Server 端 Client ------------------------- | Apache/Webmail<---|<---- Mozilla/IE(瀏覽器) | | | |<---SMTP-----| | | | | | /var/spool/mail/accout | `-------------------------'也就是說,當 Client 端以瀏覽器登入主機後,主機透過 webmail 提供的服務,讓登入的使用者可以讀取該主機內自己的郵件,並且,也可以透過主機的 smtp 協定來進行郵件的寄發!
架設前須知
如同前面的說明,webmail 要能夠正確的運作,其實還需要 www/mail 這兩種服務的存在才行!此外,由於 webmail 需要能夠正確的存取主機內的郵件檔案 (/var/spool/mail/account),所以,我們必須要提供 webmail 足夠的權力來存取才行。因此,您必需要確定:
底下我們以目前相當熱門,並且是由台灣成大博士董仲愷主導發起的 Openwebmail 這個套件來進行安裝!這東西很不錯喔!您可以在底下的連結當中下載與 Red Hat/Fedora 有關的 RPM 檔案: 或者是下載原始檔案 (tarball): 底下鳥哥將以 FC1 及 Mandrake 10.0 作為測試的基準來安裝 openwebmai 喔!
- WWW Server (Apache) 已經順利運作;
- Mail Server (Postfix/sendmail) 已經順利運作;
- webmail 要求的前置軟體必須已經安裝:例如 openwebmail 需要 perl / suidperl / perl(CGI) / perl-Text-Iconv / perl-Compress-Zlib 等等的套件呢!其中 suid 方面的軟體,則是提供 webmail 存取權力的套件。
底下我們以目前相當熱門,並且是由台灣成大博士董仲愷主導發起的 Openwebmail 這個套件來進行安裝!這東西很不錯喔!您可以在底下的連結當中下載與 Red Hat/Fedora 有關的 RPM 檔案: 或者是下載原始檔案 (tarball): 底下鳥哥將以 FC1 及 Mandrake 10.0 作為測試的基準來安裝 openwebmai 喔!
OpenWebMail 的安裝:
因為 openwebmail 本身就有針對 Red Hat/Fedora 釋出 RPM 檔案,所以我們當然就直接以編譯好的 RPM 檔案來安裝即可!那如果是非 Red Hat/Fedora 怎麼辦?沒關係,可以使用原始碼來安裝啊!
FC1 的 RPM 安裝
MDK10.0 的 Tarball 安裝
FC1 的 RPM 安裝
請先確定 Postfix 或者 sendmail 已經安裝完畢,此外, Apache 也已經安裝好了!如果想要快速的架設好您的 Postfix + SASL 認證的話,可以這樣做:(更詳細的資訊請查閱:
http://linux.vbird.org/linux_server/0390postfix.php)
然後,請先下載 FC1 所需要的前驅套件,請連結至:
http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/packages/fc1/ 下載所有的 RPM 套件,然後再安裝 openwebmail 2.40 版,整個安裝流程:
一般來說,設定成這樣就足夠您運作 openwebmail 了,不過,您的 WWW 主機必須要能提供 perl 的執行環境,因為 openwebmail 就是以 perl 寫成的啊!以 apache 為例,您必須要知道如何啟動 perl 的 CGI 執行環境:
至少上面的設定要設定妥當才行啊!好了,那麼如何使用 openwebmail 呢?直接在您的瀏覽器上面輸入:
# 0. 先確定所有的套件都已經安裝了,主要有: postfix-2.0.16-1 cyrus-sasl-2.1.15-6 cyrus-sasl-md5-2.1.15-6 cyrus-sasl-devel-2.1.15-6 cyrus-sasl-plain-2.1.15-6 如果還有忘記寫上去的,還請繼續的安裝啊!並且,請移除底下的套件 sendmail fetchmail mutt # 1. 先確定一下 /usr/lib/sasl2/smtpd.conf 存在,且內容為: pwcheck_method: saslauthd # 2. 確定一下 /etc/sysconfig/saslauthd 內容為: MECH=shadow # 3. 確定一下 main.cf 裡面有: smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain= smtpd_recipient_restrictions = reject_unknown_sender_domain reject_unknown_recipient_domain permit_mynetworks permit_sasl_authenticated reject_unauth_destination smtpd_client_restrictions = permit_mynetworks hash:/etc/postfix/access permit_sasl_authenticated reject_rbl_client relays.ordb.org reject_rhsbl_client dsn.rfc-ignorant.org smtpd_sasl_security_options = noanonymous # 4. 然後啟動 saslauth 及 postfix 應該就可以啦! |
1. 安裝 openwebmail : [root@test root]# rpm -ivh perl* # 假設所有的RPM都放在 /root 底下。 [root@test root]# yum update # 這個動作僅只是要升級剛剛的套件而已; [root@test root]# rpm -ivh openwebmail-2.40-1.i386.rpm # 注意:在預設的情況下, openwebmail 會將檔案資料安裝至與 apache 有關的路徑 # 也就是 /var/www/data 與 /var/www/cgi-bin 底下,所以,如果您已經將 apache # 以 tarball 方式安裝,導致擁有不同的 WWW Root 路徑時,最好使用 tarball # 來安裝您的 openwebmail 啊! 2. 初始化設定: [root@test root]# cd /var/www/cgi-bin/openwebmail [root@test openwebmail]# ./openwebmail-tool.pl --init # 因為 openwebmail 支援相當多種認證機制,因此,我們必須在使用 openwebmail # 之前,先將 openwebmail 的相關設定做好!上面 openwebmail-tool.pl --init # 就是在達成這樣的目標。此外,這個步驟會進行蠻長的一段時間喔!請耐心等候! [root@test openwebmail]# cd etc [root@test etc]# vi dbm.conf # 找到並修改成底下幾行: dbm_ext .db dbmopen_ext .db dbmopen_haslock yes [root@test etc]# cd .. [root@test openwebmail]# ./openwebmail-tool.pl --init Welcome to the Open WebMail! This program is going to send a short message back to the developer, so we could have the idea that who is installing and how many sites are using this software, the content to be sent is: OS: Linux 2.4.22-1.2199.nptl i686 Perl: 5.008003 WebMail: Open WebMail 2.40 20040816 Send the site report?(Y/n) sending report... Thank you. 3. 進一步設定: [root@test openwebmail]# cd etc [root#test etc]# vi openwebmail.conf # 找到這一行: default_language en # 改成這樣子: default_language zh_TW.Big5 |
[root@test root]# vi /etc/httpd/conf/httpd.conf
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
AddHandler cgi-script .cgi .pl
|
- http://your.linux.server/cgi-bin/openwebmail/openwebmail.pl
[root@test root]# cd /var/www/cgi-bin/openwebmail/auth [root@test auth]# vi auth_unix.pl # 找到底下: my $passwdfile_plaintext = $conf{'passwdfile_plaintext'} || '/etc/passwd'; my $passwdfile_encrypted = $conf{'passwdfile_encrypted'} || '/etc/master.passwd'; # 改成這樣: my $unix_passwdfile_plaintext="/etc/passwd"; my $unix_passwdfile_encrypted="/etc/shadow"; # 或者是修改底下這個檔案成為: [root@test root]# vi \ /var/www/cgi-bin/openwebmail/etc/defaults/auth_unix.conf # 其內容只需將 passwdfile_encrypted /etc/master.passwd # 改為 passwdfile_encrypted /etc/shadow # 這樣就算完成了。 |
MDK10.0 的 Tarball 安裝
如果您是使用 MDK 作為您的 Linux 系統時,由於 OpenWebMail 並沒有針對這個作業系統來設計 RPM 檔案,所以,這裡我們以 Tarball 來進行安裝。首先,請先確認一下您的 Postfix 與 Apache 已經安裝妥當。底下我們就完整的來談一談囉!(同樣的,更詳細的 Postfix + SASL 的 SMTP 身分認證資訊請查閱:
http://linux.vbird.org/linux_server/0390postfix.php )
這樣就完成了 Postfix 的安裝與設定,再接下來則是 Apache 的安裝與設定了。
千萬注意,我們目前並沒有要使用 MySQL 的計劃,所以,當然就要將 MySQL 給他關閉啦!而 httpd 則是需要在開機的時候就與以啟動才行, 所以上面的第二個步驟才需要如此的設定喔!現在,您就可以在您的網址列輸入您的主機名稱,看看能不能連結 http 提供的 WWW 服務呢?!
現在,請注意,預設的狀態下, MDK 10.0 的 WWW 主網頁是放置在 /var/www/html 底下的,但是 MDK 卻沒有預設的 data 目錄,所以我們就必須要給予設定啦!您可以這樣做:
然後連到您的主機:http://hostname/cgi-bin/openwebmail/openwebmail.pl ,就能夠看到您的 OpenWebmail 囉!同時,如果還是無法看到相關的咚咚,請查閱您的登錄檔!
# 0. 先確定一下底下這些套件都已經安裝了(使用 rpm 的方式來安裝的) [root@test root]# rpm -qa | egrep '(sasl|postfix|imap)'|sort cyrus-sasl-2.1.15-10mdk imap-2002d-8mdk libpostfix1-2.1.1-0.1.100mdk libsasl2-2.1.15-10mdk libsasl2-devel-2.1.15-10mdk libsasl2-plug-anonymous-2.1.15-10mdk libsasl2-plug-login-2.1.15-10mdk libsasl2-plug-plain-2.1.15-10mdk postfix-2.1.1-0.1.100mdk # 若沒有安裝任何一個套件,請使用 urpmi 來安裝喔! # 1. 建立 saslauthd 認證機制與 smtp 認證檔案: [root@test root]# vi /etc/sysconfig/saslauthd #SASL_AUTHMECH=pam SASL_AUTHMECH=shadow # 事實上,就是將認證機制修訂成為 shadow 就是了。 [root@test root]# mkdir /etc/postfix/sasl [root@test root]# vi /etc/postfix/sasl/smtpd.conf pwcheck_method: saslauthd mech_list: plain login # 這一版的 postfix 比較奇怪,他的認證檔案預設就是放置在這裡喔! # 2. 修訂 postfix 的設定檔 master.cf: [root@test root]# vi /etc/postfix/master.cf # 找到這個: smtp inet n - y - - smtpd # 改為這個: smtp inet n - n - - smtpd # 3. 修訂 postfix 的設定檔 main.cf: # 基本上,內容就有點類似底下這樣: # Postfix 在 MDK 10.0 底下的預設設定資料: readme_directory = /usr/share/doc/postfix-2.1.1/README_FILES sample_directory = /usr/share/doc/postfix-2.1.1/samples html_directory = /usr/share/doc/postfix-2.1.1/html sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop command_directory = /usr/sbin manpage_directory = /usr/share/man daemon_directory = /usr/lib/postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix queue_directory = /var/spool/postfix mail_owner = postfix # 使用者的設定資料! mynetworks_style = host delay_warning_time = 4h smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) (Mandrake Linux) unknown_local_recipient_reject_code = 450 smtp-filter_destination_concurrency_limit = 2 lmtp-filter_destination_concurrency_limit = 2 smtpd_sasl_path = /etc/postfix/sasl:/usr/lib/sasl2 # <== 就是這一行 smtpd_sasl_application_name = smtpd relayhost = [seed.net.tw] #上面這行很重要,如果想要以動態 IP 架站,就需要 ISP 的 relay host 才行! #詳細資料請參考:(因為我的主機在seednet底下,所以....) # http://phorum.study-area.org/viewtopic.php?t=18621 # http://phorum.study-area.org/viewtopic.php?t=22806 myhostname = hostname.domain.name # <==這裡請輸入您的主機名稱 mydomain = domain.name # <==這裡則是領域名稱 myorigin = $myhostname inet_interfaces = all mydestination = $myhostname mynetworks = 127.0.0.0/8 alias_maps = hash:/etc/postfix/aliases alias_database = hash:/etc/postfix/aliases mail_spool_directory = /var/spool/mail debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5 smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = smtpd_recipient_restrictions = reject_unknown_sender_domain reject_unknown_recipient_domain permit_mynetworks permit_sasl_authenticated reject_unauth_destination smtpd_client_restrictions = hash:/etc/postfix/access, permit_sasl_authenticated, reject_rbl_client relays.ordb.org, reject_rhsbl_client dsn.rfc-ignorant.org smtpd_sasl_security_options = noanonymous notify_classes = resource, software message_size_limit = 31457280 mailbox_size_limit = 1000000000 header_checks = regexp:/etc/postfix/header_checks body_checks = regexp:/etc/postfix/body_checks # 4. 其他相關的檔案: /etc/postfix/access /etc/postfix/header_checks /etc/postfix/body_checks /etc/postfix/aliases # 相關設定請參考上面提供的連結啊! # 5. 開始啟動: [root@test root]# /etc/rc.d/init.d/saslauthd start [root@test root]# /etc/rc.d/init.d/postfix start |
# 0. 利用 urpmi 來安裝所需要的所有的套件! [root@test root]# urpmi apache2 php MySQL Preparing... ########################################### 1:libmysql12 ########################################### 2:libapr0 ########################################### 3:apache-conf ########################################### 4:apache2-common ########################################### 5:perl-Data-ShowTable ########################################### 6:perl-Mysql ########################################### 7:apache2-modules ########################################### 8:apache2 ########################################### 9:libphp_common432 ########################################### 10:perl-CGI ########################################### 11:MySQL-client ########################################### 12:MySQL-common ########################################### 13:php-ini ########################################### 14:apache2-mod_php ########################################### 15:MySQL ########################################### # 因為我再最早安裝時,並沒有選擇 WWW ,所以要安裝的資料就很多! # 另外,請您做好 urpmi 的設定才行! # 1. 開始啟動 httpd 囉! [root@test root]# /etc/rc.d/init.d/httpd start # 2. 讓 MySQL 在開機時不會自動啟動, httpd 則會自動啟動! [root@test root]# chkconfig httpd on [root@test root]# chkconfig mysql off [root@test root]# chkconfig --list | grep 3:on httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
現在,請注意,預設的狀態下, MDK 10.0 的 WWW 主網頁是放置在 /var/www/html 底下的,但是 MDK 卻沒有預設的 data 目錄,所以我們就必須要給予設定啦!您可以這樣做:
# 0. 將 openwebmail 解壓縮,並且移動到適當的目錄下: [root@test root]# cd /usr/local/src [root@test src]# tar -zxvf /disk1/software/openwebmail-2.40.tar.gz [root@test src]# cd cgi-bin/ [root@test cgi-bin]# mv openwebmail/ /var/www/cgi-bin/ [root@test cgi-bin]# cd .. [root@test src]# rmdir cgi-bin [root@test src]# mv data/openwebmail /var/www/html/openwebmail_data [root@test src]# rmdir data # 同時請注意,您的主機上面必須要有 perl 模組的存在了才行! # 我的 perl 模組有底下這麼多: perl-MailTools-1.59-2mdk perl-Crypt-SSLeay-0.51-3mdk perl-Term-Readline-Gnu-1.14-5mdk perl-Digest-SHA1-2.04-1mdk perl-Mysql-1.22_19-9mdk perl-MDK-Common-1.1.11-2mdk perl-HTML-Parser-3.35-2mdk perl-File-Slurp-2002.1031-3mdk perl-Tk-800.024-4mdk perl-SGMLSpm-1.03ii-6mdk perl-SDL-1.20.0-8mdk perl-ldap-0.31-2mdk perl-Glib-1.021-3mdk perl-Gtk2-1.023-3mdk perl-IO-Tty-1.02-9mdk perl-Gtk2-TrayIcon-0.03-3mdk perl-Authen-SASL-2.04-2mdk perl-Locale-gettext-1.01-11mdk perl-TimeDate-1.16-3mdk perl-HTML-Tagset-3.03-7mdk perl-URI-1.25-1mdk perl-Gnome2-Vte-0.02-1mdk perl-devel-5.8.3-5mdk perl-XML-SAX-0.12-3mdk perl-Convert-ASN1-0.16-4mdk perl-Data-ShowTable-3.3-9mdk perl-5.8.3-5mdk perl-DBI-1.40-2mdk perl-Libconf-0.33-2.1.100mdk perl-XML-Parser-2.34-1mdk perl-CGI-3.00-2mdk perl-URPM-0.94-11mdk perl-Expect-1.15-6mdk perl-Digest-HMAC-1.01-11mdk perl-base-5.8.3-5mdk perl-libwww-perl-5.76-3mdk perl-XML-NamespaceSupport-1.08-3mdk # 另外,也需要加入兩個必要的模組,您可以使用 FC1 的相關檔案,下載點: # http://turtle.ee.ncku.edu.tw/openwebmail/download/redhat/rpm/packages/fc1/ # rpm -ivh perl-Text-Iconv-1.2-fc1.i386.rpm perl-Compress-Zlib-1.16-12.i386.rpm # 兩個就可以啦! # 1. 初始化設定: [root@test root]# cd /var/www/cgi-bin/openwebmail [root@test openwebmail]# ./openwebmail-tool.pl --init # 因為 openwebmail 支援相當多種認證機制,因此,我們必須在使用 openwebmail # 之前,先將 openwebmail 的相關設定做好!上面 openwebmail-tool.pl --init # 就是在達成這樣的目標。此外,這個步驟會進行蠻長的一段時間喔!請耐心等候! [root@test openwebmail]# cd etc [root@test etc]# vi dbm.conf # 找到並修改成底下幾行: dbm_ext .pag dbmopen_ext none dbmopen_haslock yes [root@vbird etc]# vi openwebmail.conf # 找到並修改成底下幾行: domainnames auto auth_module auth_unix.pl mailspooldir /var/spool/mail ow_cgidir /var/www/cgi-bin/openwebmail ow_cgiurl /cgi-bin/openwebmail ow_htmldir /var/www/html/openwebmail_data ow_htmlurl /openwebmail_data logfile /var/log/openwebmail.log [root@test etc]# cd .. [root@test openwebmail]# ./openwebmail-tool.pl --init creating db /var/www/cgi-bin/openwebmail/etc/maps/b2g ...done. creating db /var/www/cgi-bin/openwebmail/etc/maps/g2b ...done. creating db /var/www/cgi-bin/openwebmail/etc/maps/lunar ...done. Welcome to the Open WebMail! This program is going to send a short message back to the developer, so we could have the idea that who is installing and how many sites are using this software, the content to be sent is: OS: Linux 2.6.3-14mdk i686 Perl: 5.008003 WebMail: Open WebMail 2.40 20040816 Send the site report?(Y/n) y sending report... Thank you. # 2. 修訂認證機制: [root@test root]# vi /var/www/cgi-bin/openwebmail/auth/auth_unix.pl # 找到: my $passwdfile_encrypted = $conf{'passwdfile_encrypted'} || '/etc/master.passwd'; # 修改成: my $passwdfile_encrypted = '/etc/shadow'; # 或者是修改底下這個檔案成為: [root@test root]# vi \ /var/www/cgi-bin/openwebmail/etc/defaults/auth_unix.conf # 其內容只需將 passwdfile_encrypted /etc/master.passwd # 改為 passwdfile_encrypted /etc/shadow # 這樣就算完成了。 |
一些其他的設定:
除了既有的設定之外,如果您想要其他的設定時,這裡提供幾個簡單的設定:
# 1. 網路硬碟: 如果不想提供網路硬碟的話,可以在底下的檔案: /var/www/cgi-bin/openwebmail/etc/openwebmail.conf 加入這行: enable_webdisk no # 2. 提供 ssh 連線: 如果不想提供網路連線的話,可以在底下的檔案: /var/www/cgi-bin/openwebmail/etc/openwebmail.conf 加入這行: enable_sshterm no # 3. 讓登入更簡單: 如果不想在網址列輸入長長的一段文字,可以修改成為: vi httpd.conf (請依照您的系統來修訂!) ScriptAlias /webmail /var/www/cgi-bin/openwebmail/openwebmail.pl or ScriptAlias /webmail.pl /var/www/cgi-bin/openwebmail/openwebmail.pl 然後重新啟動 apache ,如此一來,您可以在網址列輸入: http://hostname/webmail or http://hostname/webmail.pl 就可以進入 openwebmail 囉! |
問題與解決
- 還是無法執行 openwebmail:
一般來說,安裝好 openwebmail 之後,應該是立即可以使用了,不過,如果您一直無法進入 openwebmail 的歡迎畫面,那麼請特別留意:
- 在 openwebmail.conf 這個設定檔當中,是否填寫了適當的認證機制(auth_unit.pl);
- 在 auth_unix.pl 這個設定檔當中,是否填寫了正確的密碼認證檔案?
- 您的 WWW 是否提供 perl 的 CGI 執行環境?
- 仔細查閱 /var/log/httpd/error_log 及 /var/log/openwebmail.log 來解決問題!
- 來自討論區的網友留言
鳥哥好: 最近剛好在裝 openwebmail,拜讀主站上的文件安裝下去, 發現有一些部份在安裝時可能需要額外注意的,在此提供給您。 我的 distribution 是用 MDK 9.2,因此我是照 MDK 10.0 的 Tarball 安裝作下去的,不過我的 postfix + LAMP 是用 rpm 裝的,因此我直接跳到 openwebmail 安裝。 文中提到: 現在,請注意,預設的狀態下, MDK 10.0 的 WWW 主網頁是放置在 /var/www/html 底下的,但是 MDK 卻沒有預設的 data 目錄,所以我們就必須要給予設定啦! 您可以這樣做: 但我在 ./openwebmail-tool.pl --init 時仍會碰到要找 /usr/local/www 底下的 cgi-bin 的情形,所以應該還是要 ln -s /usr/local/www /var/www 另外,文件中下達 ./openwebmail-tool.pl --init 兩次, 但事實上第一次執行時系統會告訴我 dbm.conf 的資訊不對, 所以我認為應該先改 dbm.conf 再執行即可? 以上是我粗淺的看法,其實不管怎麼樣,可以正確的初始化才是重點。 最後是安裝後不能改密碼的問題,研究後發現在 cgi-bin/openwebmail/etc/defaults/auth_unix.conf 除了更改 passwdfile_encrypted 外,也要將 passwdmkdb 設定成none 才行。 這幾點是我安裝時幾個相異之處,提出來供鳥哥參考。也謝謝鳥哥文件的分享。
參考資源
- OpenWebMail 的下載: http://turtle.ee.ncku.edu.tw/openwebmail/download/
- OpenWebMail 台灣主站: http://turtle.ee.ncku.edu.tw/openwebmail/
- Ultraman 的 OpenWebMail 實作: http://linux.vbird.org/somepaper/20030317-openwebmail.php
from: http://linux.vbird.org/linux_server/0520openwebmail.php