名称 |
用途 |
下载地址 |
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 |
病毒扫描 |
|
[root@mail ~]# grep postdrop /etc/postfix/main.cf
setgid_group = postdrop |