linux+postfix+openwebmail+sasl搭建邮件服务器

 

linux+postfix+dovecot+openwebmail+sasl邮件服务器系统

                                                                                                                                                                            作者  邓彦辉

首先本文力求简洁易懂,具有可操作性,让大家跟着我的步骤一步一步的就能实现是我撰写本文的目的,呵呵,废话不多说了。下面开始
一 ##所需软件
首先介绍需要使用哪些软件
1         linux (CentOS5.4版本);
2         postfix(直接通过yum安装或者通过光盘安装,注意先安装好postfix,然后再卸载sendmail,提供MTA功能);
3         dovecot (提供pop3和imap功能,貌似安装好系统后就有了,呵呵,如果没有大家自行安装);
4         cyrus-sasl cyrus-sasl-devel cyrus-sasl-plain cyrus-sasl-md5 (这几个软件是提供sasl认证功能的);
5         apache(提供web功能);
6         php    (配合Apache使用的,大家也安装上就行了);
7         perl    (通过CentOS的yum功能直接安装,安装版本是 5.8.8版本);
8         perl-suidperl-5.8.8 (通过CentOS的yum功能直接安装,安装版本 5.8.8这个是和perl配套的,如果和perl版本不一致可能导致初始化openwebmail时找不到libperl.so,openwebmail的辅助软件,必须要有);
9         perl-Text-Iconv-1.7-2.el5.i386.rpm(openwebmail软件需要的辅助软件,必须要有);
10     openwebmail-2.51-1.i386.rpm (这个就是我们的主角了,最新版的是2.54版,大家可以到官网上去找,注意安装openwebmail时,一定要确保先安装了 7和8两款软件);
2 ##安装软件
好了,所需要的软件介绍完毕,如果大家网上找不到,可以找我要 QQ 415090719 小辉。
第一步:安装好Linux系统后,启动系统,首先安装postfix,再卸载sendmail
       yum –y install postfix
       rpm –e sendmail
第二步:安装dovecot,因为系统自带,如果没有请自行安装
       yum –y install dovecot
                              ………………………….
软件的安装过程我就不讲述了,因为以上所有的软件都有rpm包,安装过程很easy,如果大家没有找到,可以找我要。
最主要的是安装 perl 和 perl-suidperl这两款软件,一定要配套,建议直接使用yum
来安装,这样就是配套的,还有在安装openwebmail前一定要先安装perl perl-suidper per-Text-Iconv这三款软件。其他的软件安装大家自行安装即可。
3 ##配置
       首先配置我们的Linux系统名称
       vi /etc/sysconfig/network
                                             

这里我的系统名称是 linux.dyh.com 那么我所在的域就是 dyh.com这个域了。大家请记住这里的设置哦,后面会用到。
域名配置好后,接着配置我们的DNS服务器给我们的mail服务器加入解析,具体的DNS服务器的搭建不是本文的主题,大家如果对DNS服务器的配置有不明白的地方,可以联系我。下面我给出我的DNS服务器中加入mail服务器解析的配置
vi /var/named/chroot/var/named/named.dyh.com

划红线的部分是就是我加入的mail的解析,因为我的DNS主机和MAIL主机是同一台机器,所以这里就是这样设置的。
接着就是配置我们的Postfix了 在配置postfix前请大家先把配置文件备份一下,以免配置错误后不知道怎么还原,在配置任何一项服务的时候,请大家都养成先备份,再配置的习惯。
vi /etc/postfix/main.cf   呵呵,这个文件的内容实在有点多,大家可以只更改其中的关键地方以满足自己的系统环境,其他的保持默认即可。关键的地方,小辉这里给大家罗列出来,注意配置文件的参数两边都要加个空格,即等号两边都有空格。
1         myhostname = linux.dyh.com 这个参数在 69行左右,大家更改成自己的主机名即可;
2         mydomain = dyh.com 这个参数就是我们的域名 我这里当然就是 dyh.com咯;77行;
3         myorigin = $myhostname 这个是设置邮件表头上面的mail from地址的,大家用默认即可,即取消前面的那个#注释 大概在 92行;
4         inet_interfaces = all 这个就是设置我们的邮件服务器监听所有的端口,在107行;
5         mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
       mail.$mydomain, www.$mydomain, ftp.$mydomain
   这个就重要了,就是mail to的地址了,您的主机能够接收的信件中,mail to写的主机名称需要在这个设置中出现才行,即你的所有主机名,包括别名都要写在这里,在 158行和159行;
6         mynetworks = 10.100.16.0/21, 127.0.0.0/8, hash:/etc/postfix/access 这个设置是决定你要向哪些网段和主机开放使用本邮件服务,很重要哦;在256行;
7         #relay_domains = $mydestination 这个参数就是说如果我们有多台邮件服务器,我们的这台服务器需要将邮件转发到其他服务时,就像Yahoo的邮箱要转发到QQ邮箱上,那么在yahoo的邮箱中就要设置这个转发咯。这里我不需要转发,就不用配置了。大家根据自己需要自行更改;
就是以上七个参数,大家根据自己的系统环境更改即可,其他的保持默认即可;
好了,基本的一个Postfix就配置好了,下面就是要配置 dovecot这个提供Pop3和imap功能的服务了,因为我们的postfix只是充当 smtp的作用 但是在邮件的发和收的过程中是需要pop3/imap 和smtp两套协议的,我们的dovecot就是提供pop3和imap功能的咯。下面编辑它的配置文件
vi /etc/dovecot.conf

Dovecot的配置文件也是老长了,这里我们需要的也就是我划红线的地方 在20行和21行,21行那个默认是没有的,大家照着我的自己加上listen = * 即可;即监听所有的端口;
好了dovecot也配置好了,我们的基础就配置好了,大家完全可以通过客户端软件进行收发邮件了。呵呵。当然,前提是大家要启动它们咯
       service postfix start
       postmap hash:/etc/postfix/access
       postalias hash:/etc/aliases
注意:上面两行命令是是设置的邮件服务器的访问权限和邮件服务器的别名,如果不进行这一步,可能导致后面的saslauthd认证失败,这里大家请注意
       service dovecot start
然后观察端口情况 启动postfix服务后会开启25号端口,开启dovecot后会开启110号端口,大家用netstat命令查看端口情况,如果是照着我以上配置的,基本是不会出现问题的,如果有问题,大家自行查看日志文件咯。启动后,大家可以通过thunderbird等邮件客户端程序来看看您的邮件服务器是否正常运转了;
下面就是加入openmail 和sasl这些模块了
4           ##加入sasl验证模块
首先当然是安装软件了,sasl需要的软件前面都已经列出来了。接下来就是编辑配置文件了。
vi /etc/sysconfig/saslauthd

设置MECH的值为shadow 当然也可以是pam这里我设置成shadow简单些。
然后启动sasl吧
service saslauthd start
然后要告知cyrus使用的服务为saslauthd 怎么告知呢,很简单,只要编辑一下文件即可
vi /usr/lib/sasl2/smtpd.conf

这样就告知了,接着就是要在postfix中加入sasl验证功能了,我们继续编辑Postfix的配置文件,在最下面加入如下内容
#smtp
broken_sasl_auth_clients = yes
smtpd_reipient_restrictions = permit_mynetworks, permit_sasl_authenticated,
        reject_unauth_destinations
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
具体的参数这里给大家解释一下
1         broken_sasl_auth_clients 这个是针对早期非正规MUA的设置项目,如果你的MUA都是最新版,这个设置也可不要;
2         smtpd_reipient_pestrictions 最重要的就是这个了,放在第二行,参数后面的permit就是说允许 上述的意思就是说 允许mynetworks这个参数中设置的网段使用服务,获得sasl认证的使用服务,拒绝没有通过认证的使用服务
3         smtpd_sasl_auth_enable 设置是否要启动sasl认证,当然设置成Yes了
4         smtpd_sasl_security_options 要取消哪些登陆方式的意思,这里取消匿名登陆;
好了,基本的就这些,sasl认证就添加成功咯,大家可以重启 postfix 重启saslauthd然后验证一下是否起作用了,验证方法如下

吗,这两行就代表我们的sasl认证启动了,成功了。如果没有这两行数据,就是sasl没有添加成功。通过以上步骤,我们已经搭建好了一个待认证功能的Postfix邮件服务器了。

好咯,sasl认证也添加好了,下面该做什么呢。 当然是添加我们的主角 Openwebmail
5         ##安装Openwebmail
我前面说过安装openwebmail前,请确定安装了perl perl-suidperl perl-Text-Iconv这三款软件
yum  -y install perl    #这里通过yum来安装安装的版本是 5.8.8版
yum -y install perl-suidperl   #这里也通过yum来安装perl-suidperl这样就和perl配套,不至于初始化openwebmail的时候找不到 libperl.so这个库。
rpm –ivh perl-Text-Iconv-1.7-2.el5.i386.rpm
rpm –ivh openwebmail-2.51-1.i386.rpm
OK 软件安装完毕,下面就是编辑配置文件了
6         ##配置openwebmail
安装好上述软件后,会在/var/www/cgi-bin这个目录下产生我们的openwebmail的主要文件
第一步,我们先初始化我们的openwebmail 在我们的openwebmail程序文件中有个openwebmail-tool.pl 文件。这个是用perl语言写的,所以我们需要安装perl咯 转到我们的openwebmail程序目录下
cd /var/www/cgi-bin/openwebmail
ls

看到了吗,这个目录下有个openwebmail-toos.pl文件,我们就是执行它来初始化我们的openwebmail,接着我们执行这个文件
./openwebmail-tool.pl --init

划红线的地方,我们输入 n即可,然后就初始化完成咯。
接着我们需要修改我们的openwebmail的一下参数,以符合我们的系统环境,首先修改文件 vi /var/www/cgi-bin/openwebmail/etc/openwebmail.conf
首先是第12行的domainnames

这里大家根据自己的环境修改,再次是62行的语言设置

这里改成zh_CN.GB2312 好咯,这个文件就修改好了,下面再修改下一个文件
vi /var/www/cgi-bin/openwebmail/etc/defaults//dbm.conf

在此文件的最后,修改成如上所示,smtpserver 是自己加的主要用于认证用,这里的smtpserver 服务器地址,大家根据自己的地址填写,千万不要填的和我的一样哦。
接着修改 vi /var/www/cgi-bin/openwebmail/etc/defaults/openwebmail.conf

在 25行和26行修改成符合自己的环境,接着是93行,修改成自己的pop3服务器地址

下一个文件vi /var/www/cgi-bin/openwebmail/etc/defaults/auth_unix.conf 注释掉73行,添加74行的数据如下。这样就能让我们的openwebmail也能通过sasl认证了,不然开启sasl认证后,我们的openwebmail就没法发信了。这点很重要哦

好了,基本设置好了,再次初始化我们的Openwebmail吧
       ./openwebmail-tool.pl --init
下面我们开启我们的apache 然后就能测试了
       Service httpd start
至于apache的设置就不是本文的重点,大家可以自行参考相关文章,这里我们只需要简单的开启apache 即可。
好了,一切设置好了,我们可以在浏览器里输入
http://linux.dyh.com/cgi-bin/openwebmail/openwebmail-main.pl 这个来试试我们的openwebmail是否成功了那个linux.dyh.com是我自己的实验哦,大家一定要根据自己的情况填哦。

成功,呵呵。 是不是输入那一长串域名很烦人呢,当然了,谁都烦,那么我们有没有办法直接输入我们的域名 比如 linux.dyh.com就能进入登陆界面呢,答案是能 下面我们就设置一下我们的apache以满足我们的要求吧
vi /etc/httpd/conf/httpd.conf
这个文件实在太多了,我们只需要在最后加入一下内容即可

从 985行开始,注释掉以前的,加入如上的内容,服务器名称大家填写自己的哦。
然后再修改778行的数据如下,这样我们的apache就会去执行pl的文件,而不是打开它。

好了,一切顺利的话,整套邮件系统就建设好了,希望能给大家带来一点帮助
QQ 415090719 小辉
原创作品,希望大家转载时注明出处,谢谢。
http://blog.csdn.net/dengyanhui88/article/details/6500799

你可能感兴趣的:(linux+postfix+openwebmail+sasl搭建邮件服务器)