2.1:Linux
2.2:DNS
2.3:MySQL
2.4:Apache
2.5:Sendmail
2.6:分区建议
qmail工作于 *NIX 平台,我的测试工作是在 RedHat Linux 7.1上完成的,本文档所有设置都是针对RedHat Linux 7.1 的。
2.1:Linux
确保你有一台可以正常工作的RedHat Linux 7.1 服务器。
本文档所涉及的所有安装脚本可以在 RedHat Linux 7.1/6.2 正常使用。
关于Linux的发行版本,及所带来的兼容性问题,对一般的编译不会产生影响,对于本文档,请你注意MySQL的库文件位置及Apache的主目录位置基本就可以了。
RedHat 7.1注意:没有必要“以RedHat6.2的兼容方式编译和连接”,对于以下设置的系统:
export LD_ASSUME_KERNEL=2.2.5
. /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh
编译会出错!
所以,还是不要太聪明了!呵呵!
2.2:DNS
qmail对DNS的要求是很高的,对于早期的Linux版本,一般建议用djbdns取代named,qmail可以充分的理解和使用djbdns的数据,而如果使用named,最容易得到的出错信息是``CNAME lookup failed temporarily'',甚至可以充斥你的整个log。
RedHat 7.1的named有了很大的提高,使用bindconf(X Windows),可以容易的配置一个DNS Server,工作起来效果很好!
qmail-1.03-18.src.rpm包装进了qmail-1.03-big-dns.patch和qmail-1.03-bind-interface.patch解决了大部分DNS问题。所以,在一台配置好named的RedHat 7.1 上,我们不再需要djbdns。
2.3:MySQL
为了使vpopmail能够使用MySQL,MySQL的版本必须在3.23以上。
NOTE: make sure you are running the latest stable release of mysql. If you have 3.22 installed, you will need to upgrade. The dir_control table in vpopmail uses a "unique index (domain)" syntax which isn't supported in the 3.22 releases. Thanks to Chris Scheller for tracking this down. 2.4:Apache
在RedHat 7.1 上,Apache 的发布目录为 /var/www 而不是 /home/httpd。 2.5:Sendmail
在本文档探讨的范围之内,sendmail的存在已经没有任何意义,建议你删除。
rpm -e --nodeps sendmail
2.6:分区建议
如果你拥有第二块硬盘,你应当把它全部分配给vpopmail使用,否则也应当为vpopmail建立一个独立的分区,在我的系统上:
/dev/hda8 mount as /webmail
vpopmail 's home directory is /webmail/vpopmail
把vpopmail独立存放的理由是:Maildir格式造成大量小文件存在,数量庞大的小文件如果放在 /var 或 /home下,将造成系统性能下降。
你甚至可以再次细分,
/dev/hda8 mount as /webmail
vpopmail 's home directoy is /webmail/vpopmail
virtualdomain test1.com 's path is /webmail/vpopmail/domains/test1.com
/dev/hda9 mount as /webmail/vpopmail/domains/test1.com
virtualdomain test2.com 's path is /webmail/vpopmail/domains/test2.com
/dev/hda10 mount as /webmail/vpopmail/domains/test2.com
......
这样做不是没有道理的,如果你的分区足够细化,对于大量用户和有大量并发进程的系统,邮件检索时间将会明显加快!
同样适用于NFS。
,