使用OpenLDAP搭建Postfix邮件系统.docx
- 文档编号:8683772
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:19
- 大小:22.59KB
使用OpenLDAP搭建Postfix邮件系统.docx
《使用OpenLDAP搭建Postfix邮件系统.docx》由会员分享,可在线阅读,更多相关《使用OpenLDAP搭建Postfix邮件系统.docx(19页珍藏版)》请在冰豆网上搜索。
使用OpenLDAP搭建Postfix邮件系统
使用OpenLDAP搭建Postfix邮件系统
一、系统环境及本文用到相关软件及下载地址
1、系统环境
Linux系统版本:
CentOSrelease5.2(Final)
内核版本:
2.6.18-92.el5
二、.卸载sendmail
#killallsendmail
#rpm-e--nodepssendmail
三、定义yum的非官方库
#vi/etc/yum.repos.d/dag.repo
[dag]
name=DagRPMRepositoryforRedHatEnterpriseLinux
baseurl=http:
//apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
gpgkey=
四、开始安装
1、增加系统相关用户:
#groupaddpostfix
#useradd-gpostfix-M-s/bin/falsepostfix
#groupaddpostdrop
#groupaddvmail-g1000
#useradd-u1000-g1000-M-s/sbin/nologin-d/dev/nullvmail
2、安装Apache、PHP(如果在安装系统的时候已经安装过了,可以不用做此步骤)
#yum-yinstallhttpdphpphp-mysqlphp-gdphp-imapphp-mbstringphp-ldap
3、安装相关依赖关系包
#yum-yinstallperl-Unix-Syslogperl-GD\
perl-Digest-SHA1perl-Digest-HMACperl-Net-IP\
perl-Net-DNSperl-Time-HiResperl-HTML-Tagset\
perl-HTML-Parserperl-libwww-perlperl-IO-stringy\
perl-IO-Multiplexperl-Net-SSLeay-1.30perl-IO-Socket-SSL\
perl-Net-Serverperl-TimeDateperl-MailTools\
perl-MIME-Base64perl-Convert-BinHexperl-MIME-tools\
perl-Convert-TNEFperl-Convert-UUlib\
perl-Compress-Zlibperl-Archive-Zipperl-IO-Zlib\
perl-Archive-Tararc-5.21ozoo-2.10unarj
4、增加LDAP服务器记录:
这两台记录其实是LDAP客户端查询LDAP服务器的记录,在客户端的设置文件中(ldap.conf)会用到这些记录,当然,你可以更改成其它任何的名称,如果所有的软件都是安装在同一台服务器上的话,IP地址可以设成127.0.0.1,我这里设置的是实际的地址.
#echo"192.168.254.162">>/etc/hosts
#echo"192.168.254.162ldap-">>/etc/hosts
5、安装OpneLDAP:
你可以通过两种方式来安装,第一种是在安装系统是自已就安装了,你如果认为它的版本太低了,可以通过YUM的方式升级一下,也可以通过源代码的方式安装,我这里是通过YUM的方式升级了一下,如果通过源代码安装的话,那后面的一些组件的安装时就需要注意一下路径了.
#yuminstallopenldap*
6、配置OpenLDAP:
配置LDAP需要用到extman中的schema文件,所以要先复制extman中的对于LDAP支持的schema文件到相应的地方.具体的操作如下:
#tarzxfextman-1.1.tar.gz
#cdextman-1.1/docs
#cp./extmail.schema/etc/openldap/schema/
#vi/etc/openldap/slapd.conf
更改以下内容:
include/etc/openldap/schema/extmail.schema
suffix"dc=otnet.org"
rootdn"cn=Manager,dc=otnet.org"
rootpw{MD5}7tjNxADf1OyF3/cKFwBmtw==#注:
这里用名文秘密的时候在初始化的时候可能会出错,建议用加密的密码。
这里的rootpw後面的是使用slappasswd生成的密码,默认是使用SSHA这个加密算法的:
可以用-h参数指定slappasswd使用其它的加密算法。
比如:
#slappasswd-h{MD5}
Newpassword:
Re-enternewpassword:
{MD5}7tjNxADf1OyF3/cKFwBmtw==
7、配置LDAP客户端文件:
这个文件的目的是为了客户端在执行查询或其它相关操作时能找到相应的服务器,如果没这个设置,可能会出现找不到LDAP这样的错误.
#vi/etc/openldap/ldap.conf
HOST127.0.0.1
BASEdc=otnet.org
URIldap:
//mail.otnet.orgldap:
//mail.otnet.org:
389
SIZELIMIT12
TIMELIMIT15
DEREFnever
8、启动LDAP:
#serviceldapstart
#cp/etc/openldap/DB_CONFIG.example/var/lib/ldap/DB_CONFIG
9、修改并导入初始化文件:
#viextman-1.1/docs/init.ldif#extman的初始化文件
将原有的extmail.org替换为otnet.org
#ldapadd-x-D"cn=Manager,dc=otnet.org"-W-fextman/docs/init.ldif
10、配置apache
编辑httpd.conf文件:
#vi/etc/httpd/conf/httpd.conf
在最后一行加上:
NameVirtualHost*:
80
Includeconf/vhost_*.conf
编辑vhost_extmail.conf
#vi/etc/httpd/conf/vhost_extmail.conf
里面定义虚拟主机的相关内容:
#VirtualHostforExtMailSolution
80> ServerNamemail.otnet.org DocumentRoot/var/www/extsuite/extmail/html/ ScriptAlias/extmail/cgi//var/www/extsuite/extmail/cgi/ Alias/extmail/var/www/extsuite/extmail/html/ ScriptAlias/extman/cgi//var/www/extsuite/extman/cgi/ Alias/extman/var/www/extsuite/extman/html/ Alias/phpldapadmin/var/www/extsuite/phpldapadmin/htdocs/ #Suexecconfig SuexecUserGroupvmailvmail
设置apache开机启动
#chkconfighttpdon
11、安装ExtMail
建立/var/www/extsuite并复制源码到该目录,相关命令:
#mkdir/var/www/extsuite
#tarzxfextmail-1.2.tar.gz
#cp-rextmail-1.2/var/www/extsuite/extmail
#cd/var/www/extsuite/extmail
#cpwebmail.cf.defaultwebmail.cf
#viwebmail.cf
主要变动的内容见下:
SYS_MYSQL_USER=extmail
SYS_MYSQL_PASS=extmail
SYS_MYSQL_DB=extmail
SYS_AUTH_TYPE=ldap
SYS_SPAM_REPORT_ON=1
SYS_DEBUG_ON=0
SYS_LDAP_PASS=ffffff
SYS_LDAP_BASE=o=extmailAccount,dc=otnet.org
SYS_LDAP_RDN=cn=Manager,dc=otnet.org
SYS_G_ABOOK_LDAP_BASE=ou=AddressBook,dc=otnet.org
SYS_G_ABOOK_LDAP_ROOTDN=cn=Manager,dc=otnet.org
SYS_SESS_DIR=/var/www/extsuite/extmail/tmp
SYS_UPLOAD_TMPDIR=/var/www/extsuite/extmail/tmp
SYS_AUTHLIB_SOCKET=/usr/local/courier-authlib/var/spool/authdaemon/socket
更新cgi目录权限由于SuEXEC的需要,必须将extmail的cgi目录修改vmail:
vmail权限:
#chown-Rvmail:
vmail/var/www/extsuite/extmail/cgi/
#mkdir/var/www/extsuite/extmail/tmp
#chown-Rvmail:
vmail/var/www/extsuite/extmail/tmp
12、安装ExtMan
#cp-rextman-1.1/var/www/extsuite/extman
#cp/var/www/extsuite/extman/webman.cf.default/var/www/extsuite/extman/webman.cf
#vi/var/www/extsuite/extman/webman.cf
SYS_SESS_DIR=/var/www/extsuite/extman/tmp
SYS_BACKEND_TYPE=ldap
SYS_LDAP_BASE=dc=otnet.org
SYS_LDAP_RDN=cn=Manager,dc=otnet.org
SYS_LDAP_PASS=ffffff
SYS_GROUPMAIL_SENDER=postmaster@otnet.org
更新cgi目录权限由于SuEXEC的需要,必须将extman的cgi目录修改成vmail:
vmail权限:
#chown-Rvmail:
vmail/var/www/extsuite/extman/cgi/
链接基本库到Extmail
#mkdir/var/www/extsuite/extman/tmp
#chown-Rvmail:
vmail/var/www/extsuite/extman/tmp
建立刚才导入mysql的postmaster@otnet.org帐户的Maildir,请输入如下命令:
#cd/var/www/extsuite/extman/tools
#./maildirmake.pl/home/domains/otnet.org/postmaster/Maildir
#chown-Rvmail:
vmail/home/domains
设置虚拟域和虚拟用户的配置文件
#cd/var/www/extsuite/extman/docs
#cpldap_virtual_alias_maps.cf/etc/postfix/
#cpldap_virtual_domains_maps.cf/etc/postfix/
#cpldap_virtual_mailbox_maps.cf/etc/postfix/
#cpldap_virtual_sender_maps.cf/etc/postfix/
#vi/etc.postfix/ldap_virtual_alias_maps.cf
更改文件extmail.org为otnet.org,其它几个文件一样,这里以些文件为例:
search_base=o=extmailAlias,dc=otnet.org
13、安装BerkeleyDB:
#tarzxfdb-5.1.19.NC.tar.gz
#cddb-5.1.19.NC
#./dist/configure--prefix=/usr/local/BerkeleyDB
#make
#makeinstall
#mv/usr/include/db4/usr/include/db4.off
#rm-rf/usr/include/db_cxx.h
#rm-rf/usr/include/db.h
#rm-rf/usr/include/db_185.h
#ln-sv/usr/local/BerkeleyDB/include/usr/include/db4
#ln-sv/usr/local/BerkeleyDB/include/db.h/usr/include/db.h
#ln-sv/usr/local/BerkeleyDB/include/db_cxx.h/usr/include/db_cxx.h
#echo"/usr/local/BerkeleyDB/lib">>/etc/ld.so.conf
#ldconfig
14、安装CouerieAuthlib:
#wget
#tarjxfcourier-authlib-0.63.0.tar.bz2
#cdcourier-authlib-0.63.0
#./configure\
--prefix=/usr/local/courier-authlib\
--sysconfdir=/etc\
--with-authldaprc=/etc/authlib/authldaprc\
--with-mailuser=vmail\
--with-mailgroup=vmail\
--without-stdheaderdir\
--without-authuserdb\
--without-authpam\
--without-authmysql\
--without-authpwd\
--without-authshadow\
--without-authvchkpw\
--without-authpgsql\
--without-authcustom\
--with-redhat
#make
#makeinstall
#makeinstall-configure
#echo"/usr/local/courier-authlib/lib/courier-authlib">>/etc/ld.so.conf#make
#ldconfig
#cpcourier-authlib.sysvinit/etc/init.d/courier-authlib
#chmod755/etc/init.d/courier-authlib
#chkconfig--addcourier-authlib
#chkconfig--level2345courier-authlibon
#servicecourier-authlibstart
#chmod+x/usr/local/courier-authlib/var/spool/authdaemon/
15、设置配置文件authdaemonrc:
#vi/etc/authlib/authdaemonrc
authmodulelist="authldap"
authmodulelistorig="authldap"
authdaemonvar=/usr/local/courier-authlib/var/spool/authdaemon
DEFAULTOPTIONS="wbnodsn=1"
16、配置authldaprc:
#vi/etc/authlib/authldaprc
清空内容,并输入下面内容:
LDAP_URIldap:
//127.0.0.1:
389
LDAP_PROTOCOL_VERSION3
LDAP_BASEDNo=extmailAccount,dc=otnet.org
LDAP_BINDDNcn=Manager,dc=otnet.org
LDAP_BINDPW{MD5}7tjNxADf1OyF3/cKFwBmtw==
LDAP_TIMEOUT5
LDAP_MAILmail
LDAP_FILTER(&(objectClass=extmailUser)(active=1))
LDAP_HOMEDIRhomeDirectory
LDAP_MAILROOT/home/domains
LDAP_MAILDIRmailmessageStore
LDAP_MAILDIRQUOTAquota
LDAP_CRYPTPWuserPassword
LDAP_UIDuidNumber
LDAP_GIDgidNumber
LDAP_AUXOPTIONSdisablesmtpd=disablesmtpd,disablesmtp=disablesmtp,disablewebmail=disablewebmail,disablenetdisk=disablenetdisk,disableimap=disableimap,disablepop3=disablepop3
LDAP_DEREFnever
LDAP_TLS0
LDAP_DOMAINotnet.org
17、安装cyrus-sasl
#mv/usr/lib/sasl2/usr/lib/sasl2.OFF
#wgetftp:
//ftp.andrew.cmu.edu/pub/cyrus-mail/cyrus-sasl-2.1.23.tar.gz
#tarzxfcyrus-sasl-2.1.23.tar.gz
#cdcyrus-sasl-2.1.23
#./configure--prefix=/usr--sysconfdir=/etc\
--disable-anon-enable-plain--enable-login\
--enable-ldapdb–with-ldap\
--with-authdaemond=/usr/local/courier-authlib/var/spool/authdaemon/socket
#make
#makeinstall
18、配置SASL文件
#vi/usr/lib/sasl2/smtpd.conf
确保其内容为:
pwcheck_method:
authdaemond
log_level:
3
mech_list:
PLAINLOGIN
authdaemond_path:
/usr/local/courier-authlib/var/spool/authdaemon/socket
19、安装Postfix:
#wget
#tarzxfpostfix-2.6.8.tar.gz
#cdpostfix-2.6.8
#maketidy
#makemakefiles"CCARGS=-DHAS_LDAP-I/usr/include-DUSE_SASL_AUTH-DUSE_CYRUS_SASL\
-I/usr/include/sasl-I/usr/local/BerkeleyDB/include-DUSE_TLS-I-DUSE_TLS\
-I/usr/include/openssl"\
"AUXLIBS=-L/usr/lib-lldap-llber-L/usr/lib-lsasl2\
-L/usr/local/BerkeleyDB/lib-L/usr/lib-lssl-lcrypto"
#make
#makeinstall
按照以下的提示输入相关的路径([]号中的是缺省值,”]”后的是输入值)
install_root:
[/]
tempdir:
[/opt/postfix-2.6.8]/tmp
config_directory:
[/etc/postfix]
command_directory:
[/usr/sbin]
daemon_directory:
[/usr/libexec/postfix]
data_directory:
[/var/lib/postfix]
html_directory:
[no]
mail_owner:
[postfix]
mailq_path:
[/usr/bin/mailq]
manpage_directory:
[/usr/local/man]
newaliases_path:
[/usr/bin/newaliases]
queue_directory:
[/var/spool/postfix]
readme_directory:
[no]
sendmail_path:
[/usr/sbin/sendmail]
setgid_group:
[postdrop]
#newaliases
20、安装maildrop
将courier-authlib的头文件及库文件链接至/usr目录(编译maildrop时会到此目录下找此些
相关的文件):
#ln-s/usr/local/courier-authlib/bin/courierauthconfig/usr/bin/courierauthconfig
#ln-s/usr/local/courier-authlib/include/*/usr/include
maildrop需要pcre的支持,因此,接下来将首先安装pcre
#wget
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 OpenLDAP 搭建 Postfix 邮件系统