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

 

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

                                                                                                                                                                            做者  邓彦辉php

首先本文力求简洁易懂,具备可操做性,让你们跟着个人步骤一步一步的就能实现是我撰写本文的目的,呵呵,废话很少说了。下面开始
一 ##所需软件
首先介绍须要使用哪些软件
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邮件服务器了。linux

好咯,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服务器地址web

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

好了,基本设置好了,再次初始化咱们的Openwebmail吧
       ./openwebmail-tool.pl --init
下面咱们开启咱们的apache 而后就能测试了
       Service httpd start
至于apache的设置就不是本文的重点,你们能够自行参考相关文章,这里咱们只须要简单的开启apache 便可。
好了,一切设置好了,咱们能够在浏览器里输入

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

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

好了,一切顺利的话,整套邮件系统就建设好了,但愿能给你们带来一点帮助
QQ 415090719 小辉
原创做品,但愿你们转载时注明出处,谢谢。