主目录http://407711169.blog.51cto.com/6616996/1439944


其实如果不是对ldap各种参数要求都十分严格的情况下,比较建议采用yum的方式安装。因为相关依赖环境,功能都十分全面。对于初学者,强烈建议第一次使用yum来安装。


环境:cent os 6.3


一、准备环境

确保防火墙与selinux是否都为关闭,如果防火墙必须开启的情况下可做如下配置:

vim/etc/sysconfig/iptables*filter:INPUTACCEPT[0:0]:FORWARDACCEPT[0:0]:OUTPUTACCEPT[0:0]-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT-AINPUT-picmp-jACCEPT-AINPUT-ilo-jACCEPT-AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT-AINPUT-mstate--stateNEW-mtcp-ptcp--dport389-jACCEPT-s192.168.0.0/16-AINPUT-mstate--stateNEW-mtcp-ptcp--dport636-jACCEPT-s192.168.0.0/16-AINPUT-jREJECT--reject-withicmp-host-prohibited-AFORWARD-jREJECT--reject-withicmp-host-prohibitedCOMMIT

重新加载后如下:iptables-LACCEPTtcp--anywhereanywherestateNEWtcpdpt:sshACCEPTtcp--anywhereanywherestateNEWtcpdpt:httpACCEPTtcp--192.168.0.0/16anywherestateNEWtcpdpt:ldapACCEPTtcp--192.168.0.0/16anywherestateNEWtcpdpt:ldaps


二、安装,配置OPENLDAP

yuminstall-yopenldap-serversopenldap-clients


创建日志相关

mkdir/var/log/slapdchmod755/var/log/slapd/chownldap:ldap/var/log/slapd/sed-i"/local4.*/d"/etc/rsyslog.confcat>>/etc/rsyslog.conf<<EOFlocal4.*/var/log/slapd/slapd.logEOFservicersyslogrestart


三、创建证书

cd/etc/pki/tls/certsmakeslapd.pem下面是一个例子:

这个时候,你可以运行openssl x509 -in slapd.pem -noout -text 去观察证书情况

chmod640slapd.pemchown:ldapslapd.pemln-s/etc/pki/tls/certs/slapd.pem/etc/openldap/certs/slapd.pem


配置管理员密码

slappasswdNewpassword:******Re-enternewpassword:******{SSHA}WMz+mLF6bG9hshSe/zVEN2BdVEqmiAfs


四、配置ldap相关配置文件


cp/usr/share/openldap-servers/slapd.conf.obsolete/etc/openldap/slapd.confcp/usr/share/openldap-servers/DB_CONFIG.example/var/lib/ldap/DB_CONFIG


更改相关配置文件

vim/etc/openldap/slapd.conf1、更改所有dc=my-domain为你的domain2、替换掉证书位子TLSCACertificateFile/etc/pki/tls/certs/ca-bundle.crtTLSCertificateFile/etc/pki/tls/certs/slapd.pemTLSCertificateKeyFile/etc/pki/tls/certs/slapd.pem3、替换掉管理员密码#rootpwsecret#rootpw{crypt}ijFYNcSNctBYgrootpw{SSHA}WMz+mLF6bG9hshSe/zVEN2BdVEqmiAfs

更改配置文件以开启SSL认证

vim/etc/sysconfig/ldapSLAPD_LDAPS=yes


更新ldap配置文件

vim/etc/openldap/ldap.conf##“dc=my-domain,dc=com”需要你做相同的配置(更改domain)BASEdc=shuyun,dc=comURIldap://localhostTLS_REQCERTnever


创建初始化数据

vim/root/root.ldif##“dc=my-domain,dc=com”需要你做相同的配置(更改domain)##startdn:dc=my-domain,dc=comdc:my-domainobjectClass:dcObjectobjectClass:organizationalUnitou:my-domain.comdn:ou=people,dc=my-domain,dc=comou:peopleobjectClass:organizationalUnitdn:ou=groups,dc=my-domain,dc=comou:groupsobjectClass:organizationalUnit##end

rm-rf/etc/openldap/slapd.d/*slapadd-v-n2-l/root/root.ldif

chown-Rldap:ldap/var/lib/ldapchown-Rldap:ldap/etc/openldap/slapd.d

测试配置初始化

rm-rf/etc/openldap/slapd.d/*slaptest-f/etc/openldap/slapd.conf-F/etc/openldap/slapd.dchown-Rldap:ldap/etc/openldap/slapd.d

开机启动项

chkconfig--level235slapdonserviceslapdstart


测试LDAP情况:

ldapsearch-x-ZZ-hlocalhost##ps:-ZZ为启动加密认证,由于证书是自签问题,所以会报错(大致是未通过验证的证书之类的信息):ldap_start_tls:Connecterror(-11)additionalinfo:TLSerror-8172:Peer'scertificateissuerhasbeenmarkedasnottrustedbytheuser.ldapsearch-x-Hldaps://localhost

search结果如下:

#extendedLDIF##LDAPv3#base<dc=my-domain,dc=com>(default)withscopesubtree#filter:(objectclass=*)#requesting:ALL##my-domain.comdn:dc=my-domain,dc=comdc:my-domainobjectClass:dcObjectobjectClass:organizationalUnitou:my-domain.com#people,my-domain.comdn:ou=people,dc=my-domain,dc=comou:peopleobjectClass:organizationalUnit#groups,my-domain.comdn:ou=groups,dc=my-domain,dc=comou:groupsobjectClass:organizationalUnit#searchresultsearch:3result:0Success#numResponses:4#numEntries:3

配置主机别名

vim/etc/nsswitch.confhosts:ldapfilesdns




安装phpldapadmin

添加epel源

rpm-ivhhttp://mirrors.ukfast.co.uk/sites/dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

安装phpLDAPadmin

yuminstall-yphpldapadminAllowaccessfromyournetwork


配置Apache's phpLDAPadmin的配置文件

vim/etc/httpd/conf.d/phpldapadmin.conf(自动创建)OrderDeny,AllowDenyfromallAllowfrom127.0.0.1Allowfrom::1Allowfrom192.168.0#ps需要对此进行相关配置操作


禁用自动登录

vim/etc/phpldapadmin/config.php#(line398)//$servers->setValue('login','attr','uid');


开启Apache服务器

servicehttpdrestart


访问相关:

http://webserver/ldapadmin用户名:cn=Manager,dc=my-domain,dc=com密码:你使用sldappass生成的密码


可以进行操作来观察tail -f /var/log/slapd/slapd.log日志。然后还有另外一种ldap web管理工具。


其中数据已经添加过。再此不做演示。



安装ldap-lam


此为何ldapLDAPadmin相似的管理端工具,我们在此处只做简单演示:

下载ldap-account-manager-4.6.RC1.tar.bz2包,我会附件上传http://down.51cto.com/data/1570624

cd /usr/local/src

tar xf ldap-account-manager-4.6.RC1.tar.bz2

mvldap-account-manager-4.6.RC1 /usr/local/src/lam


然后在之前的/etc/phpldapadmin/config.php中增加一行

vim /etc/httpd/conf.d/phpldapadmin.conf

Alias /lam /usr/local/src/lam


PS:需要修改/usr/local/src/lam/config/ 下config.cfg 和lam.conf 里面的信息

以及需要把/usr/local/src/lam/ 下的sess 与tmp 权限改为777


然后即可web端访问

用户名:Manager密码同上


lam其实会默认带有一些默认的配置结构,当你第一次访问的时候,提示你是否初始化那些数据。也就是和界面上的users,groups等对照。

其实对于初学者来说lam比phpLDAPadmin更容易接受。

但是如果理清楚ldap相关的结构概念,会发现树形结构配置看起来令人明了。

ldap相关结构概念(结构树最重要):http://407711169.blog.51cto.com/6616996/1439623