当前位置: 主页 > 服务器技术 > Mail服务器 > Postfix电子邮件系统完整安装教程

Postfix电子邮件系统完整安装教程

时间:2009-11-17来源:互联网 点击:
◆运行环境
操作系统是centos 5,其下载地址为www.centos.org,它是redhat as 5最佳的替代品(原因:开源且免费下载);postfix使用的版本是postfix-2.2.10.tar.gz,postfix(www.postfix.org)当前的稳定版本是2.4,由于2.4不支持SASL,所以我选了老一点的版本。其他所需的软件在下表列出:

名称
用途
下载地址
Apache (httpd-2.2.0)
Web方式管理邮件
www.apache.org
Php (php-5.2.3)
Php 解释器,与apache一起使用
www.php.org
Mysql (mysql-5.0.41)
用数据库存储用户信息
www.mysql.com
Postfixadmin(postfix-2.1.0)
邮件帐号后台web管理工具
http://sourceforge.net/projects/postfixadmin/
SASL(cyrus-sasl-2.1.21.tar.gz)
验证方法
http://ftp.andrew.cmu.edu/pub/cyrus-mail/
Authlib(courier-authlib-0.59.3.tar.bz2)
与SASL一起做验证
http://www.courier-mta.org/download.php
Postfix
邮件系统主程序
http://www.postfix.org
Courier-imap (courier-imap-4.1.3.tar.bz2)
Pop3及IMAP服务
http://www.courier-mta.org/
Perl (perl-5.8.8)
解释器
http://www.cpan.org
Maildrop (maildrop-2.0.4.tar.bz2)
邮件投递代理,直观的讲就是把收到的邮件转发到用户的邮箱目录
http://www.courier-mta.org/
Clamav (clamav-0.91.2.tar.gz)
杀毒软件
http://www.clamav.org/
amavisd-new(amavisd-new-2.5.2.tar.gz)
扫描邮件病毒
http://www.ijs.si/software/amavisd
 
Spamassassin(SpamAssassin 3.2.3)
防垃圾邮件
http://spamassassin.apache.org/
Pcre (pcre-7.2.tar.bz2)
安装Imap需要-- Perl兼容正则表达式
http://www.pcre.org
Extmail (extmail-1.0.1.tar.gz)
webmail
http://www.extmail.org

◆准备工作

1、下载所需的软件:照上面给出的地址找到下载URL,然后用wget下载。由于服务器一般不安装xwindow这样的桌面环境,那怎样知道下载文件的url呢?用windows呢,通过securecrt这样的ssh工具连接和管理远程linux服务器,这样就很容易办到了。在实际的工作中,我习惯把文件下载到/root目录,原因是普通用户看不见我下载的东西。

图 1

2、清理系统:不管你喜不喜欢,安装系统时sendmail这个邮件服务软件已经安装上去了,可是一山不容二虎,既然我们选定了功能强大的postfix,那么sendmail就一边歇着吧。运行命令 rpm -e -nodeps sendmail 就达到这个目的了。第2个需要卸载的软件是SASL,为什么要卸载它呢?因为系统自带的版本不太容易与authlib正常配合,所以需要把它删除掉。第3个要删除的是perl.本打算用系统自带的perl,可是在执行命令 perl -MCPAN -e shell时居然出现"segment fault",导致很多功能不能使用,看来也只好删了重装一个。下面总结一下这个过程:

1、SASL
(1)列出包
rpm -qa | grep sasl
cyrus-sasl-2.1.19-5.EL4
cyrus-sasl-gssapi-2.1.19-5.EL4
cyrus-sasl-devel-2.1.19-5.EL4
cyrus-sasl-ntlm-2.1.19-5.EL4
cyrus-sasl-md5-2.1.19-5.EL4
cyrus-sasl-sql-2.1.19-5.EL4
cyrus-sasl-plain-2.1.19-5.EL4
(2)删除包
rpm –e –nodeps cyrus-sasl-2.1.19-5.EL4  cyrus-sasl-gssapi-2.1.19-5.EL4  cyrus-sasl-devel-2.1.19-5.EL4  //把上面查查来的全部列在这后面全卸载掉。nodeps前面是两”-“!
然后进目录/usr/lib查一下 ls –al /usr/lib | grep sasl 应该没有目录sasl及sasl2了。
2、Perl
(1)列出包
rpm -qa | grep perl
perl-DateManip-5.42a-3
perl-XML-Encoding-1.01-26
perl-LDAP-0.31-5
perl-XML-LibXML-Common-0.13-7
groff-perl-1.18.1.1-3
openssl-perl-0.9.7a-43.1
…………(省略若干)
perl-suidperl-5.8.5-12.1.1
(2)删除包
rpm –e –nodeps perl-DateManip-5.42a-3   //照上面的例子删除所以的包。由于包太多,用一个//rpm命令后面带的参数太长,建议一个一个收拾。
执行完删除命令后,再运行命令perl –v,如果出现“-bash: perl: command not found”则表明已经把perl清理掉了。

3、创建邮件系统运行时所需的用户和组:创建用户和组绝不仅仅是为了练习userad和groupadd这两个命令,因为安全方面的原因,一些软件不能以root用户来运行,甚至在安装过程中,如果没有为该软件预先创建用户,安装将不能进行下去,因此,我们在这里先创建这些运行postfix系统所需的用户和组。对centos或redhat等发行版而言,用命令useradd创建用户时也就创建了一个同名的组,而另外一些linux发行版(如debian)或unix(如solaris 10),创建用户时并不会同时创建同名的组,这需要手动执行命令单独创建所需的组。下面我用表格的方式列出postfix系统所需要创建的用户及组的情况:

用户名
组名
作用
备注
mysql
Mysql
数据库mysql运行用户
 
vmail
Vmail
Postfix虚拟邮件帐号所使用的用户及组
uid,gid:1001,1001
postfix
Postfix
Postfix主程序使用的帐号和组
 
 
Postdrop
Postfix  setgid_group
setgid_group=postdrop
amavis
Amavis
邮件扫描
 
clamav
Clamav
病毒扫描
 

这里有2个值得注意的地方,它们是vmail用户、组及postdrop组。在postfix邮件系统中,有好几个程序是以vmail来运行的(这些情况将在后面逐个说明);postdrop这个组,我看了很多人写的文档,无一例外的都有创建这个组的操作,但没有任何人说明这个组是干什么用的,给人很突兀的感觉,因此我在这里特别把它列出来了-它的作用是setgid_group-在postfix的主配置文件main.cf里标明了的。

[root@mail ~]# grep postdrop /etc/postfix/main.cf
setgid_group = postdrop

.
分页: [1] [2] [3] [4] [5] [6] [7] [8] [9]
TAG: POSTFIX 电子邮件 教程 系统
推荐内容最近更新人气排行