twbsd.org
 
  Select Language: Home  SmbFTPD Forum 

书籍数据

ch00 序.htm

ch01 FreeBSD 简介.htm

ch02 安装 FreeBSD.htm

ch03 UNIX 系统入门.htm

ch04 使用者管理.htm

ch05 网络设定.htm

ch06 档案系统管理.htm

ch07 系统安全.htm

ch08 编译核心.htm

ch09 系统调校.htm

ch10 软件安装.htm

ch11 X Window 的使用.htm

ch12 NAT 及防火墙.htm

ch13 网页服务器.htm

ch14 网页服务器进阶应用.htm

ch15 FTP 服务器.htm

ch16 邮件服务器.htm

ch17 邮件服务器进阶应用.htm

ch18 DHCP服务器.htm

ch19 数据库系统.htm

ch20 Samba 网络芳邻.htm

ch21 NFS.htm

ch22 DNS 服务器.htm

ch23 指令应用.htm

ch24 Shell Script.htm

cha1 附录A etc目录下的档案介绍.htm

cha2 附录B 制作 FreeBSD 安装光盘.htm

cha3 附录C 版权宣告.htm

 


View printable page

第十七章 邮件服务器进阶应用

第十七章 邮件服务器进阶应用

基本的邮件服务器已能满足大多数人的需求,但经过一段时间之后,您可能会遇到更多的使用者要求。例如,开始有人报怨垃圾信太多、有人希望可以使用网页收发信件等等。本章将介绍一些邮件服务器的应用,让您的服务器功能更加强大。

读完本章后,您将了解下列主题:

  • 如何架设虚拟邮件主机。
  • 如何阻挡垃圾信及病毒信。
  • 如何架设 Openwebmail 以使用网页收发信件。

17.1 虚拟邮件主机

如果我们想要在同一台机器上收多台主机的信件,或者想要在一台主机上设定可以 "收" "发" 信件的虚拟账号 (如果只要收,可以简单的设定 aliases 即可),我们可以经由虚拟主机的设定来达成。假设有二个 Domain Name,一个是 abc.com,另一个是 old.cde.com。这份文件包含了二种设定方式:一个是让二个 domain name 收到的信对映到一台机器上的使用者,也就是说不能有不存在的虚拟使用者;另一个设定是让你可以设定不同的虚拟使用者对映到不同机器上的任何使用者。不管我们要做哪一种设定,都必需要先设定 DNS。
请注意,这份文件中的设定并不会让你可以拥有一个真正的虚拟账号,因为这里是将虚拟账号对映到一个存在的邮件地址。使用这份文件的设定和设定 /etc/aliases 最大的不同在于设定 aliases 只能让虚拟的账号收信,而无法寄信。

17.1.1 DNS 设定

为了要让寄出去的信知道要往哪一台主机上送,必须要先设定 DNS。假设我们现在已经有一台设定好 DNS 的主机,hostname 是 abc.com。我们要让 abc.com 处理 old.cde.com 的信件的话,最简单的方式就是将 mail.cde.com 指向 abc.com (CNAME records),也就是二个 doamin 有同样的 IP。不过这样一来,old.cde.com 就不能独立存在了,也就是说不会有一台机器的 hostname 名为 old.cde.com,并提供 FTP、www(也可以有虚拟主机)、telnet等服务。

因此,我们要使用的是改变 DNS 的 MX record。设定只有处理该主机的邮件时,才将 old.cde.com 转向 abc.com。请在你的 DNS 中加入下列设定:

old.cde.com        IN  MX  10    abc.com.

完成后要重新读设定档并等一段时间设定才会在网络上生效。接着我们就可以来做 sendmail 的设定了。

17.1.2 对映到同一台机器的真实使用者

第一种设定的使用时机,例如你的公司主机原来是 mail.cde.com,现在换成了 abc.com,你希望让原本的使用者 jack@mail.cde.com 和新的 jack@abc.com 都能由 jack@abc.com 来收信。这种设定很简单,只要编辑 /etc/mail/relay-domains/etc/mail/local-host-names 这二个档案,加入要增加收信的主机名称即可。以本例而言,除了那二个档案原本的内容外,要再增加一行:

mail.cde.com

这样了不管是原本 mail.cde.com 或是真正主机名称 abc.com 的信件,都可以由 abc.com 的相同的使用者收信。

17.1.3 可以拥有虚拟使用者

第二种设定是让我们可以设定一个虚拟的账号,并且可以利用它来送信。这个设定是经由编辑 /etc/mail/virtusertable 来达成。相同的,我们在 abc.com 这台主机中设定它的 virtusertable。我们以下列二个 virtusertable 的例子来说明,请注意,二个字段间的空白是用 tab 键,而非使用空格键:

范例一:

joe@mail.cde.com            jschmoe
jane@mail.cde.com           jdoe@othercompany.com
@mail.cde.com               jschmoe

上面的例子中,凡是寄给 joe@mail.cde.com 的信都会送给本地使用者 jschmoe。而以 joe@mail.cde.com 寄出的信收件人所看到的寄件人一样是 joe@mail.cde.com,如果在寄信时要身份认证的话,必须使用 jschmoe 的账号及其密码。接下来,寄给 jane@mail.cde.com 的信会送给 jdoe@othercompany.com,剩下来所有给 mail.cde.com 的信都会送给本地 jschmoe 这个使用者。

范例二:

joe@mail.cde.com            jschmoe
bogus@mail.cde.com          error:nouser No such user here
list@mail.cde.com           yourdomain-list
@mail.cde.com               %1@othercompany.com

这一个例子中,第一行和范例一一样,凡是寄给 joe@mail.cde.com 的信都会送给本地使用者 jschmoe。而凡是寄给 bogus@mail.cde.com 都会响应没有这个使用者。第三行如果是寄给 list@mail.cde.com 的信,都会转给本地的 yourdomain-list 这个虚拟使用者,你可以在 /etc/aliases 中加入关于 yourdomain-list 这个使用者的信要怎么处理,怎么设定别名。最后一行,凡是其它非上述三行使用者的信,都交由在 othercompany.com 这台机器上相对映的使用者来处理。

你可以依照上面的范例来编辑你的 virtusertable,完成编辑后,必须要使用以下指令来将这些档案做成 sendmail 能接受的 DB 格式:

# makemap hash virtusertable.db < virtusertable
# newaliases

都完成后,我们就可以到别台机器使用虚拟账号来试试收发信。假设我们要使用的虚拟账号是上述范例一中的第二行 jane@mail.cde.com,以 outlook 中的设定为例,所设定的 E-mail 仍然是 jane@mail.cde.com,如下图所示:

图 17-1

所设定的 pop3 及 smtp 主机也是 mail.cde.com。但是使用者及密码是 othercompany.com 上的使用者 jdoe 及其密码,如下图所示:

图17-2

在上图中,如果 othercompany.com 在寄信时要身份认证,则上图中 "外寄邮件服务器" 的选项 "我的服务器需要验证"必须打勾。如此一来您就可以使用 jane@mail.cde.com 来收发信,而且在别人收到信时会显示寄件人是 jane@mail.cde.com。

17.2 垃圾信及病毒防护

全拜电子邮件所赐,经由因特网,我们可以很快的传送邮件。然而,却有人利用电子邮件从事令人不悦的广告发送行为。垃圾邮件可以说是目前网络上最令人厌恶的行为,相信常使用电子邮件的读者们每天一定都会收到许多垃圾信件。所有服务器上处理的使用者都要处理这些垃圾邮件简直是太浪费资源了。而且,除了垃圾信外,邮件中所夹带的病毒也十分危险,万一有人不小心打开了具有病毒的信件,接下来又是另一场灾难。

面对这些垃圾信及病毒信,我们有更好的解决方式,就是使用 MailScanner 加上病毒防护的功能,让我们的邮件服务器更加安全、好用。MailScanner 是一套免费的软件,很多网站都使用它来过滤垃圾信件。除了垃圾信外,我们还可以外挂其它模块,以支持病毒扫瞄。另外,我们也可以用它来阻挡具有特定的扩展名附件的邮件。您可以到 http://www.sng.ecs.soton.ac.uk/mailscanner/ 找到更多关于 MailScanner 的说明。

使用 MailScanner 的好处是我们原本安装的 Sendmail 不需要做任何的修改,只要将 Sendmail 跑在 MTA only 的模式即可。

17.2.1 MailScanner 架构说明

在没有安装任何垃圾信处理软件之前,在寄信、或者由其它服务器收到信件时,我们的服务器会先判断该信件是否为本机的信件,如果是,则呼叫 MDA (mail 这支指令),将信件放到 /var/mail 目录下。如果是要给其它服务器的信件,则放到 /var/spool/mqueue 下,Sendmail 会定时检查该目录,并将信件传送出去。示意图如下所示:

图 17-3

在有了 MailScanner 后,当 Sendmail 收到信后,会先将信件放到 /var/spool/mqueue.in 中。接下来 MailScanner 会定时去检查该目录下的档案,经过 MailScanner 扫瞄检查后,合法的邮件会被放到 /var/spool/mqueue 中。接下来的处理程序就和原本 Sendmail 的处理一样。示意图如下:

图 17-4

MailScanner 在检查邮件时有很多功能,它使用了一些外挂模块来检查垃圾信及病毒信。详细的检查过程如下:

  • 定时检查 /var/spool/mqueue.in 中的邮件。
  • 先使用 RBL 检查寄件者的 IP 是否在黑名单中。
  • 使用 SpamAssassin 来检查信件内容,看看信件格式是否有不合法或是具有垃圾信特征。
  • 呼叫病毒检查的模块来扫瞄邮件。
  • 进行其它的内容检查,包含附件的扩展名、邮件内容是否包含特定的 HTML 格式等等。
  • 全都都合法则将信件放到 /var/spool/mqueue 中。如果不合法,则依我们的设定进行退信、隔离、删除、或加上标记后送出。

图 17-5

当 MailScanner 判断某封信件为垃圾信时,它有几种处理模式,包含附加标记在主旨上后送出、退信、删除、隔离、转寄等等。我们在使用 MailScanner 之后,应该要先在邮件的主旨上附上标记后送出。当有使用者发现不是垃圾信却被设为垃圾信时,我们可以将该信件的寄件者加入白名单中 (就是不检查信件的寄件者清单)。如此运作一段时间都没问题后,再使用比较严格的方式,进行退信或删除。如此一来,我们才不会遗漏正常的信件。

MailScanner 的功能十分强大,但是设定却很容易,我们只要进行一些基本设定,即可以拥有强大的垃圾信及病毒扫瞄功能。

17.2.2 安装 MailScanner

FreeBSD 已经将 MailScanner 放入 ports 中,我们只要使用 ports 来安装即可。除了 MailScanner 外,我们还要安装 SpamAssassin 及防毒软件 ClamAV。

首先请使用下列指令安装 MailScanner:

# cd /usr/ports/mail/mailscanner/
# make install
# make initial-config

接着安装 ClamAV:

# cd /usr/ports/security/clamav/

# make install clean

执行了 make install 后,会出现一个选单,请记得要选取「MILTER」。

最后安装 SpamAssassin:

# cd /usr/ports/mail/p5-Mail-SpamAssassin/
# make install clean

安装完后,我们必须先进行一些基本的设定。首先是防毒软件方面,我们必须设定定时更新病毒码。请先编辑 /etc/rc.conf 并加入下列这一行:

clamav_freshclam_enable="YES"

上述设定将会在开机时启动 freshclam 这支程序,预设每二小时会去检查一次是否有新的病毒码要下载。

由于 MailScanner 会取代原本 Sendmail 的部份功能,而 Sendmail 只要启用 MTA 模式即可,所以我们先编辑 /etc/rc.conf 并停用原本的 Sendmail。

sendmail_enable="NONE"

接着我们使用下列指令来将 MailScanner 及 Sendmail 开机时所必须使用的启动程序更名,这样系统在开机时才会启动 MailScanner 及 Sendmail 的 MTA 模式:

# cd /usr/local/etc/rc.d
# mv mta.sh.sample mta.sh
# mv mailscanner.sh.sample mailscanner.sh

由于 MailScanner 会在信件进来时,先将信件放到 /var/spool/mqueue.in 中,我们必须先建立下列 MailScanner 所必须使用的目录:

# mkdir -p /var/spool/mqueue.in
# mkdir -p /var/spool/MailScanner/incoming
# mkdir -p /var/spool/MailScanner/quarantine

这样我们就已经完成了大部份的设定,接下来我们必须进行 MailScanner 的细部设定。MailScanner 的设定档位于 /usr/local/etc/MailScanner/MailScanner.conf,如果您希望快速的设定好 MailScanner,以下是几个必须修改的地方:

# MailScanner 会检查档案的扩展名、格式。如果是 zip 档,它也会将它解压缩并检查压缩
# 档中的内容。我们常会遇到因为扩展名问题而副件被 MailScanner 的问题。如果您将下列选
# 选项设为 0,则 MailScanner 就不会去检查压缩档中的档案格式。
Maximum Archive Depth = 0

# 设定使用 clamav 做为病毒扫瞄工具。
Virus Scanners = clamav

# 是否启用 SpamAssassin。我们将它改为 yes,以使用 SpamAssassin 来检查垃圾信。
Use SpamAssassin = yes

# 下列选项控制了当被 MailScanner 判定为垃圾信时要如何处理。预设是在主旨加上标记并
# 送出。我们可以将它改为 delete (删除)、store (隔离)、bounce (退信) 等。建议您
# 先设定为 deliver,等过一阵子确定都没有误判后,再将它改为 bounce。
Spam Actions = deliver

# 下列选项控制了当被 MailScanner 判定为高分数的垃圾信时要如何处理。所谓的高分数垃
# 圾信就是 MailScanner 有很高的把握认为这是垃圾信。预设是在主旨加上标记并送出。我
# 们一样可以将它改为 delete (删除)、store (隔离)、bounce (退信) 等。建议您先设
# 定为 deliver,等过一阵子确定都没有误判后,再将它改为 delete。
High Scoring Spam Actions = deliver

最后,您就可以重开机以使用 MailScanner 的功能了。

17.2.3 设定 MailScanner

除了上述的设定外,MailScanner 及 SpamAssassin 还有很多的设定项目可以修改,相关的设定档全部都放在 /usr/local/etc/MailScanner 中。我们先来说明一下这些设定档的用途:

檔名 用途
MailScanner.conf 这是 MailScanner 的主要设定档。
filename.rules.conf 用来设定拒绝的邮件附件的扩展名格式。
spam.whitelist.rules 用来设定白名单,也就是不会被判断为垃圾信的寄件者清单。
spam.blacklist.rules 用来设定黑名单,也就是一定是垃圾信的来源清单。

MailScanner.conf 是最主要的设定档,我们先来看看几个比较常用的项目:

# 设定您的组织缩写。这个项目会被 MailScanner 用在信件的标头中。必须注意的是这个设
# 定最好只使用英字及数字。
%org-name% = twbsd

# 用来设定您的组织全名。这个名称会出现在 MailScanner 所寄出的回报信件中,它会被当
# 成签名档附在信件的最下方。
%org-long-name% = Taiwan BSD Group

# 用来设定您的组织网址。这个网址会出现在 MailScanner 所寄出的回报信件中,在信件最
# 方会出现这个连结。
%web-site% = http://www.twbsd.org

# 设定 MailScanner 多久要检查一次是否有新的信件进来,以秒为单位。
Queue Scan Interval = 6

# 设定允许的最大附件大小。如果设为 -1 表示不检查,0 表示不允许附件。
Maximum Attachment Size = -1

# MailScanner 会检查档案的扩展名、格式。如果是 zip 档,它也会将它解压缩并检查压缩
# 档中的内容。我们常会遇到因为扩展名问题而副件被 MailScanner 的问题。如果您将下列选
# 选项设为 0,则 MailScanner 就不会去检查压缩档中的档案格式。
Maximum Archive Depth = 0

# 设定使用 clamav 做为病毒扫瞄工具。
Virus Scanners = clamav

# 是否要检查网络钓鱼。网络钓鱼 (Phishing) 的意思是使用伪装的信件,让使用者以为是另
# 一个网站所寄来的数据,让使用者上勾。例如,伪造某银行的信件,要您输入信用卡号等。不
# 过这个项目可能会让您信件中有类似 192.168.1.1 这种 IP 时出现警告讯息。
Find Phishing Fraud = yes

# 是否要在信件中出现 IP 的连结时提出警告。
Also Find Numeric Phishing = yes
# 下列几个项目都是用来检查一些信件中的 HTML 格式,并将比较可能有危险的格式移除。如果
# 将它们设为 yes,表示允许;no 表示不允许;disarm 表示以该格式的功能取消,但信件还
# 是送出。
Allow IFrame Tags = disarm
Allow Form Tags = disarm
Allow Script Tags = disarm
... 略 ...

# 是否启用 SpamAssassin。我们将它改为 yes,以使用 SpamAssassin 来检查垃圾信。
Use SpamAssassin = yes

# SpamAssassin 会检查信件内容,并依内容格式给予信件分数,分数越高表示越有可能是垃
# 圾信。您可以在收到信件后,查看邮件原始档,在原始档中有一行
# 「X-twbsd-MailScanner-SpamScore」,其后接的「s」数目就是分数。这个选项设定
# 了分数多少会被当作垃圾信。
Required SpamAssassin Score = 6

# 这个选项设定了分数多少表示是高分数的垃圾信。
High SpamAssassin Score = 10

# 下列选项控制了当被 MailScanner 判定为垃圾信时要如何处理。预设是在主旨加上标记并
# 送出。我们可以将它改为 delete (删除)、store (隔离)、bounce (退信) 等。建议您
# 先设定为 deliver,等过一阵子确定都没有误判后,再将它改为 bounce。
Spam Actions = deliver

# 下列选项控制了当被 MailScanner 判定为高分数的垃圾信时要如何处理。所谓的高分数垃
# 圾信就是 MailScanner 有很高的把握认为这是垃圾信。预设是在主旨加上标记并送出。我
# 们一样可以将它改为 delete (删除)、store (隔离)、bounce (退信) 等。建议您先设
# 定为 deliver,等过一阵子确定都没有误判后,再将它改为 delete。
High Scoring Spam Actions = deliver

# 是否要在扫瞄发现信件没问题后,在信件最后加下 "Inline HTML Signature" 或
# "Inline Text Signature" 这二个选项所设定的内容。如果设为 yes,则信件最
# 后都会有使用 MailScanner 扫瞄过的讯息。
Sign Clean Messages = no

filename.rules.conf 可以用来设定邮件附件中不允许哪些扩展名。在 filename.rules.conf 中已经有一些预设的扩展名,如果您想要允许某些扩展名,可以修改该档案。例如,我们如果想要允许 .exe 档,则可以在下列这一行前加上「#」:

#deny \.exe$ Windows/DOS Executable

spam.whitelist.rulesspam.blacklist.rules 可以用来设定黑白名单。如果您有信件被误判为垃圾信,可以在白名单中加入让寄件来源,如此一来,该信件就不会再被当作垃圾信了。 反之,如果有垃圾信没有被判断为垃圾信,则可以自行在黑名单中加入。这二个档案的格式一样,以 spam.whitelist.rules 为例:

From: *@*.friends.net yes
From: *@friends.net ye
From: 220.132.178.149 yes
From: 192.168. yes

它有三个字段,第一个字段是指定要检查的是来源或目的地,第二个是设定来源,第三个字段为 yes 表示是白名单。以上述内容为例,是设定所有从 friends.net 所寄来的信件都不是垃圾信。另外,我们也可以直接使用 IP 或网域。

17.2.4 MailScanner 进阶管理

在 MailScanner 上线后,我们必须先将设定放松一点,例如在判断是垃圾信时,不要退件或删除,还是先寄给使用者。如果使用者发现不该是垃圾信的邮件被误判,则可以将该信件加入白名单中。经过一段时间的测试都没问题了,再设定将高分数的垃圾信删除、并退回低分数的垃圾信。

当有误判时,我们必须要检查邮件源始档,知道误判原因后,才能将该寄信者加入白名单中。我们来看一下一封垃圾信的标头:

图 17-6

我们可以看到这封信的分数是 7 (有 7 个 s),表示这是垃圾信。如果您觉得判断是否为垃圾信的分数太低,很多不是垃圾信也会被当成垃圾信,则可以将 MailScanner.conf 中的「Required SpamAssassin Score」调低。笔者使用的是 5。

当一封信被判断是垃圾信时,如果您选择将它隔离,则隔离的信件会放在 /var/spool/MailScanner/quarantine 中。当邮件附件中包含不合法的档名时,收信者会收到下列信件:

图 17-7

如果您打附件,则会有下列内容:

This is a message from the MailScanner E-Mail Virus Protection Service
----------------------------------------------------------------------
The original e-mail attachment "netuse.bat"
is on the list of unacceptable attachments for this site and has been
replaced by this warning message.

If you wish to receive a copy of the original attachment, please
e-mail helpdesk and include the whole of this message
in your request. Alternatively, you can call them, with
the contents of this message to hand when you call.

At Sat Oct 1 21:37:13 2005 the virus scanner said:
MailScanner: Batch files are often malicious (netuse.bat)

Note to Help Desk: Look on the twbsd MailScanner in
/var/spool/MailScanner/quarantine/20051001 
(message j91Db6xx015931).
--
Postmaster
MailScanner thanks transtec Computers for their support

如果有使用者要求要取回该档案,您可以看一下上列附件的内容,并依它所说明的地址 (以上列为例是 /var/spool/MailScanner/quarantine/20051001/j91Db6xx015931 这个目录) 取回档案。

17.3 Open WebMail

Open WebMail 是一套由国人开发的多国语 Web Base 的邮件软件。它不仅可以让我们从网页上收发信件,还包含了一些强大的功能。例如,拼字检查、行事历、网络硬盘等等。安装它之后,使用者可以从任何计算机经由浏览器收发信件,真的很方便。

17.3.1 系统需求

在安装 Open WebMail 前,你必须先安装具有 CGI 功能的 Apache 服务器,如果你是照本书的说明安装,那么你的服务器就具有这项功能了,只要你有编辑 httpd.conf 将 CGI 的功能启动。除此之外,在开始安装 Open Webmail 之前,我们必须先安装下列套件。

Open WebMail 使用具有 SUID 功能的 suidperl,但由于 suidperl 有危险性,所以 FreeBSD 将 suidperl 的功能关闭了。因此,在安装之前,我们必须先安装具 SUID 功能的 Perl。请注意,由于 Perl 有很多相关的模块,如果您之前有更新过 port tree,则现在要安装的 Perl 版本可能和原本系统中的版本不同,将会造成很多程序无法运作。所以,如果您之前有做过 port 的更新,您应该要使用 portupgrade 来安装 Perl。

我们使用 portupgarde 来安装 Perl,如果您还没有安装 portupgrade,请使用下列指令安装:

# cd /usr/ports/sysutils/portupgrade
# make install clean

关于 portupgrade 的说明,请先参考「软件安装」一章。接下来,我们就可以使用 portupgrade 来更新 Perl 了。请先使用 perl -v 来查看您目前所使用的 Port 版本,FreeBSD 6.0 预设是使用 Perl 5.8.x,所以我们使用下列指令更新:

# portupgrade -rf "perl-5.8.*" -m "ENABLE_SUIDPERL=yes"
# ln -s /usr/local/bin/suidperl /usr/bin/suidperl

接下来,我们就可以来安装一些 Open WebMail 所需的软件了,如果在安装过程中,您发现这些软件已经安装过了,则可以跳过该软件。首先,为了要有检查附加档案的功能,必须安装 MIME-Base64,我们可以使用下列指令安装:

# cd /usr/ports/converters/p5-MIME-Base64
# make install clean

为了具有拼字检查功能,必须安装 ispell,请以 ports 安装:

# cd /usr/ports/textproc/ispell
# make install clean

为了要支持 MD5 加密,我们必须安装 perl 的 MD5 模块:

# cd /usr/ports/security/p5-MD5
# make install clean

为了要让 Open Webmail 可以有语言转换的能力,我们必须安装Text-Iconvv:

# cd /usr/ports/converters/p5-Text-Iconv
# make install clean

另外,还要先安装 libnet 这个网络模块:

# cd /usr/ports/net/p5-Net
# make install clean

您的 Apache 必须支持 CGI,请编辑 httpd.conf,找到关于你网页根目录设定的地方,并在 Options 选项中加入 ExecCGI,并设定好 cgi-bin 的所在目录:

<Directory "/home/www">
#
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
    Options Indexes FollowSymLinks MultiViews ExecCGI

... 略 ...
ScriptAlias /cgi-bin/ "/home/www/cgi-bin/"

... 略 ...

接着请重新启动 Apache 就做好事前的准备了。

17.3.2 安装 Open WebMail

您可以到下列网址取得最新版的 Open Web Mail。

http://turtle.ee.ncku.edu.tw/openwebmail/download/

假设您网页根目录在 /home/www 中,而在 apache 中所设定的 cgi-bin 目录是在 /home/www/cgi-bin 中。请将取得的档案放到你的网页根目录去,并 cd 到你的网页根目录。执行下列指令以将取得的档案解压缩:

# tar -zxvBpf openwebmail-2.51.tar.gz

解压缩后会在 cgi-bin 中产生一个目录为 openwebmail, 存放 Open WebMail 的主要程序;另外会产生一个 data 的目录,在 data 目录下也有一个 openwebmail 的目录,该目录存放 openwebmail 非 cgi 的数据(如图片、声音等)。我将 /home/www/data/openwebmail 的目录搬到 /home/www/openwebmail。并将 cgi-bin 目录下的 openwebmail 搬移到 /home/www/cgi-bin 目录中。现在 openwebmail 的 cgi 程序位于 /home/www/cgi-bin/openwebmail 中,非 cgi 档案位于 /home/www/openwebmail 中,我们要记住的就是这二个目录的位置以方便下列的设定。

最后要修改 /home/www/cgi-bin/openwebmail/etc/openwebmail.conf,更改你的参数设定,尤其是路径。基本上要修改的地方有:

# ow_cgidir : openwebmail cgi 程序的目录
ow_cgidir /home/www/cgi-bin/openwebmail

# ow_cgiurl : 以 openwebmail 的 cgi 程序目录所在的 url
ow_cgiurl /cgi-bin/openwebmail

# ow_htmldir : openwebmail 非 cgi 的目录
ow_htmldir /home/www/openwebmail

# ow_htmlurl : 非 cgi 程序所在的 url
ow_htmlurl /openwebmail

我们接着要初始化 Open Webmail,请执行下列指令:

# /home/www/cgi-bin/openwebmail/openwebmail-tool.pl --init

您会被要求是否要送出系统信息到 Open Webmail 的总部,如果您不想送出任何数据,只需按 N 即可。最后我们就可以使用 http://yourhost/cgi-bin/openwebmail/openwebmail.pl 来连到登入的首页,请使用系统中的使用者账号 (root 不能登入) 及密码登入,登入后画面如下图所示。

图 17-8

Open WebMail 是台湾人写的软件,它的使用手册非常丰富,您可以点选登入首页的「说明」部份来查看使用手册。

 

Top Ths file was last modified: 2005 December 27 07:32:58.

Copyright © 2002-2024 Alex Wang from www.twbsd.org. All rights reserved.