中国反垃圾邮件联盟论坛: [转贴]配置一台邮件服务器qmail+vpopmail+qmailadmin+vQamin - 中国反垃圾邮件联盟论坛

跳到内容

共计一页
  • You cannot start a new topic
  • You cannot reply to this topic

[转贴]配置一台邮件服务器qmail+vpopmail+qmailadmin+vQamin + maildrop + qmail-scanner + SpamAssassi

#1 User is offline   ten

  • 营长
  • PipPipPipPipPipPipPip
  • 群组: 总版主
  • 帖子: 3,035
  • 加入: 2003-10-21 22:10

发表于 2003-12-02 09:09:33

以下文件转自http://61.143.101.47/qmail/FullToaster_1.0.6_CN.htm
看了觉得不错,故转贴给大家分享.

--------------------------------------------------------------------------------

配置一台邮件服务器
qmail + vpopmail + qmailadmin + vQamin + maildrop + qmail-scanner + SpamAssassin + ClamAV+ sqWebMail + Squirrelmail + MRTG

版本: 1.0.6 (查看更新记录)

最后修改日期: 2002-11-04

编者: Jeremy Oddo (joddo@apixels.net)

翻译: Artxing (artxing@126.com)


--------------------------------------------------------------------------------

目录:

更新记录
相关资源, 邮件列表, 以及链接
问题解决
FAQ




0. 序言
1. 安装RedHat 7.3
2. 卸载系统自带的sendmail/pop/imap/httpd 服务
3. 将所需软件包下载到/var/src
4. 安装 daemontools
5. 安装 ucspi-tcp
6. 安装 qmail
7. 安装 Vpopmail
8. 安装 Courier-IMAP
9. 安装 Apache
10. 安装 SqWebmail
11. 安装 autorespond
12. 安装 ezmlm-idx
13. 安装 qmailadmin
14. 测试 qmail + vpopmail
15. 安装告一段落!
16. 安装 vQadmin
17. 安装 PHP4
18. 安装 Squirrelmail
19. 安装 SpamAssassin
20. 安装 MailDrop and TNEF reader
21. 添加 maildrop 脚本
22. 通过 maildrop 运用 SpamAssassin
23. 创建 SpamAssassin 启动脚本
24. 整理 SpamAssassin
25. 安装 qmail-scanner 和 ClamAV
26. 安装 MRTG (Multi Router Traffic Grapher)




--------------------------------------------------------------------------------




0. 序言
电子邮件已经成为一个企业的重要部分.由于建立一台功能完善的企业电子邮件服务器要超过7000美元的花费,所以我决定自己寻找途径.经过众多的选择,我决定选用qmail(后来选用了qmail+vpopmail的解决方案).这的确是一个明智的解决方法.我用一台廉价的电子邮件服务器(奔腾- 133),花费了许多的时间,试验了很多免费(开放源玛)的软件.总得来说,不计算时间,使用qmail来配置电子邮件服务器的花费很低廉.在确定这个解决方案的确适合我的要求之后,我配置了一台新的邮件服务器(奔腾III- 450),它比原先的具有了超过40倍的信息储存量.

这篇HOW-TO可以看做一篇安装qmail+vpopmail+spamassassin邮件服务器的指南(或者说是安装指导的一把钥匙). 这仅仅是我的安装笔记,以供大家参考.我并不提供技术支持,所以如果因此而破坏了你的linux系统,请不要来找我.再重复一遍,我不提供技术支持.如果你需要商业上的支持,我建议你去如下地址:http://merchbox.com/qmail.php





1. 安装RedHat 7.3
如果你准备彻底配置一台邮件服务器,你可能想要安装一个操作系统. 这节假设你的操作系统是RedHat Linux 7.3, 然而, 它应该适合其他的Unix操作系统而不需要做太多的修改. 选择"服务器安装",因为我们需要系统中的默认安装的一些软件包. 你会发现你根本不需要安装X-Windows (X-Windows 会占用系统很多空间, 而且安装也要花费很多时间!).

默认情况下,vpopmail(为qmail提供虚拟域支持)安装在/home/vpopmail.因此,你应该考虑一下/home分区的大小.如果你的邮件服务器需要承受大量的电子邮件,你应该按照你的要求重新划分/home分区.通常我会把/home分区单独划分在一块硬盘上.

(2到13步是来自 Bill Shupp的 Toaster 安装指南 http://www.shupp.org/toaster)




2. 卸载系统自带的sendmail/pop/imap/httpd 服务
rpm -e --nodeps sendmail
rpm -e --nodeps apache
下面, 确认你已经安装了以下软件包:

rpm -q gdbm
rpm -q gdbm-devel
rpm -q openssl
rpm -q openssl-devel
rpm -q stunnel
# 安装qmail-scanner可能需要perl-suidperl
rpm -q perl-suidperl
如果你还没有安装, 请先下载安装它们. 你可以在这里找到它们的RPM包 http://www.rpmfind.net.

3. 下载所需软件包并将其放置在/var/src目录下
mkdir -p /var/src/tar
cd /var/src/tar
# 所用到的软件包
wget http://cr.yp.to/daem...ols-0.76.tar.gz
wget http://cr.yp.to/ucsp...tcp-0.88.tar.gz
wget http://cr.yp.to/soft...ail-1.03.tar.gz
wget http://www.jerfu.com...ter-0.4.7.patch
wget http://www.jerfu.com...l-5.3.11.tar.gz
wget http://www.inter7.co...nd-2.0.3.tar.gz
wget http://www.inter7.co...in-2.3.4.tar.gz
wget http://www.jerfu.com...in-1.0.6.tar.gz
wget http://www.tiski.de/...uotafix-1.06.gz
wget http://cr.yp.to/soft...mlm-0.53.tar.gz
wget http://www.jerfu.com....shupp.patch.gz
wget 1.6.0.20021025.tar.bz2' class='bbc_url' title='External link' rel='nofollow'>http://telia.dl.sour...0021025.tar.bz2
wget http://www.apache.or...e_1.3.27.tar.gz
wget http://www.jerfu.com...-scripts.tar.gz

# 可选择的软件包
wget http://www.jerfu.com...lScripts.tar.gz
wget http://us3.php.net/d...hp-4.2.3.tar.gz
wget 3.4.0.20021026.tar.bz2' class='bbc_url' title='External link' rel='nofollow'>http://telia.dl.sour...0021026.tar.bz2
wget http://telia.dl.sour...il-1.3.2.tar.gz
wget http://www.spamassas...sin-2.31.tar.gz
wget http://telia.dl.sour...canner-1.15.tgz
wget http://download.sour...p-1.5.0.tar.bz2
wget http://telia.dl.sour...ef-1.1.3.tar.gz
# 下载 perl-suidperl RPM. 如果你的系统不是RedHat,你可能需要以交互方式来安装perl-suidperl.
wget ftp://rpmfind.net/li...4.99.6.i386.rpm
# 有关病毒的可选择的软件包
wget http://clamav.elektr...mav-0.53.tar.gz
# Test virus files
wget http://www.eicar.org...nload/eicar.com
wget http://www.eicar.org...d/eicar.com.txt
wget http://www.eicar.org...d/eicar_com.zip
wget http://www.eicar.org...d/eicarcom2.zip
# 下载 MRTG 以及支持软件包
wget http://www.boutell.c...gd-1.8.3.tar.gz
wget http://www.libpng.or...g-1.0.12.tar.gz
wget http://www.libpng.or...ib-1.1.4.tar.gz
wget http://www.inter7.co...rtg7-3.4.tar.gz
wget http://people.ee.eth...g-2.9.25.tar.gz




4. 安装 daemontools
daemontools 是一种用来管理Unix服务的工具. 它可以监控 qmail-send, qmail-smtpd, qmail-pop3d 服务.

下面的安装步骤是假设你的"rc"目录位于/etc/rc.d,"init.d"目录位于/etc/rc.d/init.d.如果路径不同,请调整目录路径.

mkdir -p /package
chmod 1755 /package
cd /package
tar -xpzf /var/src/tar/daemontools-0.76.tar.gz
cd admin/daemontools-0.76
package/install



5. 安装 ucspi-tcp
ucspi-tcp包含tcpserver和tcpclient, 是用来建立客户服务器应用的命令行工具.

cd /var/src/
tar -xzf tar/ucspi-tcp-0.88.tar.gz
cd ucspi-tcp-0.88
make
make setup check



6. 安装 qmail
qmail 是用来代替sendmail的. 它是投递速度快,免费而且易于使用的. 请遵循下面的步骤安装.

mkdir /var/qmail
/usr/sbin/groupadd nofiles
/usr/sbin/useradd -g nofiles -d /var/qmail/alias alias
/usr/sbin/useradd -g nofiles -d /var/qmail qmaild
/usr/sbin/useradd -g nofiles -d /var/qmail qmaill
/usr/sbin/useradd -g nofiles -d /var/qmail qmailp
/usr/sbin/groupadd qmail
/usr/sbin/useradd -g qmail -d /var/qmail qmailq
/usr/sbin/useradd -g qmail -d /var/qmail qmailr
/usr/sbin/useradd -g qmail -d /var/qmail qmails

# 添加vpopmail用户
/usr/sbin/groupadd vchkpw
/usr/sbin/useradd -g vchkpw vpopmail

cd /var/src
tar -xzf tar/qmail-1.03.tar.gz
tar -xzf tar/toaster-scripts.tar.gz
cd qmail-1.03
patch -p0 < ../tar/qmail-toaster-0.4.7.patch
make
make setup check

(cd ~alias; touch .qmail-postmaster .qmail-mailer-daemon .qmail-root)
chmod 644 ~alias/.qmail*

# 下面用你的邮件服务器的主机名代替"full.hostname"
./config-fast full.hostname

make cert
# 输入你的企业信息

cd /var/qmail/control
rm clientcert.pem
cp servercert.pem clientcert.pem
chown qmaild.qmail clientcert.pem

cd /var/src
cp toaster-scripts/rc /var/qmail/rc
chmod 755 /var/qmail/rc
mkdir /var/log/qmail
echo ./Maildir/ >/var/qmail/control/defaultdelivery
cp toaster-scripts/qmailctl /var/qmail/bin/

#使qmail随系统自动启动.

ln -s ../init.d/qmail /etc/rc.d/rc0.d/K30qmail
ln -s ../init.d/qmail /etc/rc.d/rc1.d/K30qmail
ln -s ../init.d/qmail /etc/rc.d/rc2.d/S80qmail
ln -s ../init.d/qmail /etc/rc.d/rc3.d/S80qmail
ln -s ../init.d/qmail /etc/rc.d/rc4.d/S80qmail
ln -s ../init.d/qmail /etc/rc.d/rc5.d/S80qmail
ln -s ../init.d/qmail /etc/rc.d/rc6.d/K30qmail

ln -s /var/qmail/bin/qmailctl /etc/rc.d/init.d/qmail

chmod 755 /var/qmail/bin/qmailctl
ln -s /var/qmail/bin/qmailctl /usr/bin
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail

#为qmail服务建立监控目录和日志文件:
mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtpd/log
mkdir -p /var/qmail/supervise/qmail-pop3d/log
mkdir -p /var/qmail/supervise/qmail-pop3ds/log
chmod +t /var/qmail/supervise/qmail-send
chmod +t /var/qmail/supervise/qmail-smtpd
chmod +t /var/qmail/supervise/qmail-pop3d/log
chmod +t /var/qmail/supervise/qmail-pop3ds/log
cp /var/src/toaster-scripts/send.run /var/qmail/supervise/qmail-send/run
cp /var/src/toaster-scripts/send.log.run /var/qmail/supervise/qmail-send/log/run
cp /var/src/toaster-scripts/smtpd.run /var/qmail/supervise/qmail-smtpd/run
cp /var/src/toaster-scripts/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run
cp /var/src/toaster-scripts/pop3d.run /var/qmail/supervise/qmail-pop3d/run
cp /var/src/toaster-scripts/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run
cp /var/src/toaster-scripts/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run
cp /var/src/toaster-scripts/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run
echo 20 > /var/qmail/control/concurrencyincoming
chmod 644 /var/qmail/control/concurrencyincoming
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtpd/run
chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
chmod 755 /var/qmail/supervise/qmail-pop3d/run
chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/run
chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run
mkdir -p /var/log/qmail/smtpd
mkdir -p /var/log/qmail/pop3d
mkdir -p /var/log/qmail/pop3ds
chown qmaill /var/log/qmail /var/log/qmail/smtpd
chown qmaill /var/log/qmail/pop3d /var/log/qmail/pop3ds

#允许daemontools启动qmail
ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service

#启动qmail
qmailctl stat
qmail应该已经启动. 我建议重新回顾一下刚才我们所做的2-6步以熟悉对qmail的安装. 下面我们将开始vpopmail的安装.




7. 安装 Vpopmail
Vpopmail是用来为qmail提供虚拟域支持的工具. 它可以使多个域名都指向一个IP地址,而且用户的帐号并不是系统帐号,也不是保存在/etc/passwd中!

我们使用vchkpw(pop认证工具)启动qmail-smtpd达到smtp验证. 用下面的patch来关闭open relays.

cd /var/src
# 安装qmail时,vchkpw组和vpopmail用户已经建立
tar -xzf tar/vpopmail-5.3.11.tar.gz
cd vpopmail-5.3.11
./configure --enable-roaming-users=y C-enable-logging=y \
C-enable-learn-passwords=y C-enable-clear-passwd=y \
--enable-default-domain=your-main-domain-FQDN \
--enable-mysql C-enable-defaultquota=10M
make
make install-strip
echo '127.:allow,RELAYCLIENT=""' >/home/vpopmail/etc/tcp.smtp
qmailctl cdb

# 通过`crontab -e`添加下面一行到crontab
9-59,10 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null

# 创建vpopmail启动脚本
cp ../toaster-scripts/vpopmailctl /var/qmail/bin/vpopmailctl

#使vpopmail随系统自动启动.

ln -s ../init.d/vpopmail /etc/rc.d/rc0.d/K30vpopmail
ln -s ../init.d/vpopmail /etc/rc.d/rc1.d/K30vpopmail
ln -s ../init.d/vpopmail /etc/rc.d/rc2.d/S80vpopmail
ln -s ../init.d/vpopmail /etc/rc.d/rc3.d/S80vpopmail
ln -s ../init.d/vpopmail /etc/rc.d/rc4.d/S80vpopmail
ln -s ../init.d/vpopmail /etc/rc.d/rc5.d/S80vpopmail
ln -s ../init.d/vpopmail /etc/rc.d/rc6.d/K30vpopmail

ln -s /var/qmail/bin/vpopmailctl /etc/rc.d/init.d/vpopmail

chmod 755 /var/qmail/bin/vpopmailctl
ln -s /var/qmail/bin/vpopmailctl /usr/bin

#运用daemontools启动vpopmail
ln -s /var/qmail/supervise/qmail-pop3d /var/qmail/supervise/qmail-pop3ds /service

#启动vpopmail
vpopmailctl stat



8. 安装 Courier-IMAP
Courier-IMAP用来提供IMAP/SIMAP服务.

cd /var/src
tar -xjf tar/courier-imap-1.6.0.20021025.tar.bz2
cd courier-imap-1.6.0.20021025
# configure可能需要一定时间...
./configure --disable-root-check --without-authdaemon --with-authvchkpw \
--enable-workarounds-for-imap-client-bugs
make
make install-strip
make install-configure
cp courier-imap.sysvinit /etc/rc.d/init.d/courier-imap
chmod 755 /etc/rc.d/init.d/courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc0.d/K30courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc1.d/K30courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc2.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc3.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc4.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc5.d/S80courier-imap
ln -s ../init.d/courier-imap /etc/rc.d/rc6.d/K30courier-imap
编辑 /usr/lib/courier-imap/etc/imapd

将:
'AUTHMODULES="..."'
改为:
'AUTHMODULES="authvchkpw"'

将 :
'IMAPDSTART=NO'
改为:
'IMAPDSTART=YES'




编辑 /usr/lib/courier-imap/etc/imapd-ssl

将:
'IMAPDSSLSTART=NO'
改为:
'IMAPDSSLSTART=YES'




注意: courier-imap要用vpopmail.vchkpw用户来运行

按照下面所说修改 /usr/lib/courier-imap/libexec/imapd.rc 和 /usr/lib/courier-imap/libexec/imapd-ssl.rc:

将:
/usr/lib/courier-imap/libexec/couriertcpd -address=$ADDRESS \
改为:
/usr/lib/courier-imap/libexec/couriertcpd -address=$ADDRESS \
-user=vpopmail -group=vchkpw \




启动IMAP服务:

/etc/rc.d/init.d/courier-imap start
设置imapd.pem的属性为vpopmail.vchkpw可读,因为要用vpopmail用户启动imap

chown vpopmail.vchkpw /usr/lib/courier-imap/share/imapd.pem
OK, 我们已经安装完了vpopmail. 你现在应该已经启动了qmail和vpopmail了.

然后,让我们回顾一下7-8步以熟悉对vpopmail的安装. 我们接下来要安装apache.




9. 安装 Apache
Apache是为webmail和qmailadmin提供web服务的.

编译apache使它支持DSO以便后面安装PHP.

cd /var/src
tar -xzf tar/apache_1.3.27.tar.gz
cd apache_1.3.27
./configure --enable-module=so --prefix=/usr/local/apache
make
make install
#使apache随系统自动启动.
cd /usr/local/apache/bin
ln -s apachectl /etc/rc.d/init.d/httpd
ln -s ../init.d/httpd /etc/rc.d/rc0.d/K30httpd
ln -s ../init.d/httpd /etc/rc.d/rc1.d/K30httpd
ln -s ../init.d/httpd /etc/rc.d/rc2.d/S80httpd
ln -s ../init.d/httpd /etc/rc.d/rc3.d/S80httpd
ln -s ../init.d/httpd /etc/rc.d/rc4.d/S80httpd
ln -s ../init.d/httpd /etc/rc.d/rc5.d/S80httpd
ln -s ../init.d/httpd /etc/rc.d/rc6.d/K30httpd
现在(这一步是很重要的), 编辑你的 /usr/local/apache/conf/httpd.conf文件.

替换 <Directory /usr/local/apache/cgi-bin/>内容为:

<Directory /usr/local/apache/cgi-bin/>
AllowOverride All
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
启动Apache web服务:

/usr/local/apache/bin/apachectl start



10. 安装 SqWebmail
SqWebmail提供了一个直接访问用户邮箱的网络CGI客户端,它绕过了pop和imap服务.

cd /var/src
tar -xjf tar/sqwebmail-3.4.0.20021026.tar.bz2
cd sqwebmail-3.4.0.20021026
# configure可能需要一定时间...
./configure --without-authdaemon --with-authvchkpw
make
make install-strip
通过`crontab -e`将下面一行添加到crontab中

crontab -e
40 * * * * /usr/local/share/sqwebmail/cleancache.pl 2>&1 > /dev/null



11. 安装 autorespond
Autorespond是用来提供自动回复功能的工具,它与vdelivermail和qmailadmin协调运行.

cd /var/src
tar -xzf tar/autorespond-2.0.3.tar.gz
cd autorespond-2.0.3
make
make install



12. 安装 ezmlm-idx
利用qmailadmin进行快速全面的邮件列表服务管理的配置.

cd /var/src
tar -xzf tar/ezmlm-0.53.tar.gz
cd ezmlm-0.53
gunzip -cd ../tar/idx.shupp.patch.gz | patch -p0
make
make setup



13. 安装 qmailadmin
除了添加删除虚拟域外,Qmailadmin几乎可以处理所有web浏览器的虚拟邮件管理任务. 这个补丁通过.qmailadmin-limits可以完成默认空间大小的设置问题.

cd /var/src
tar -xzf tar/qmailadmin-1.0.6.tar.gz
cd qmailadmin-1.0.6
#gunzip -cd ../tar/patch-quotafix-1.06.gz | patch -p0
./configure --enable-cgibindir=/usr/local/apache/cgi-bin/ --enable-htmldir=/usr/local/apache/htdocs \
--with-htmllibdir=/usr/local/apache/htdocs
make
make install-strip
你的邮件服务器的安装已经完成! 现在我们将进行测试.




14. 测试 qmail + vpopmail
现在我们要添加一个虚拟域, test.com, 来测试收发邮件. 将test.com替换为已做了DNS解析的域名.

# 在vpopmail中添加域
/home/vpopmail/bin/vadddomain test.com [password]
这样就为test.com添加了一个默认的"postmaster"帐号. 我们可以用这个帐号来进入qmailadmin.

测试用qmailadmin来添加删除帐号. 打开web浏览器, 指向下面的地址:

http://mail.test.com...-bin/qmailadmin
测试用户空间设置, 按照如下方法创建一个有6MB空间的邮件用户:

/home/vpopmail/bin/vadduser -q 6000000000S user@test.com [password]
检验用户设置,并建立"maildirsize"文件:

/home/vpopmail/bin/vuserinfo user@test.com
现在用user@test.com登陆sqwebmail, 将浏览器指向如下地址:

http://mail.test.com/cgi-bin/sqwebmail
给自己发封信,如果可以收到,那你的邮件服务很可能正在正常运行.

测试POP 服务, 尝试telnet 110端口并登陆.

telnet localhost 110

Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
+OK Hello there.
user user@test.com
+OK Password required.
pass [password]
+OK logged in.
quit
+OK Bye-bye.
Connection closed by foreign host.
用相同的方法测试你的IMAP服务:

telnet localhost 143

Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
* OK Courier-IMAP ready. Copyright 1998-2001 Double Precision, Inc. See COPYING for distribution information.
a001 login user@test.com [password]
a001 OK LOGIN Ok.
a001 logout
* BYE Courier-IMAP server shutting down
a001 OK LOGOUT completed
Connection closed by foreign host.



15. 安装告一段落!
OK,你已经配置好了一台可以正常运做的邮件服务器了.下面的步骤你可以选择是否继续,不过我强烈推荐你继续下去.当然究竟是放弃还是继续都随你,这是你的选择.




16. 安装 vQadmin
vqadmin是一个基于web 的控制通道. 它允许系统管理员可以执行root用户才能进行的操作.

cd /var/src
tar -zxf tar/vqadmin-2.3.4.tar.gz
cd vqadmin-2.3.4
./configure
make
make install
现在我们需要将下面几行添加到httpd.conf文件中:

vi /usr/local/apache/conf/httpd.conf
<Directory "/usr/local/apache/cgi-bin/vqadmin">
deny from all
Options ExecCGI
AllowOverride AuthConfig
Order deny,allow
</Directory>
保存文件并退出.

cd /usr/local/apache/cgi-bin/vqadmin
chown nobody .htaccess
chmod 600 .htaccess
# 创建一个管理帐号及密码
/usr/local/apache/bin/htpasswd -bc /usr/local/apache/conf/vqadmin.passwd admin adminpass
chown nobody.nobody /usr/local/apache/conf/vqadmin.passwd
/usr/local/apache/bin/apachectl stop
/usr/local/apache/bin/apachectl start
在你的浏览器上测试一下安装结果:

http://www.test.com/...min/vqadmin.cgi



17. 安装 PHP4
安装PHP4是为了Squirrelmail的需要. 在其他方面你可能也会用到,所以我们安装它. 注意: 我在apache下安装支持DSO的php-4.2.2遇到了问题, 但安装php-4.2.1 却不会.

cd /var/src
tar -xzf tar/php-4.2.3.tar.gz
cd php-4.2.3
./configure --with-mysql --with-apxs=/usr/local/apache/bin/apxs --prefix=/usr/local/apache \
--enable-track-vars --enable-force-cgi-redirect --with-gettext
make
make install

cp php.ini-dist /usr/local/lib/php.ini

vi /usr/local/lib/php.ini

将:
register_globals = Off
改为:
register_globals = On


vi /usr/local/apache/conf/httpd.conf

将:
DirectoryIndex index.html index.html.var
改为:
DirectoryIndex index.html index.html.var index.php
并添加下面一段:
AddType application/x-httpd-php .php
Action application/x-httpd-php /usr/local/apache/cgi-bin



18. 安装 Squirrelmail
Squirrelmail一个很好的支持IMAP服务的web邮件客户端. 注意: 安装Squirrelmail前,需要安装PHP4.

cd /usr/local/apache/htdocs
tar -xzf /var/src/tar/squirrelmail-1.3.2.tar.gz
mv squirrelmail-1.2.7 squirrelmail
cd squirrelmail
mkdir attachment
chown -R nobody.nobody data
chown -R nobody.nobody attachment
chmod 733 attachment
你需要在SquirrelMail所在目录建立一个.htaccess 文件, 内容类似下面一段:

AddType application/php4script .php
Action application/php4script /cgi-bin/php
现在运行squirrelmail的configuration脚本:

./configure
你必须将IMAP的设置从cyrus改为courier. 点击D , 然后再选择courier. 此外,你应该建立你的attachment目录路径. 在主菜单中, 选择4, 然后再选择3, 设置路径为../attachment/ 然后按s保存,再按q退出.





19. 安装 SpamAssassin
Spam是一个让人讨厌的字眼. 大部分的人都不喜欢它. 如果你想保护自己免受spam, 你就需要安装SpamAssassin.在写篇文章之前, 最新版的SpamAssassin是version 2.43); 但不少人都说它存在一些问题,所以我们将使用version 2.31.

安装SpamAssassin 要用到Time-HiRes. 如果你没有安装的话,必须首先安装它.

# 安装Time-HiRes perl模块
cd /var/src
# 注意: 如果你是第一次运行CPAN,你将会被问一系列的问题.
# 大部分问题默认就行了.
# 这些问题都很容易回答.
perl -MCPAN -e'shell'
cpan> install Time::HiRes
cpan> exit
# 安装SpamAssassin
cd /var/src
tar -xzf tar/Mail-SpamAssassin-2.31.tar.gz
cd Mail-SpamAssassin-2.31
perl Makefile.PL
make
make install

# 进行一个spam和non-spam的测试
spamassassin -t < sample-spam.txt > spamtest.txt
less spamtest.txt
spamassassin -t < sample-nonspam.txt > nospamtest.txt
less nospamtest.txt
spamtest.txt文件在主题一段中将包含"*****SPAM*****" 这一行, 而nospamtest.txt文件中则没有.




20. 安装 MailDrop and TNEF reader
TNEF是一个从"application/ms-tnef". 类型中找出MIME附件的程序.这仅仅是微软系统中的一种附件.

TNEF程序允许将封装成TNEF的附件提取出来. 安装TNEF并不是必须的, 但我强烈推荐安装它!

Cd /var/src
tar -xzf tar/qmail-scanner-1.15.tgz
tar -xzf tar/maildrop-1.4.0.tar.gz
tar -xzf tar/tnef-1.1.3.tar.gz

# 安装 maildrop
cd /var/src/maildrop-1.4.0
./configure
make install-strip
make install-man

# 安装 the tnef
cd /var/src/tnef-1.1.3
./configure
make
make install




21. 添加 maildrop 脚本
注意: 这个脚本将邮件移动到一个叫“JunkMail”的IMAP文件夹. 因此,我们可以选择如下的两种方法:

1. 我们手动为每一个新的用户建立一个这样的文件夹, 就像下面这样:

su vpopmail
maildirmake -f JunkMail /home/vpopmail/domains/[domain name]/[user name]/Maildir/
(方法 #1)





2. 你可以编辑 vpopmail.c (或从我这里下载)使它能够自动为每一个新用户建立“JunkMail”文件夹. 如果你选择这个方法, 你就可以在通过vadduser或qmailadmin添加用户时自动建立这个JunkMail文件夹.

添加下面一行到函数变量声明中(位于1450行):

FILE *fs;
下来, 找到下面一段, 他们位于1512行与1522行之间:

if (mkdir("new",VPOPMAIL_DIR_MODE) == -1) {
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 6\n");
return(NULL);
}

if (mkdir("tmp",VPOPMAIL_DIR_MODE) == -1) {
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 7\n");
return(NULL);
}
将下面一段内容添加到上面的内容之后 (位于1525行):

/* BEGIN: Create .JunkMail IMAP folder and IMAP subscribe file */
if (mkdir(".JunkMail",VPOPMAIL_DIR_MODE) == -1){
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 3\n");
return(NULL);
}

if (chdir(".JunkMail") == -1) {
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 4\n");
return(NULL);
}

if (mkdir("cur",VPOPMAIL_DIR_MODE) == -1) {
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 5\n");
return(NULL);
}

if (mkdir("new",VPOPMAIL_DIR_MODE) == -1) {
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 6\n");
return(NULL);
}

if (mkdir("tmp",VPOPMAIL_DIR_MODE) == -1) {
chdir(tmpbuf); free(tmpbuf); free(tmpdir);
printf("make_user_dir: error 7\n");
return(NULL);
}

chdir("..");

if ( (fs = fopen("courierimapsubscribed", "w+"))==NULL) {
free("courierimapsubscribed");
return(0);
printf ("Error creating IMAP subscribe file.\n");
} else {
fprintf(fs, "INBOX.Sent\n");
fprintf(fs, "INBOX.Trash\n");
fprintf(fs, "INBOX.Drafts\n");
fprintf(fs, "INBOX.JunkMail\n");
fclose(fs);
}
/* END: Create .JunkMail IMAP folder and IMAP subscribe file */
保存文件,按照如下方法重新编译vpopmail:

cd /var/src/vpopmail-5.3.11
make
make install-strip

# You may have to restart apache
/usr/local/apache/bin/apachectl restart
(方法 #2)





我们需要一个 /etc/maildroprc脚本文件,以便让maildrop知道如何分类接受到的邮件.

cd /var/src
tar -xzf optionalScripts.tar.gz
mv optionalScripts/maildroprc /etc/maildroprc
现在我们需要设置/etc/maildroprc 的属性使它可以被邮件用户可读:

chown vpopmail.vchkpw /etc/maildroprc


22. 通过 maildrop 运用 SpamAssassin
这是为整个域做的设置. 如果你设置一个SpamAssassin, 它就可以对整个域生效.

也可以对单一用户做设置, 但在这里不做讨论.

为了使用 SpamAssassin进行过滤, 你必须编辑域的.qmail-default 文件:

vi /home/vpopmail/domains/[domain name]/.qmail-default
|maildrop
注意: 如果你用了邮件别名, 你还需要编辑 .qmail-[alias name] 文件. 我们假设邮件帐号为user@test.com ,它有一个别名 user2@test.com. 首先,找到别名文件.qmail-user2的第一行 (或者删除它, 但我喜欢保留原始信息的完整性). 下面, 你需要在这一行之前添加一行内容.这一行的内容包含用户的邮件地址(在地址前面用一个“&”符号标识它) , 例如:

vi /home/vpopmail/domains/test.com/.qmail-user2
&user@test.com
#/home/vpopmail/domains/test.com/user/Maildir



23. 创建 SpamAssassin 启动脚本
我们想要SpamAssassin 随系统自动启动. 在optionalScripts.tar.gz中提供了一个启动脚本.

mv /var/src/optionalScripts/spamassassin /etc/rc.d/init.d/spamassassin

# 使SpamAssassin随系统自动启动
cd /etc/rc.d/init.d/
chmod 755 spamassassin

ln -s ../init.d/spamassassin /etc/rc.d/rc0.d/K30spamassassin
ln -s ../init.d/spamassassin /etc/rc.d/rc1.d/K30spamassassin
ln -s ../init.d/spamassassin /etc/rc.d/rc2.d/S80spamassassin
ln -s ../init.d/spamassassin /etc/rc.d/rc3.d/S80spamassassin
ln -s ../init.d/spamassassin /etc/rc.d/rc4.d/S80spamassassin
ln -s ../init.d/spamassassin /etc/rc.d/rc5.d/S80spamassassin
ln -s ../init.d/spamassassin /etc/rc.d/rc6.d/K30spamassassin

/etc/rc.d/init.d/spamassassin start



24. 整理 SpamAssassin
如果一切按照计划进行的话,你将会拦截大量的spam.

这里我们还需要去整理一些事情. 下面是可选择的. 默认情况, spam将被拦截,而且标题头将被加上: '*****SPAM*****'这样的前缀. 很多人并不喜欢邮件被修改,所以我要做一下修改.

mv /var/src/optionalScripts/local.cf /etc/mail/spamassassin/local.cf
这里有几个变量需要添加到 local.cf 文件中:

# 如果你想在邮件头中包含spam的报告:
report_header 1
# 在报告中减少过多的解释:
use_terse_report 1
现在我们需要重启SpamAssassin来使修改生效.

/etc/rc.d/init.d/spamassassin restart
现在你已经配置了一台功能强大的具有spam保护的qmail邮件服务器.你现在就可以建立你的域,添加你的用户.最困难的部分已经过去了.





25. 安装 qmail-scanner and ClamAV
为了能够扫描邮件服务器中进出的邮件, 我们需要安装 qmail-scanner. 如果你之前没有安装perl-suidperl,我们还需要安装它(RedHat 7.3 是不会安装它的). 下面将指导你如何安装.

# 安装 perl-suidperl
rpm -i /var/src/tar/perl-suidperl-5.6.1-34.99.6.i386.rpm
# 安装 qmail-scanner
cd /var/src
tar -xzf tar/qmail-scanner-1.15.tgz
cd qmail-scanner-1.15
./configure C-scanners "clamscan,verbose_spamassassin" --admin "user" --domain "test.com" C-install




注意: "--admin" 和 "--domain" 参数组成了帐号"user"@"domain name". 警告消息将通过qmail-scanner 发往这个邮件帐号, 所以必须确认这是一个管理级别的帐号. 另外,所有域的警告信息都会发给这个帐号, 所以一定要小心. 在第一步时, 按y 允许qmail-scanner提前configure. 第二步时, 按y,建立 qmail-queue-scanner.pl 文件.





cp quarantine-attachments.txt /var/spool/qmailscan
su qmaild -c "/var/qmail/bin/qmail-scanner-queue.pl -g
# 如果qmail-scanner-queue.pl 在安装过程中有问题, 按照下面的方法复制建立
# cp qmail-scanner-queue.pl /var/qmail/bin/qmail-scanner-queue.pl
现在我们需要将qmail-scanner-queue.pl 加入到qmail-smtpd 启动脚本中

vi /var/qmail/supervise/qmail-smtpd/run

添加下面一段:
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
export QMAILQUEUE
将:
exec /usr/local/bin/softlimit -m 2000000 \
改为:
exec /usr/local/bin/softlimit -m 15000000 \
保存文件,退出vi. 现在, 我们将要安装真正病毒扫描程序, “Clam Anti-Virus”. 可以从如下地址http://clamav.elektrapro.com 获取更多的信息. 首先我们需要为clamAV 建立一个用户和组:

/usr/sbin/groupadd clamav
/usr/sbin/useradd -g clamav -s /bin/false -c "Clam Antivirus" clamav

cd /var/src
tar -xzf tar/clamav-0.53.tar.gz
cd clamav-0.53
./configure
make
make install

# 确认是否在运行
clamscan -r -l scan.txt .
cat scan.txt
rm -rf scan.txt

# 建立日志文件...
touch /var/log/clam-update.log
chmod 644 /var/log/clam-update.log
chown clamav /var/log/clam-update.log

# 通过添加下面一行到cron文件来自动检查病毒库升级
crontab -e
0 8 * * * /usr/local/bin/freshclam --quiet -l /var/log/clam-update.log
[ESC]:wq

# 设置相应的属性和权限...
chown -R qmailq.qmail /var/qmail/bin/qmail-scanner-queue.pl
chown -R qmailq.qmail /var/spool/qmailscan
chmod -R 755 /var/spool/qmailscan

# 最后.重启邮件服务
/var/qmail/bin/qmailctl restart
/var/qmail/bin/vpopmailctl restart
OK, 让我们测试一下病毒扫描是不是在运行. 记的那些在#3步下载的测试病毒文件吗? 我们将利用它们来测试. 打开你喜欢的邮件客户端 (SquirrelMail?) 用一个测试帐号发一封测试邮件给另外一个测试用户(你可能需要建立两个测试帐号). 在你的电子邮件中附上病毒测试文件,把它发送给第二个测试帐号. 如果你以管理帐号登陆, 你将会看到一封病毒警告信件. 我们可以在日志文件中看到qmail-scanner和clamAV确实截获了测试病毒:

cat /var/spool/qmailscan/qmail-queue.log




26. 安装 MRTG
多路由器通信监视器(MRTG)是在网络链路上监控通信负载的一件工具。 MRTG 产生包含图表的HTML网页,它可以将系统中的通信情况实时的显示在页面上。 我们可以在我们的系统上使用它来监控电子邮件和spam情况。

# 安装 zlib (压缩的图形文件包)
cd /var/src
tar -xzf tar/zlib-1.1.4.tar.gz
mv zlib-1.1.4/ zlib
cd zlib
./configure
make
cd ..

# 安装 libpng (PNG图片格式包)
tar -xzf tar/libpng-1.0.12.tar.gz
mv libpng-1.0.12/ libpng
cd libpng
make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib
rm *.so.* *.so
cd ..

# 安装 gd (制图软件包)
tar -xzf tar/gd-1.8.3.tar.gz
mv gd-1.8.3/ gd
cd gd
make INCLUDEDIRS="-I. -I../zlib -I../libpng" \
LIBDIRS="-L../zlib -L. -L../libpng" LIBS="-lgd -lpng -lz -lm"
make install
cd ..

# 编译 MRTG
tar -xzf tar/mrtg-2.9.25.tar.gz
cd mrtg-2.9.25/
./configure --prefix=/usr/local/mrtg-2 C-with-gd=/var/src/gd/ \
--with-z=/var/src/zlib/ --with-png=/var/src/libpng/
make
make install
所有MRTG需要的软件包都安装在了 /usr/local/mrtg-2 目录下. 你现在可以安全的删除上面编译的源码. 但是你最好留着,以便你编译下一个版本的MRTG时所需.

通过安装inter7的qmailmrtg ,我们将在我们的系统上安装MRTG

# 编译 qmailmrtg
cd /var/src
tar -xzf tar/qmailmrtg7-3.4.tar.gz
# 如果你没有从optionalScripts.tar.gz中解压出这些文件, 那你要这样做
tar -xzf tar/optionalScripts.tar.gz
cd qmailmrtg7-3.4
make
make install
mkdir /usr/local/apache/htdocs/qmailmrtg
cp ../optionalScripts/qmail.mrtg.cfg /usr/local/apache/htdocs/qmailmrtg
cp ../optionalScripts/index.html /usr/local/apache/htdocs/qmailmrtg
cd /usr/local/apache/htdocs/qmailmrtg/
修改 qmail.mrtg.cfg 和 index.html文件, 将所有出现FQDN 的地方都改成你的完整域名(例如: test.com). 如果你的HTTP MRTG目录并不是默认的 (例如: 你并没有把 /usr/local/apache作为你的web根目录), 则必须在/usr/local/htdocs/qmailmrtg/qmail.mrtg.cfg 文件中修改WorkDir变量为正确的路径. 如果你不记录pop和smtp服务, 你可以在pop3和smtp所在每一行的前面加一个# 来注释掉它. 我现在已经移去它们了, 如果你决定不记录的话,你可以删除它们.

你可以修改 pop3和smtp所在的行, 设置MaxBytes参数来重写tcpserver中-cX所在行.

你还可以修改concurrency来重写concurrencyremote或concurrencylocal 的值. 如果这些文件在/var/qmail/control 目录下并不存在,则qmail默认的值为20.

OK, MRTG现在可以图形化qmail日志记录, 为了添加对SpamAssassin 的支持. 我们需要安装“Date::Parse” 模块, 让我们开始吧:

cd /var/src/optionalScripts
perl -MCPAN -e'shell'
cpan> install Date::Parse
cpan> quit

#你可能需要将这些modules移动到你的Perl lib目录, 如下:
#mv /root/perl/* /usr/lib/perl5/5.6.1/i386-linux/

cp glmrtg.pl /usr/local/bin
cp mrtgspam /usr/local/bin
chmod 755 /usr/local/bin/glmrtg.pl
chmod 755 /usr/local/bin/mrtgspam
OK!现在我们将对收集到的SpamAssassin进行一下统计 (spam vs. non-spam). 下面是我们的最后一步,将下面一段添加到crontab中, 以使我们能每五分钟升级一次MRTG数据. 运行如下命令:

crontab -e
添加下面一段 (使MRTG每五分钟运行一次) 然后退出crontab:

*/5 * * * * /usr/local/mrtg-2/bin/mrtg /usr/local/apache/htdocs/qmailmrtg/qmail.mrtg.cfg 2>&1 > /dev/null
现在运行MRTG三次来安装它. 你将会收到3次警告消息. 之后,你将不会再收到警告了.

/usr/local/mrtg-2/bin/mrtg /usr/local/apache/htdocs/qmailmrtg/qmail.mrtg.cfg
现在应该安装好了. 为了能显示些信息,我们等待15分钟的日志记录. 你可以通过下面的地址来检查图形监控情况:

http://your.host.name/qmailmrtg/
查看它们的图形监控情况!


--------------------------------------------------------------------------------

问题解决
对于 RedHat (和其他Linux系统) 确认你的安装模式为“服务器安装”.





安装qmail-scanner中,你可能会在/var/log/qmail/smtpd/current日志文件中得到 "Can't do setuid" 的提示 . 如果得到这个提示,很可能是需要安装perl-suidperl. 在如下地址 http://www.rpmfind.net查找它的RPM包.





安装完qmail-scanner后, 我得到了qq errors的提示. 如果你为安装qmail-scanner而采用了Perl 5.8.0版, 你就会得到qq error的提示. 下载 5.6.1 版本去修正这个问题. Qmail-scanner在Perl 5.8.0中运行的不是很好.





安装qmail-scanner后,我的邮件别名不能运行! 如果你用了邮件别名, 你还需要编辑 .qmail-[alias name] 文件. 我们假设邮件帐号为user@test.com ,它有一个别名 user2@test.com. 首先,找到别名文件.qmail-user2的第一行 (或者删除它, 但我喜欢保留原始信息的完整性). 接下面, 你需要在这一行之前添加一行内容.这一行的内容包含用户的邮件地址(在地址前面用一个“&”符号标识它) , 例如:

vi /home/vpopmail/domains/test.com/.qmail-user2
&user@test.com
#/home/vpopmail/domains/test.com/user/Maildir








这就是我现在这一部分所有的全部内容,我将在不久之后扩充它.






--------------------------------------------------------------------------------

FAQ (缺乏一个更好的标题)
我决定建立一个FAQ来罗列出一些常见的问题以及解决方法!





Q: 有没有简单的方法可以阻止某些用户发邮件到外部地址 (或内部服务器)?

A: 可以.注意NO_RELAY标志,它可以对任何用户起作用:

vmoduser -r email@domain




Q: 有没有方法可以拒绝整个域的POP连接,而不单是某个邮件地址?

A: 当然.vmodeuser可以帮你解决问题:

vmoduser -p domain.com




Q: 我可以用MySQL数据库或cdb来做用户验证吗?哪一个更好呢?

A: 都支持. 下面是我为什么选择MySQL的几点原因:

如果你的域中有很多用户, 假如超过一万. 这时添加用户时,cdb的更新就会变的比较慢.

如果你想对vpopmail用户信息增加其他的应用, 那么通过MySQL数据库来实现是很容易的.

用MySQL来储存新添加的用户信息也很容易.





Q: 我们公司有a .com和a .net两个域名. 有没有办法使两个域名之间的邮件互相能够转发给对方呢?

A: 你并不需要转发邮件. 你只需要为域名设置别名就可以了, 例如:

vaddaliasdomain domain.net domain.com




Q: 有没有方法可以给某个虚拟域的全部用户或者全部虚拟域中的用户群发一封电子邮件?

A: 可以,查看“vpopmail”的功能:

vpopbull [options] [virtual_domain] [...]




Q: 有没有简单的办法可以不通过MySQL来列出全部虚拟域的用户呢?

A: 可以.建立一个脚本文件,例如名字为vlistusers (我把它放在/home/vpopmail/bin/目录里):

#!/bin/bash

PATH=$PATH:/home/vpopmail/bin

for DOMAIN in `vdominfo -n` ; do
DIR=`vdominfo -d $DOMAIN`
for USER in `awk -F: '{ print $1 }' $DIR/vpasswd` ; do
echo "$USER@$DOMAIN"
done
done




Q:我知道我的用户很不可靠,他们经常不记的去清空他们的垃圾箱.这可以自动操作吗?

A: 可以. 打开courier-imap/etc/imapd 文件, 查找“IMAP_EMPTYTRASH“ 所在行. 如果你想在7天之后自动清空, 可以这样:

IMAP_EMPTYTRASH=Trash:7




Q: 我们没有空间来永久保留用户的邮件. 我如何清除45天前的邮件?

A: 你可以象下面这样建立一个cron任务:

0 22 * * * find /home/vpopmail/domains/ -ctime +45 -type f -path '*Maildir/cur*' | xargs -i --verbose rm '{}' 2>&1








Q: 我们的大部分用户都位于一个域中. 有没有办法设置一个默认域,使他们登陆时不需要输入“@domain.com”?

A: 可以, 这是vpopmail编译时所带的一个选择参数. 在编译vpopmail之前,为 “configure”命令添加如下的参数:

./configure --enable-roaming-users=y C-enable-logging=v --enable-default-domains=yourdomain.com








Q: 我的pop3连接验证要花相当长的时间. 有没有解决方法?

A: 下面的方法可能会有效,但也可能不行.不过你可以试一下.你在你的qmail-smtpd 的启动脚本文件里tcpserver所带参数中加上“-l0”这个参数(注意: 是在-L后加上零). 如果你是按照前面安装中的脚本,那么这个参数已经带上了.









Q:我有一个虚拟域,用户空间默认要为5MB, 而另外一个虚拟域的用户空间需要默认为10MB. 我该如何设置才能使每一个新增加的用户空间都是他所在域的默认大小?





A: 你可以在每个域的/home/vpopmail/domains/yourdomain 目录下创建一个.qmailadmin-limits文件,这样就可以为Qmailadmin设置每个域的默认空间大小了.

另外,你还可以为域设置默认空间大小. 详情和实现方法请查看Qmailadmin的INSTALL文件.









Q: 我一直听到关于vpopmail的 “the seekable patch”补丁的消息. 我需要为我的vpopmail打这个补丁吗?

A: 如果你的vpopmail是< 5.3.7版本的, 你可以在下面这个地址http://www.thesafebox.com找到这个补定.









Q: 在我试图安装新版本的qmail-scanner时,我得到了一个错误的提示. 我该如何解决这个问题呢?

A: 在第25步时,我们复制文件quarantine-attachments.txt 到/var/spool/qmailscan目录. 问题就出在这个文件. 用你喜欢的编辑器打开它. 查找到下面这一行:

message/partial<tab>Virus-Content-Type:<tab>Message/partial MIME attachments blocked by policy

第二个<tab>在1.15 release版中是一个空格.
第二个<tab> 实际上是一个<space>. 用 <tab> 替换掉这个<space> 后就不会有问题了.





Q: 我想将我的虚拟域和用户都转移到另外一台邮件服务器. 那我需要备份那些内容呢?

A: 不需要. 真正的系统管理员是不做备份的. 我只需要把我将用到的目录压缩备份. 下面是我的压缩命令:

tar -Pczf /tmp/mailbackup.tar.gz ~vpopmail/etc/* ~vpopmail/domains/* /var/qmail/control/* /var/qmail/users/* /user/local/apache/htdocs/squirrelmail/data/*




如果你有大量的用户和虚拟域,这可能需要花些时间. 将这些压缩好的包转移到新的服务器上:

tar -Pxzf /tmp/mailbackup.tar.gz
注意: 以上操作将会覆盖当前的新服务器上的域和用户(换句来说, 你应该把这些旧的用户信息移动到一台新的服务器上).










--------------------------------------------------------------------------------





相关资源, 邮件列表, 以及链接
Resources:

* http://www.shupp.org: qmail toaster HOW-TO (我写的HOW-TO是以它为基础的)
* http://www.lifewithqmail.org: Life With Qmail. 这里有大量的qmail资料和很好的指导教程(必读!)
* http://matt.simerson...g/mail/toaster: FreeBSD qmail toaster HOW-TO (Bill Shupp的 HOW-TO就是以它为基础)





Mail-Lists:

* http://shupp.org/pub...in/ezmlm-cgi?1: Bill Shupp的“qmail toaster”邮件列表档案
* toaster-subscribe@shupp.org: Bill Shupp的“qmail toaster”邮件列表用户
* http://bluedot.net/m...e/list.php?f=2: Vpopmail的邮件列表档案
* vchkpw-subscribe@inter7.com: Vpopmail的邮件列表用户.
* http://www.mail-arch...n%40inter7.com: qmailadmin的邮件列表档案
* qmailadmin-subscribe@inter7.com: qmailadmin的邮件列表用户
* http://sourceforge.n...?forum_id=1981: SpamAssassin的邮件列表档案
* http://lists.sourcef...massassin-talk: SpamAssassin的邮件列表用户页
* http://lists.sourcef...canner-general: 有关qmail-scanner的邮件列表



Helpful Links:

* http://www.qmail.org: qmail的官方网页以及qmail的相关工具
* http://www.inter7.com: vpopmail/qmailadmin/vQadmin的官方网页以及其他很好的工具
* [url="http://www.spamassassin.org:"]http://www.spamassassin.org:[/url] SpamAssassin spam filter system的官方网页
* [url="http://clamav.elektrapro.com/:"]http://clamav.elektrapro.com/:[/url] Clam Anit-Virus的官方网页
* [url="http://qmail-scanner.sourceforge.net/:"]http://qmail-scanner.sourceforge.net/:[/url] qmail-scanner的官方网页





--------------------------------------------------------------------------------

更新记录




1.0.6: 11-04-02

* 将许多软件包升级到了新的版本.
* 添加“如果备份或转移域和用户到一台新的服务器” 到FAQ.
* 修订了一些打印错误和问题.



1.0.5: 10-27-02

* 增加了FAQ, 修复了一些问题.
* 为可选择的软件包增加了一些说明.
* 增加了MRTG模块




1.0.4: 09-15-02

* 修改了一些打字错误, 在有些部分增加了一些信息.
* 为可选择的软件包增加了一些说明.



1.0.3: 09-11-02

* 增加了“Clam Anit-Virus “ 病毒扫描模块.
* 对qmail-queue-scanner的安装做了些修改.





1.0.2: 08-21-02

* 对实现自动创建用户“JunkMail”文件夹功能的vpopmail.c增加了一些修改 creation





1.0.1: 08-19-02

* 增加了序言
* 增加了相关资源, 邮件列表, 以及链接
* 为需要下载的软件包提供了链接
* 修改了一些打字中出现的错误




1.0.0: 08-15-02

* 初次发布
0

#2 User is offline   wangxu

  • 下士
  • PipPipPip
  • 群组: 会员
  • 帖子: 45
  • 加入: 2003-09-02 22:10

发表于 2003-12-07 01:01:58

呵~怎么把我翻译的转这里来了
0

#3 User is offline   netloafer

  • 营长
  • PipPipPipPipPip
  • 群组: 荣誉会员
  • 帖子: 373
  • 加入: 2003-08-10 16:04

发表于 2003-12-07 08:08:33

wangxu, on 2003年12月7日 - 1:58, said:

呵~怎么把我翻译的转这里来了

原来你是CU里的Artxing呀!!
<span style='font-size:8pt;line-height:100%'>一个网络中的流浪人,不知道天有多高,也不知道地有多厚,

只知道网线有多长......

我自由!我潇洒!我流浪!

**************************************
* www.anti-spam.org.cn 中国反垃圾邮件联盟 *
**************************************
* 我们一起联合起来,抵挡垃圾邮件的进攻!!!!*
**************************************
</span>
0

#4 User is offline   wangxu

  • 下士
  • PipPipPip
  • 群组: 会员
  • 帖子: 45
  • 加入: 2003-09-02 22:10

发表于 2003-12-07 13:01:10

呵呵~是啊.我在这里换了ID.我还给你发过应聘简历呢.不过没回音,应该是不成.哈~
0

#5 User is offline   ten

  • 营长
  • PipPipPipPipPipPipPip
  • 群组: 总版主
  • 帖子: 3,035
  • 加入: 2003-10-21 22:10

发表于 2003-12-07 19:07:29

好文共赏嘛,呵呵

你发简历给netloafer?
netloafer是管HR的吗?
0

#6 User is offline   wangxu

  • 下士
  • PipPipPip
  • 群组: 会员
  • 帖子: 45
  • 加入: 2003-09-02 22:10

发表于 2003-12-08 00:12:18

他是263负责邮件的.他在cu发了条招聘信息.我想试试.他就叫我发简历给他了.不过我也觉的自己不行.还好现在找到工作了.已经准备辞职了.
0

#7 User is offline   ArsenalFans

  • 新兵
  • Pip
  • 群组: 会员
  • 帖子: 1
  • 加入: 2004-02-23 10:10

发表于 2004-02-23 11:11:24

如果我要做一个个人的email服务器,需要那些硬件配置和软件,这是我软件实习的题目,望各位大虾指点
0

#8 User is offline   irror

  • 列兵
  • PipPip
  • 群组: 会员
  • 帖子: 19
  • 加入: 2004-11-11 08:08

Post icon  发表于 2004-11-16 08:08:15

很早就看到这个文章了,很全面,但是关键的一个软件包找不到
optionalScripts.tar.gz 呵呵,没发继续!!
0

#9 User is offline   特约评论员

  • 列兵
  • PipPip
  • 群组: 会员
  • 帖子: 13
  • 加入: 2005-04-05 13:01

发表于 2005-05-19 14:02:03

顶,先!
0

#10 User is offline   solargirl

  • 新兵
  • Pip
  • 群组: 会员
  • 帖子: 3
  • 加入: 2005-04-14 11:11

Post icon  发表于 2005-08-22 15:03:27

:D 很好的文章!
0

#11 User is offline   山东老头

  • 新兵
  • Pip
  • 群组: 会员
  • 帖子: 3
  • 加入: 2005-12-02 17:05

Post icon  发表于 2005-12-08 09:09:50

:D 好文章!
只是想知道 optionalScripts.tar.gz 在哪里下载呀?
俺找遍了也没有找到!
0

共计一页
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users