在CentOS5.2安装基于postfix,Extmail的全功能邮件系统(二)

1 配置Cyrus-SASL 认证

RHEL5/CentOS5已经自带了可以使用的cyrus-sasl,不用再安装。

PostfixSMTP认证需要透过Cyrus-SASL,连接到authdaemon获取认证信息,编辑/etc/postfix/main.cf,增加如下内容:

vi /etc/postfix/main.cf

# smtpd related config

smtpd_recipient_restrictions =

permit_mynetworks,

permit_sasl_authenticated,

reject_non_fqdn_hostname,

reject_non_fqdn_sender,

reject_non_fqdn_recipient,

reject_unauth_destination,

reject_unauth_pipelining,

reject_invalid_hostname,

# SMTP AUTH config here

broken_sasl_auth_clients = yes

smtpd_sasl_auth_enable = yes

smtpd_sasl_local_domain = $myhostname

smtpd_sasl_security_options = noanonymous

其次用vi编辑/usr/lib/sasl2/smtpd.conf,确保其内容为:

pwcheck_method: authdaemond

log_level: 3

mech_list: PLAIN LOGIN

authdaemond_path:/var/spool/authdaemon/socket

存盘退出后,重新启动postfix

service postfix restart

1.1 测试SMTP认证

通过以下命令获得postmaster@onecheng.com的用户名及密码的BASE64编码:

perl -e ‘use MIME::Base64; print encode_base64(“postmaster\@onecheng.com”)’

cG9zdG1hc3RlckBvbmVjaGVuZy5jb20=

perl -e ‘use MIME::Base64; print encode_base64(“extmail”)’

ZXh0bWFpbA==

然后本机测试,其过程如下(蓝色的文字是我们输入/发送到Postfix的)

telnet localhost 25

Trying 127.0.0.1…

Connected to localhost.localdomain (127.0.0.1).

Escape character is ‘^]’.

220 mail.extmail.org ESMTP Postfix – by extmail.org

ehlo demo.domain.tld

250-mail.extmail.org

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-AUTH LOGIN PLAIN

250-AUTH=LOGIN PLAIN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

auth login

334 VXNlcm5hbWU6

cG9zdG1hc3RlckBvbmVjaGVuZy5jb20=

334 UGFzc3dvcmQ6

ZXh0bWFpbA==

235 2.0.0 Authentication successful

quit

221 2.0.0 Bye

最后出现235 Authentication Successful 表明认证成功了。

2 安装配置Courier-IMAP

2.1 制作RPM安装包

下载最新的源码包,http://www.courier-mta.org/download.php 目前是courier-imap-4.4.1.tar.bz2

由于courier-imap 不能用root身份生成rpm,那么我们新建一个普通用户,并创建一个rpm环境

useradd user1

把源码包复制到/home下,让user1能读取

cp courier-imap-4.4.1.tar.bz2 /home

su – user1

cp /home/courier-imap-4.4.1.tar.bz2 .

mkdir -p rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

vim ~/.rpmmacros

添加内容

%_topdir /home/user1/rpm

cp courier-imap-4.4.1.tar.bz2 rpm/SOURCES/

tar jxvf courier-imap-4.4.1.tar.bz2

cd courier-imap-4.4.1

cp courier-imap.spec ../rpm/SPECS/

cd ../rpm/SPECS/

vi courier-imap.spec

注释掉下面5

#%if %suse_version

#BuildPreReq: rpm >= 3.0.5 /usr/bin/sed openldap2 openldap2-devel %([ %{suse_version} -gt 819 ] && echo /usr/include/fam.h)

#%else

#BuildPreReq: rpm >= 4.0.2 sed /usr/include/fam.h openldap-devel openldap-servers

#%endif

开始编译

rpmbuild -ba courier-imap.spec

完成之后,/home/user1/rpm/RPMS/i386里面会出现我们需要的RPM

2.2 安装courier-imap

退出user1用户

cd /home/user1/rpm/RPMS/i386

rpm -ivh courier-imap-4.4.1-1.i386.rpm

2.3 配置courier-imap

由于Courier-imapIMAP目录是按UTF-7编码的,ExtMail目前还没有正式支持IMAP目录,因此需要屏蔽IMAP,只提供pop3服务。而就目前的使用情况来看,IMAP使用的非常少,绝大部分OutLook/Foxmail用户都习惯使用POP3而非IMAP

vi /usr/lib/courier-imap/etc/imapd

将如下这行配置:

IMAPDSTART=YES

替换成为:

IMAPDSTART=NO

vi /usr/lib/courier-imap/etc/imapd-ssl

再将如下配置:

IMAPDSSLSTART=YES

替换成为:

IMAPDSSLSTART=NO

然后重新启动courier-imap

/etc/init.d/courier-imap start

2.4 测试POP3

请按如下步骤输入pop3命令测试其是否正常工作,注意蓝色的信息是我们输入到POP3服务器的(请首先登录extman自行建立test@extmail.org用户,密码:extmail)

telnet localhost 110

Trying 127.0.0.1…

Connected to localhost.localdomain (127.0.0.1).

Escape character is ‘^]’.

+OK Hello there.

user test1@onecheng.com

+OK Password required.

pass test1

+OK logged in.

list

+OK POP3 clients that break here, they violate STD53.

.

quit

+OK Bye-bye.

Connection closed by foreign host.

3 反病毒、垃圾邮件、内容过滤配置

反病毒及内容过滤器是依赖Amavisd-new软件包,它是一个多功能的过滤器,能与杀毒软件及内容过滤软件(如SpamAssassin)结合,通用性较强。

3.1 安装配置Amavisd-newSpamAssassin

3.1.1 安装必须的软件包

Amavisd-new SpamAssassin需要依赖大量的第三方perl软件包,有些在CentOS5安装光盘中有,有些需要去网上下载

安装光盘中带的软件包

cd /media/CentOS_5.2_Final/CentOS

rpm -ivh perl-Digest-SHA1-2.11-1.2.1.i386.rpm

rpm -ivh perl-Digest-HMAC-1.01-15.noarch.rpm

rpm -ivh perl-Net-IP-1.25-2.fc6.noarch.rpm

rpm -ivh perl-Net-DNS-0.59-3.el5.i386.rpm

rpm -ivh perl-HTML-Tagset-3.10-2.1.1.noarch.rpm

rpm -ivh perl-HTML-Parser-3.55-1.fc6.i386.rpm

rpm -ivh perl-Compress-Zlib-1.42-1.fc6.i386.rpm

rpm -ivh perl-libwww-perl-5.805-1.1.1.noarch.rpm

rpm -ivh perl-IO-String-1.08-1.1.1.noarch.rpm

rpm -ivh perl-Net-SSLeay-1.30-4.fc6.i386.rpm

rpm -ivh perl-IO-Socket-SSL-1.01-1.fc6.noarch.rpm

rpm -ivh perl-TimeDate-1.16-5.el5.noarch.rpm

rpm -ivh perl-Archive-Zip-1.16-1.2.1.noarch.rpm

rpm -ivh perl-IO-Zlib-1.04-4.2.1.noarch.rpm

rpm -ivh perl-Archive-Tar-1.30-1.fc6.noarch.rpm

rpm -ivh perl-Socket6-0.19-3.fc6.i386.rpm

rpm -ivh perl-IO-Socket-INET6-2.51-2.fc6.noarch.rpm

3.1.2 安装光盘自带的SpamAssassin

rpm -ivh spamassassin-3.2.4-1.el5.i386.rpm

3.1.3 下面这些需要到网上下载

可以到这里下载到http://rpm.pbone.net/

rpm -ivh perl-IO-stringy-2.110-8.0.el5.noarch.rpm

rpm -ivh perl-MailTools-2.04-1.el5.rf.noarch.rpm

rpm -ivh perl-Convert-BinHex-1.119-5.el5.noarch.rpm

rpm -ivh perl-MIME-tools-5.420-3.el5.noarch.rpm

rpm -ivh perl-Convert-TNEF-0.17-7.el5.noarch.rpm

rpm -ivh perl-Convert-UUlib-1.11-1.el5.i386.rpm

rpm -ivh –force perl-MIME-Base64-3.07-1.el5.rf.i386.rpm

rpm -ivh perl-Net-Server-0.97-1.el5.rf.noarch.rpm

rpm -ivh perl-BerkeleyDB-0.36-1.el5.rf.i386.rpm

rpm -ivh perl-Crypt-OpenSSL-Random-0.04-7.el5.i386.rpm

rpm -ivh perl-Crypt-OpenSSL-Bignum-0.04-7.el5.i386.rpm

rpm -ivh perl-Crypt-OpenSSL-RSA-0.25-8.el5.i386.rpm

rpm -ivh perl-Digest-SHA-5.47-1.el5.rf.i386.rpm

rpm -ivh perl-Mail-DKIM-0.32-1.el5.rf.noarch.rpm

rpm -ivh arc-5.21o-1.el5.rf.i386.rpm

rpm -ivh zoo-2.10-2.2.el5.rf.i386.rpm

rpm -ivh unarj-2.63-0.a.2.el5.rf.i386.rpm

rpm -ivh nomarch-1.4-1.el5.rf.i386.rpm

rpm -ivh unrar-3.8.4-1.el5.i386.rpm

rpm -ivh freeze-2.5.0-9.el5.i386.rpm

rpm -ivh lha-1.14i-19.2.2.el5.rf.i386.rpm

rpm -ivh lzo-1.08-5.el5.rf.i386.rpm

rpm -ivh lzop-1.01-2.el5.rf.i386.rpm

rpm -ivh ncompress-4.2.4-50.fc9.i386.rpm

3.1.4 安装Amavisd-new

下载最新的源码包,目前是amavisd-new-2.6.2.tar.gz

tar zxvf amavisd-new-2.6.2.tar.gz

cd amavisd-new-2.6.2

/usr/sbin/adduser -s /bin/false -c “Amavis User” -d /var/amavis amavis

patch -p0 < amavisd-new-courier.patch

mkdir /var/amavis/tmp /var/amavis/var /var/amavis/db /var/amavis/home

chown -R amavis:amavis /var/amavis

chmod -R 750 /var/amavis

cp -a amavisd /usr/local/sbin/

chown root /usr/local/sbin/amavisd

chmod 755 /usr/local/sbin/amavisd

cp amavisd_init.sh /etc/init.d/amavisd

chmod 755 /etc/init.d/amavisd

/sbin/chkconfig –add amavisd

/sbin/chkconfig amavisd on

mkdir /var/virusmails

chown -R amavis:amavis /var/virusmails

chmod 750 /var/virusmails

cp amavisd.conf /etc/

chown -R root:root /etc/amavisd.conf

chmod 600 /etc/amavisd.conf

编辑 /etc/rc.d/init.d/amavisd

vi /etc/rc.d/init.d/amavisd

将如下配置:

prog=”/usr/sbin/amavisd”

替换成为:

prog=”/usr/local/sbin/amavisd”

vi /etc/amavisd.conf

修改的主要参数如下,请逐一对照后修改:

$daemon_user = ‘amavis’;

$daemon_group = ‘amavis’;

$max_servers = 10;

$sa_spam_subject_tag = ‘[SPAM] ‘;

$mydomain = ‘mail.extmail.org’;

$myhostname = ‘mail.extmail.org’;

@local_domains_maps = qw(.);

$sa_tag2_level_deflt = 5.0;

$sa_kill_level_deflt = 5.0;

注意事项:

上述$mydomain参数与$myhostname参数相同,主要是为了方便之后的病毒/垃圾汇报邮件发给系统管理员时,能投递到本地的别名里,再转交到虚拟域的特定用户。

增加如下参数(默认amavisd.conf没有):

$sa_spam_modifies_subj = 0; # don’t modify subject

$remove_existing_x_scanned_headers= 1; # remove existing headers

$remove_existing_spam_headers = 1;

3.1.5 配置SpamAssassin

Amavisd-new 通过Mail::SpamAssassin 模块来调用SA的功能,因此这里配置SA和常规配置SA软件有些区别,主要集中在修改local.cf文件上。

编辑/etc/mail/spamassassin/local.cf文件

vi /etc/mail/spamassassin/local.cf

将其内容修改为:

report_safe 1

use_bayes 0

auto_learn 0

bayes_auto_expire 1

skip_rbl_checks 1

use_razor2 0

use_dcc 0

use_pyzor 0

dns_available no

增加Chinese_rules.cf支持

Chinese_rules.cf是教育科研网的反垃圾邮件小组对大量垃圾邮件和正常邮件进行分析后得出的一个关键字/分数规则集,用于处理中文(简体)垃圾邮件还是比较有效的。这里我们通过如下命令增加到系统:

wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf

由于该规则每周更新一次,为了达到最好效果,最好在crontab里增加自动更新的内容,输入:

/usr/bin/crontab -e

然后输入如下的内容:

0 0 1 * * wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf; /etc/init.d/amavisd restart

存盘退出即可。最后运行以下调试命令以确认amavisd没有错误:

/usr/sbin/amavisd debug

如果没有异常提示或报错退出则表示一切都正常,按ctrl+c终止,然后正常启动,若提示pid不存在等错误,不必理会,只要最后启动成功即可:

service amavisd start

3.2 安装ClamAV

上网下载以下三个RPM包并安装

rpm -ivh clamav-db-0.94.2-1.el5.rf.i386.rpm

rpm -ivh clamav-0.94.2-1.el5.rf.i386.rpm

rpm -ivh clamd-0.94.2-1.el5.rf.i386.rpm

编辑/etc/clamd.conf文件,调整为 ‘LocalSocket /var/run/clamav/clamd.sock’,并注释掉 ‘TCPSocket 3310′,我们将使用unix socket而不是TCP,两者不可并存。修改完毕后,保存,变动内容见下:

vi /etc/clamd.conf

# Path to a local socket file the daemon will listen on.

# Default: disabled

LocalSocket /var/run/clamav/clamd.sock

#TCPSocket 3310

clamav加到amavis运行组里,并调整目录权限,否则clamav将无法扫描amavisd-new产生的临时文件

gpasswd -a clamav amavis

usermod -G amavis clamav

mkdir -p /var/spool/vscan/tmp

chown amavis.amavis /var/spool/vscan

chmod 750 /var/spool/vscan

chown amavis.amavis /var/spool/vscan/tmp

chmod 750 /var/spool/vscan/tmp

默认的/var/spool/vscan 目录属性是:

rwx—— amavis.root

对于clamav用户而言,则无任何权限访问该目录,因此maillogamavisd-new会提示:

May 19 08:38:53 as3 amavis[1752]: (01752-01) ask_av (ClamAV-clamd) FAILED – unexpected result: /var/spool/vscan/tmp/amavis-20050519T083853-01752/parts: Access denied. ERROR\n
May 19 08:38:53 as3 amavis[1752]: (01752-01) WARN: all primary virus scanners failed, considering backups

启动ClamAVfreshclam

service clamd start

freshclam –daemon

freshclam增加到自启动

输入如下命令,即可使freshclam一开机就实现自启动

echo “/usr/bin/freshclam –daemon” >> /etc/rc.d/rc.local

3.3 配置AmavisdClamav结合

为了使Amavisd-new能与clamav结合,需要修改/etc/amavisd.conf文件,打开clamav的支持代码,编辑/etc /amavisd.conf文件,大概在360行左右,去掉clamav的支持代码注释,并将socket路径改为/var/run/clamav /clamd.sock,如下:

vi /etc/amavisd.conf

['ClamAV-clamd',

\&ask_daemon, ["CONTSCAN {}\n", "/var/run/clamav/clamd.sock"],

qr/\bOK$/, qr/\bFOUND$/,

qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],

154行左右,修改投递/拦截的方法:

$final_virus_destiny = D_DISCARD;

$final_banned_destiny = D_BOUNCE;

$final_spam_destiny = D_PASS;

$final_bad_header_destiny = D_PASS;

注意上述4个设置中,对spam(垃圾邮件)默认会直接反弹(BOUNCE),现在修改为继续投递(PASS)但在信头中增加相关X-Spam- Status信息等。这样可以很方便的在extmail中设置将被标记为垃圾邮件的mail投递到垃圾邮件箱中,便于用户翻查。

3.3.1 增加邮件别名

编辑/etc/postfix/aliases,增加如下信息,注意:默认的aliases数据库里已有一条virusalert的别名,所以请删除,再输入下面的别名记录,并确保所有记录都是唯一的:

vi /etc/postfix/aliases

virusalert: root

spam.police: root

postfix: postmaster@onecheng.com

保存并执行newaliases命令生成新的别名数据库,这样所有的重新启动amavisd

/etc/rc.d/init.d/amavisd restart

3.3.2 配置Postfix 集成amavisd-new

vi /etc/postfix/master.cf
增加如下内容:

127.0.0.1:10025 inet n - n - - smtpd

-o content_filter=

-o local_recipient_maps=

-o relay_recipient_maps=

-o smtpd_restriction_classes=

-o smtpd_client_restrictions=

-o smtpd_helo_restrictions=

-o smtpd_sender_restrictions=

-o smtpd_recipient_restrictions=permit_mynetworks,reject

-o mynetworks=127.0.0.0/8

-o strict_rfc821_envelopes=yes

-o smtpd_error_sleep_time=0

-o smtpd_soft_error_limit=1001

-o smtpd_hard_error_limit=1000

-o receive_override_options=

编辑/etc/postfix/main.cf

vi /etc/postfix/main.cf

# Content-Filter

content_filter = smtp:[127.0.0.1]:10024

receive_override_options = no_address_mappings

注意:receive_override_options 这里必须增加,禁止地址展开/影射,否则如果遇到别名的时候会引起冗余邮件的产生。

保存后重新启动postfix

service postfix restart

3.3.3 测试Clamav

然后输入如下命令: 每输入一行后等待1秒左右:

telnet localhost 25

Trying 127.0.0.1…

Connected to localhost.localdomain (127.0.0.1).

Escape character is ‘^]’.

220 mail.extmail.org ESMTP Postfix – by extmail.org

mail from:<postmaster@onecheng.com>

250 2.1.0 Ok

rcpt to:<test1@onecheng.com>

250 2.1.5 Ok

data

354 End data with .

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

.

250 2.0.0 Ok: queued as BC24E85260

quit

221 2.0.0 Bye

Connection closed by foreign host.

在邮件日志里,应该有相应的信息出现:

Mar 22 06:43:15 localhost amavis[15405]: (15405-01) Blocked INFECTED (Eicar-Test-Signature), [192.168.0.235] -> , quarantine: virus-mI6vbjkWZ2Tz, Message-ID: <003401c88c1a$74706360$eb00a8c0@nbk00045>, mail_id: mI6vbjkWZ2Tz, Hits: -, size: 1757, 474 ms

如果看到类似这样的日志,表明Clamav+Amavisd-new工作正常。

3.4 Spam Locker配置与安装

下载最新源码包http://www.extmail.org/cgi-bin/download.cgi

tar zxvf slockd-0.2.tar.gz

cp -r slockd-0.2 /usr/local/slockd

3.4.1 配置resolv.conf

请确认/etc/resolv.conf里的dns服务器是离你的邮件服务器最近,速度最快的dns serverslockd很依赖dns的好坏,因此给系统配置一个快速的dns能大幅度提高处理速度。以下给出一个配置仅供参考:

nameserver 202.96.128.68

上述dns服务器是广东电信的DNS服务器,对于非广东朋友,请改为离你最近的dns 服务器ip

如果可能的话,请配置一个简单的bind9,成为本地的dns cache server,可以获得最高性能。这里略过这一步骤,但您必须确保dns的配置是正确并且可靠的,否则slockd将不能工作!

3.4.2 启动/测试

执行:

/usr/local/slockd/slockd-init start

Starting spam locker daemon: slockd

进入/usr/local/slockd/tools 目录,输入:

perl policy_sig -h localhost -p 10030 –helo FOOBAR \

–ip 192.168.0.1 –from test@foo.com –to test@bar.com

此时,程序应该返回如下错误信息:

action=504 <FOOBAR>: rejected, see http://bl.extmail.org/cgi/why?fqdn

这表示slockd初步的正常工作了。

3.4.3 自启动

输入如下的命令,将slockd启动加入到系统里,这样下一次服务器重新启动,就可以自动执行slockd了。

echo “/usr/local/slockd/slockd-init start” >> /etc/rc.d/rc.local

3.4.4 配置Postfix

slockd调试正常后,必须配置postfix以使其打开对slockd的支持,编辑/etc/postfix/main.cf,将 check_policy_service inet:127.0.0.1:10030 这一行记录增加到smtpd_recipient_restrictions 里,例如:

smtpd_recipient_restrictions =

permit_mynetworks,

permit_sasl_authenticated,

reject_non_fqdn_hostname,

reject_non_fqdn_sender,

reject_non_fqdn_recipient,

reject_unauth_destination,

reject_unauth_pipelining,

reject_invalid_hostname,

check_policy_service inet:127.0.0.1:10030

最后,重新启动postfix以使配置生效

service postfix restart

注意事项:

上述配置是将slockd的查询放到最后,这也是进一步提高资源利用律的办法,因为有部分功能postfix已实现了,所以就先由postfix检测,如果检测不到再由slockd完成。

3.5 最终测试

现在通过简单的email收发来确认系统是否正常。

发送测试邮件

输入以下命令,通过telnet方式给test@extmail.org发送一封测试信件

telnet localhost 25

Trying 127.0.0.1…

Connected to localhost.localdomain (127.0.0.1).

Escape character is ‘^]’.

220 mail.extmail.org ESMTP Postfix – by extmail.org

helo demo.extmail.org

250 mail.extmail.org

mail from:<test@extmail.org>

250 2.1.0 Ok

rcpt to:<test@extmail.org>

250 2.1.5 Ok

data

354 End data with .

Subject: Hello World

Hello World!

.

250 2.0.0 Ok: queued as 3E47685269

quit

221 2.0.0 Bye

Connection closed by foreign host.

此时通过另一个命令行窗口,观察maillog,命令为:

tail -f /var/log/maillog

将看到如下信息:

Aug 1 12:51:06 centos postfix/qmgr[3017]: 041718526B: from=, size=833, nrcpt=1 (queue active)
Aug 1 12:51:06 centos postfix/smtpd[3032]: disconnect from centos[127.0.0.1]
Aug 1 12:51:06 centos amavis[2890]: (02890-01) Passed CLEAN, [127.0.0.1] -> , Message-ID: <20060801165039.3E47685269@mail.extmail.org>, mail_id: N8nxpoRn4Hlq, Hits: 0.107, 11561 ms
Aug 1 12:51:06 centos postfix/smtp[3043]: 3E47685269: to=, relay=127.0.0.1[127.0.0.1], delay=27, dsn=2.6.0, status=sent (250 2.6.0 Ok, id=02890-01, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 041718526B)
Aug 1 12:51:06 centos postfix/qmgr[3017]: 3E47685269: removed
Aug 1 12:51:06 centos postfix/pipe[3035]: 041718526B: to=, relay=maildrop, delay=0, dsn=2.0.0, status=sent (delivered via maildrop service)
Aug 1 12:51:06 centos postfix/qmgr[3017]: 041718526B: removed
上述日志表示邮件经过了amavisd-new的扫描,并且已经通过maildrop投递到用户的maildir了。至此,整个ExtMail Solution 的安装配置已经基本告一段落。对于需要进行高级调整的朋友,请留意本文附录的备注。备注的内容将不断更新,敬请留意。

4 安装FastCGI

4.1 安装

下载最新的源码包,http://www.fastcgi.com/dist/ 目前是mod_fastcgi-2.4.6.tar.gz

tar -zxvf mod_fastcgi-2.4.6.tar.gz

cd mod_fastcgi-2.4.6

vi Makefile

做如下修改(针对系统自带的apache2.2做的修改)

top_dir = /usr/lib/httpd

make

make install

4.2 下载安装perl-FCGI

rpm -ivh perl-FCGI-0.67-2.0.el5.i386.rpm

4.3 配置

vi /etc/httpd/conf/vhost_web.conf

在最后添加

LoadModule fastcgi_module modules/mod_fastcgi.so

<Ifmodule mod_fastcgi.c>

FastCgiExternalServer /usr/bin/dispatch.fcgi -host 127.0.0.1:8888

</Ifmodule>

注意/usr/bin/dispatch.fcgi这个文件是不存在的,但是必须要这样配。

同时,去掉如下行:

ScriptAlias /extmail/cgi/ /var/www/extsuite/extmail/cgi/

改为:

Alias /extmail/cgi/ /usr/bin/dispatch.fcgi/

<Location “/extmail/cgi”>

SetHandler fastcgi-script

</Location>

注意顺序,这一条必须在Alias /extmail/ /var/www/extsuite/extmail/html/的上面。

例如:

#ScriptAlias /extmail/cgi/ /var/www/extsuite/extmail/cgi/

Alias /extmail/cgi/ /usr/bin/dispatch.fcgi/

Alias /extmail/ /var/www/extsuite/extmail/html/

<Location “/extmail/cgi”>

SetHandler fastcgi-script

</Location>

然后编辑/var/www/extsuite/extmail/dispatch-init文件,修改如下:

BASE=/var/www/extsuite/extmail

最后启动fastcgi server

/var/www/extsuite/extmail/dispatch-init start

如果没有意外将启动10dispatch.fcgi守护进程,可以通过以下命令将启动命令加到rc.local中,实现自启动:

echo “/var/www/extsuite/extmail/dispatch-init start” >> /etc/rc.d/rc.local

优化调整

调整网卡MTU

调整FCGI超时时间(解决System Timeout or busy)问题

vi /var/www/extsuite/extmail/dispatch-init

TIMEOUT=300

8 comments to 在CentOS5.2安装基于postfix,Extmail的全功能邮件系统(二)

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>