postfix+dovecot+mysql+extmail+courierauthlib文档格式.docx
- 文档编号:18441122
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:24
- 大小:507.61KB
postfix+dovecot+mysql+extmail+courierauthlib文档格式.docx
《postfix+dovecot+mysql+extmail+courierauthlib文档格式.docx》由会员分享,可在线阅读,更多相关《postfix+dovecot+mysql+extmail+courierauthlib文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
第三步:
安装postfix首先要申明的是,我们的CentOS和RHEL光盘中自带的Postfix默认是不支持mysql的。
那么怎么办呢,可以采用源码编译安装,在编译的时候加入mysql。
也可以采用src.rpm包的方式安装,但是在安装这个src,rpm包时要修改它的默认参数,然后重新编译即可。
下面采用src.rpm的方法来重新编译安装postfix让它支持mysql。
下载postfix-2.3.3-2.src.rpm包,如果大家找不到,可以找我要。
然后安装它
直接安装可能会出现上述出错画面,缺少/usr/src/redhat/SOURCES这个目录,解决的办法就是建立这个目录即可。
建立好目录后,就能顺利安装了。
就出现下面的画面了。
安装好后,我们需要修改参数,然后重新编译,具体如下
然后是编辑那个postfix.spec文件
vipostfix.spec
出现这个画面,我们只需要把第二行的MYSQL后面的0改成1即可然后保存退出。
下面就是开始重新编译了,使用命令rpmbuild–bapostfix.spec注意您当前所处的路劲哦,不然会找不到文件。
在使用上述命令时,请确认你的系统安装了rpm-build这个软件包,不然会报错哦
呵呵,我就没有安装。
没关系,系统的光盘里面就有,我们直接安装即可,不用到网上去费力的找了。
安装好rpm-build后,我们就可以使用rpmbuild–bapostfix.spec这个命令来编译postfix了,可是还是报错,还有没有安装的软件包
大家不用急,这些软件包我们的系统光盘中都有的,大家照着去直接到系统光盘中寻找安装就好了,我就不操作了,我直接安装咯。
这里需要说明的是,大家如果都直接到光盘中去寻找那些软件包,安装的时候又可能遇到依赖性问题,所以我的方法是采用yum机制,将我的光盘设置成yum软件源具体的yum配置,趁我们的编译过程这段时间给大家给出来咯,这样安装就很快速很方便了。
RHEL5.4将光盘作为yum源的配置
首先大家挂载光盘到/mnt/cdrom这个目录下。
没有这个目录的自己建立;
第二步,修改yum配置文件
我已经给我的配置文件做好了备份,以免出现问题,这个可是个好习惯哦。
我那个rhel-debuginfo.repo.back1是我采用国内的一个站点的软件库作为我的网上yum下载源。
免费的哦。
Redhat官方的要收费,我们无法使用。
好了,废话不多说。
我直接给出我的配置文件即可,先给我们的配置文件做个备份,然后清空它,写入以下配置脚本。
[Cluster]
name=RedHatEnterpriseLinux$releasever-$basearch-Cluster
baseurl=file:
///mnt/cdrom/Cluster
enabled=1
gpgcheck=1
gpgkey=file:
///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[ClusterStorage]
name=RedHatEnterpriseLinux$releasever-$basearch-ClusterStorage
///mnt/cdrom/ClusterStorage
[Server]
name=RedHatEnterpriseLinux$releasever-$basearch-Server
///mnt/cdrom/Server
[VT]
name=RedHatEnterpriseLinux$releasever-$basearch-VT
///mnt/cdrom/VT
好了,将光盘作为yum源的方法已经给大家讲了,也配置好了,前面需要安装的软件,大家就能直接通过yum安装了,真是又快又方便。
我们的编译postfix也差不多了。
我们就回到我们的主题吧。
编译好之后,我们就需要安装编译好的,支持mysql的postfix了
编译好之后,我们的redhat目录以下就多出了好几个目录,呵呵。
大家照着我的操作,进入/usr/src/redhat/RPMS/i386/这个目录后,就能看到编译好的支持mysql的postfix的rpm包了。
我们要安装的就是它。
这里要说明的是,我们安装好系统后,系统默认是安装的sendmail邮件服务器,而我们需要的是postfix这里大家一定要先安装好postfix后再去卸载掉sendmail,不能先卸载sendmail再安装postfix这样会出错。
还有一点,如果大家在安装好系统后,已经安装了系统自带的postfix,而且已经卸载掉了sendmail那么在这里安装这个postfix的时候,会出现冲突,而无法安装,解决的办法是先重新安装sendmail,然后卸载掉系统自带的那个postfix,再安装这里的postfix,再卸载掉sendmail就能完美的解决这冲突问题了。
而且建议大家只用其中一个,不要两个都装上。
好了,我们直接安装即可。
然后卸载掉sendmail
呵呵,讲了这么多,终于把postfix安装好了,真是麻烦啊,我们看看它支持mysql吗
呵呵,终于成功了,支持mysql了
下面开始安装dovecot这是一个收信协议软件,后起之秀,支持很多功能,支持pop3,支持imap功能很多,相对于使用courier-imap我更喜欢用dovecot。
好了,系统光盘里面是自带有dovecot的我们yum安装即可。
终于到了配置的时候了,第一配置我们的postfix
先做好基本配置
cp/etc/postfix/main.cf/etc/postfix/main.cf.back
vi/etc/postfix/main.cf
呵呵,这个文件的内容实在有点多,大家可以只更改其中的关键地方以满足自己的系统环境,其他的保持默认即可。
关键的地方,小辉这里给大家罗列出来,注意配置文件的参数两边都要加个空格,即等号两边都有空格。
1myhostname=这个参数在69行左右,大家更改成自己的主机名即可;
2mydomain=这个参数就是我们的域名我这里当然就是咯;
77行;
3myorigin=$myhostname这个是设置邮件表头上面的mailfrom地址的,大家用默认即可,即取消前面的那个#注释大概在92行;
4inet_interfaces=all这个就是设置我们的邮件服务器监听所有的端口,在107行;
5mydestination=$myhostname,localhost.$mydomain,localhost,$mydomain,
mail.$mydomain,www.$mydomain,ftp.$mydomain
这个就重要了,就是mailto的地址了,您的主机能够接收的信件中,mailto写的主机名称需要在这个设置中出现才行,即你的所有主机名,包括别名都要写在这里,在158行和159行;
6mynetworks=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功能的咯。
下面编辑它的配置文件
cp/etc/dovecot.conf/etc/dovecot.conf.back
vi/etc/dovecot.conf
Dovecot的配置文件也是老长了,这里我们需要的也就是我划红线的地方在20行和21行,21行那个默认是没有的,大家照着我的自己加上listen=*即可;
即监听所有的端口;
好了dovecot也配置好了,我们的基础就配置好了,大家完全可以通过客户端软件进行收发邮件了。
呵呵。
当然,前提是大家要启动它们咯
servicepostfixstart
servicedovecotstart
启动之后,大家肯定迫不及待的想用telnet验证一下吧。
呵呵,很遗憾,验证会失败。
因为我们的postfix还没有加入任何认证,无论是hash还是mysql都没有,所以验证会失败
会出现下面的画面,一直卡在那里,就是因为我们没有给postfix加入验证。
OK下面我们就来给我们的postfix加入mysql。
我们直接进入extmail的配置,因为配置extmail是就会给我们的postfix加入mysql的认证。
下面我们就进入extmail的配置阶段吧
下载extmail-solution包,大家可以到http:
//www.extmail.org/上去下载,这个软件包,包括了extmail所需要的一切软件,也包括了extman的软件。
很齐全。
我把我的extmail-solution放在了/public中,并且改名为extmail这样方便操作。
好了,下面我们就开始安装extmail所需要的软件,和配置extmail吧
先安装Apache服务器
yum–yinstallhttpd
yum–yinstallmysql-sever
yum–yinstallphp
yum–yinstallphp-devel
yum–yinstallphp-mysql
因为考虑到可能要支持php功能,所以我们把php的相关组件一块安装上吧。
所需要的软件都准备的差不多了,下面开始详细的讲解和配置extmail所需要的相关组件。
第一:
在postfix中加入虚拟邮箱设置:
这里简要讲解一下什么是虚拟邮箱,邮箱登陆账户可以是我们真是主机上的用户,但是这样我们就要为每一个邮箱账户在真是主机上建立一个登录账户吗?
这样做是相当不可取的。
也没有那个管理员会这样做吧。
那就产生了虚拟邮箱的概念,我们的虚拟邮箱中可以提供虚拟账户,这个虚拟账户不能登陆我们的主机,但是可以登陆邮箱,这样就方便多了,安全多了。
而且虚拟邮箱还可以通过mysql或者LADP等认证数据库来提供认证。
这里大家明白虚拟邮箱就是一个专门提供给我们的邮件服务器的账户,域名等,可以通过数据库来提供验证数据的。
好了,下面我们开始设置吧
在最下面加入以下设置
第一个virtual_alias_maps是设置我们的虚拟邮箱的别名的,后面的mysql:
表示是通过mysql数据库来提供验证的,也就是说我们的别名数据是放在mysql数据库中的,再后面的那个/etc/postfix….等是说我们的虚拟别名配置文件就是后面的那个文件,一会儿我们就要编辑这个文件,当然这个文件事先是不存在的,我们要自己建立。
第二个virtual_mailbox_domains表示我们的虚拟邮箱可以接受哪些域。
当然这些信息也是放在我们的mysql中的
第三个virtual_mailbox_maps:
表示我们的虚拟邮箱可以接受哪些账户,就是我们的邮箱登陆账户咯,也是放在mysql数据库中的。
后面的是它的设置文件
最后一个是和maildrop有关的,表示我们的邮件分发交给maildrop来做,因为maildrop是个垃圾邮件过滤软件,所以我们通过它来分发邮件就能起到过滤掉一些垃圾邮件的目的。
接下来我们当然就是编辑虚拟邮箱的那些配置文件咯
vi/etc/postfix/mysql_virtual_alias_maps.cf
内容如下:
user=extmail
password=extmail
hosts=localhost
dbname=extmail
table=alias
select_field=goto
where_field=address
这里给大家稍微解释一下,第一个user表示我们的数据库使用用户名,这里是要根据我们的真实数据库来设置的,这里采用extmail是因为我们后面直接采用导入extmail已经设置好的数据库来的,它内建的数据库名称就是extmail使用账户是extmail密码是extmail
这样我们就不用自己去添加数据库,添加表,添加字段了,如果大家不想使用extmail自带的数据库模板,也可以自己手动建立数据库。
这里就要做修改咯,我比较懒,就直接使用extmail自带的数据库模板吧。
vi/etc/postfix/mysql_virtual_domains_maps.cf
table=domain
select_field=description
where_field=domain
#additional_conditions=andbackupmx='
0'
andactive='
1'
解释同上
vi/etc/postfix/mysql_virtual_mailbox_maps.c
table=mailbox
select_field=maildir
where_field=username
#additional_conditions=andactive='
好了,建立了我们的虚拟邮箱了,也做好了相应的配置了。
下面就该添加courier-authlib模块咯
Courier-authlib是一个数据认证库,是maildrop的关键组件,这里要使用maildrop就必须要安装这个东东
我们转到我们的extmail软件包所在目录,那个软件包里面什么都有,包括courier-authlib
cd/public/extmail/RPMS
rpm–ivhlibtool-libs-1.5.**.EL4.2.i386.rpm
rpm-ivhcourier-authlib-0.60.2-1ext.i386.rpm
rpm-ivhcourier-authlib-devel-0.60.2-1ext.i386.rpm
rpm-ivhcourier-authlib-mysql-0.60.2-1ext.i386.rpm
安装最后一个软件包的时候,会有依赖性问题
第一个需要安装openssl097a-0.9.7a-9.el5_4.2.i386.rpm
我们从网上下载这个软件包,然后安装
rpm–ivhopenssl097a-0.9.7a-9.el5_4.2.i386.rpm
后面的缺少的库文件,需要安装mysqlclient14-4.1.22-1.el4s1.1.i386.rpm
我们也从网上下载后,安装即可
rpm–ivhmysqlclient14-4.1.22-1.el4s1.1.i386.rpm
然后就能顺利安装courier-authlib-mysql了
安装好了courier-authlib我们就要配置它了,它的配置文件是/etc/authlib/authmysqlrc
cp/etc/authlib/authmysqlrc/etc/authlib/authmysqlrc.back
把这个文件内容清空然后写入以下内容
MYSQL_SERVERlocalhost
MYSQL_USERNAMEextmail
MYSQL_PASSWORDextmail
MYSQL_SOCKET/var/lib/mysql/mysql.sock
MYSQL_PORT3306
MYSQL_OPT0
MYSQL_DATABASEextmail
MYSQL_USER_TABLEmailbox
MYSQL_CRYPT_PWFIELDpassword
MYSQL_UID_FIELDuidnumber
MYSQL_GID_FIELDgidnumber
MYSQL_LOGIN_FIELDusername
MYSQL_HOME_FIELDhomedir
MYSQL_NAME_FIELDname
MYSQL_MAILDIR_FIELDmaildir
MYSQL_QUOTA_FIELDquota
MYSQL_SELECT_CLAUSESELECTusername,password,"
"
uidnumber,gidnumber,\
CONCAT('
/home/domains/'
homedir),\
maildir),\
quota,\
name\
FROMmailbox\
WHEREusername='
$(local_part)@$(domain)'
有关数据库的我就直接使用了默认值,大家可根据自己的环境修改。
然后就是启动courier-authlib咯
正常的话,启动就应该出现以上画面了,说明我们的courier-authlib开始工作了,下面还要修改authdaemonsocket目录权限,如果该目录权限不正确修改,maildrop及postfix等将无法正确获取用户的信息及密码认证
chmod755/var/spool/authdaemon/
修改好权限之后,就是安装我们的maildrop了,maildrop软件包也是在我们的那个extmail的RPMS目录下,真是个百宝箱啊
rpm-ivhmaildrop-2.0.4-1ext.i386.rpm
rpm-ivhmaildrop-man-2.0.4-1ext.i386.rpm
这两个就是我们的maildrop软件了。
安装好后,还需要我们的postfix支持才行
为了使Postfix支持Maildrop,必须修改/etc/postfix/master.cf文件,注释掉原来的maildrop的配置内容,大概在57行左右。
并添加:
maildropunix-nn--pipe
flags=DRhuuser=vuserargv=maildrop-w90-d${user}@${nexthop}${recipient}${user}${extension}{nexthop}
由于maildrop不支持一次接收多个收件人,因此必须在main.cf里增加如下参数:
maildrop_destination_recipient_limit=1
修改之后的postfix主配置文件如上图
重启postfix
注意:
maildropRPM包安装时,会自动创建vuser用户及vgroup用户组,专门用于邮件的存储,vuser:
vgroup的uid/gid都是1000,这与一般的邮件文档中提及用postfix用户存邮件不一样。
因为postfix用户的uid一般都低于500,而Suexec模块编译时对UID/GID的要求是要大于500,因此使用postfix用户不能满足要求。
其次,如果用Maildrop作为投递代理(MDA),以postfix身份投递的话,会导致postfixMTA错误。
下面配置APACHE服务器,因为我们的虚拟邮箱需要在apache服务器中设置虚拟主机,这里修改几个参数即可
265行的ServerName:
80改成自己的主机名;
210行的Includeconf.d/*.conf这个参数大家要注意一下,是说,我们在/etc/httpd/conf.d/这个目录下的设置文件会加入到我们的/etc/httpd/conf/httpd.conf这个设置文件中来,Apache在启动后会去读取这个目录下的设置文件,并运行它们。
所以我们的虚拟机设置文件就放到这个目录下咯。
方便。
747行的#AddDefaultCharsetUTF-8将它注释掉,不然会和extmai
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- postfix dovecot mysql extmail courierauthlib
链接地址:https://www.bdocx.com/doc/18441122.html