CentOS7下搭建OpenLDAP服务器_php

LDAP 是一款轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP),LDAP轻量目录访问协议为用户管理提供了统一认证服务,解决了长期存在的多套用户认证系统孤立、繁杂、难以维护的问题。具有简捷、高效、易用的特性,是用户认证管理的不二选择,OpenLDAP属于开源集中账号管理架构的实现


下面介绍在CentOS7下搭建OpenLDAP服务器,环境如下

1)CentOS7 Linux服务器一台 IP:192.168.31.200 搭建OpenLDAP服务器,需要部署的LDAP域信息为walkingcloud.cn2)CentOS7 Linux服务器一台 IP:192.168.31.76  作为OpenLDAP的客户端机器用于验证管理账户信息:dn:cn=Manager,dc=walkingcloud,dc=cn1、 yum方式安装OpenLDAP服务yum -y install openldap-servers openldap-clients CentOS7下搭建OpenLDAP服务器_客户端_022、拷贝数据库配置配置文件,并启动服务cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap. /var/lib/ldap/DB_CONFIG systemctl start slapd systemctl enable slapdCentOS7下搭建OpenLDAP服务器_客户端_033、slappasswd生成OpenLDAP管理员密码1)使用slappasswd命令设置OpenLDAP管理员密码,并记录下2)vi chrootpw.ldif dn: olcDatabase={0}config,cn=configchangetype: modifyadd: olcRootPWolcRootPW: {SSHA}TNFs8yAo1VQ82uMAzK+1o8Q2XRgznBMb#指定上面slappasswd命令生成的密码串

3)ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldifCentOS7下搭建OpenLDAP服务器_php_04

4、导入基本的模式

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldifldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif CentOS7下搭建OpenLDAP服务器_客户端_05

5、在OpenLDAP DB上配置域信息1)slappasswd 生成管理员的密码2)vi chdomain.ldif dn: olcDatabase={1}monitor,cn=configchangetype: modifyreplace: olcAccessolcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"  read by dn.base="cn=Manager,dc=walkingcloud,dc=cn" read by * none


dn: olcDatabase={2}hdb,cn=configchangetype: modifyreplace: olcSuffixolcSuffix: dc=walkingcloud,dc=cn


dn: olcDatabase={2}hdb,cn=configchangetype: modifyreplace: olcRootDNolcRootDN: cn=Manager,dc=walkingcloud,dc=cn


dn: olcDatabase={2}hdb,cn=configchangetype: modifyadd: olcRootPWolcRootPW: {SSHA}XnSjDW+kj37E6TdwwkUw1P32ezGkkYPr


dn: olcDatabase={2}hdb,cn=configchangetype: modifyadd: olcAccessolcAccess: {0}to attrs=userPassword,shadowLastChange by  dn="cn=Manager,dc=walkingcloud,dc=cn" write by anonymous auth by self write by * noneolcAccess: {1}to dn.base="" by * readolcAccess: {2}to * by dn="cn=Manager,dc=walkingcloud,dc=cn" write by * readCentOS7下搭建OpenLDAP服务器_centos_06

3)ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif CentOS7下搭建OpenLDAP服务器_centos_07

4)vi basedomain.ldifdn: dc=walkingcloud,dc=cnobjectClass: topobjectClass: dcObjectobjectclass: organizationo: Walking Clouddc: walkingcloud

dn: cn=Manager,dc=walkingcloud,dc=cnobjectClass: organizationalRolecn: Managerdescription: Directory Manager

dn: ou=People,dc=walkingcloud,dc=cnobjectClass: organizationalUnitou: People

dn: ou=Group,dc=walkingcloud,dc=cnobjectClass: organizationalUnitou: Group
5)ldapadd -x -D cn=Manager,dc=walkingcloud,dc=cn -W -f basedomain.ldif这时输入Manager的密码CentOS7下搭建OpenLDAP服务器_centos_086、添加一个用户

1)slappasswd New password: Re-enter new password: {SSHA}R8l3FCSfEHN4vrFnTsGc9EOib71HPSN42)vi ldapuser.ldif dn: uid=yuanfan,ou=People,dc=walkingcloud,dc=cnobjectClass: inetOrgPersonobjectClass: posixAccountobjectClass: shadowAccountcn: yuanfansn: LinuxuserPassword: {SSHA}R8l3FCSfEHN4vrFnTsGc9EOib71HPSN4loginShell: /bin/bashuidNumber: 1000gidNumber: 1000homeDirectory: /home/yuanfan

dn: cn=yuanfan,ou=Group,dc=walkingcloud,dc=cnobjectClass: posixGroupcn: yuanfangidNumber: 1000memberUid: yuanfan3)ldapadd -x -D cn=Manager,dc=walkingcloud,dc=cn -W -f ldapuser.ldif 输入管理员的密码

CentOS7下搭建OpenLDAP服务器_centos_097、OpenLDAP 客户端配置

1)yum -y install openldap-clients nss-pam-ldapd CentOS7下搭建OpenLDAP服务器_php_10

2)authconfig --enableldap --enableldapauth --ldapserver=192.168.31.200 --ldapbasedn="dc=walkingcloud,dc=cn" --enablemkhomedir --updateCentOS7下搭建OpenLDAP服务器_centos_113)接下来用上面创建的LDAP用户登录

CentOS7下搭建OpenLDAP服务器_php_12输入openLDAP用户的密码,可以正常登录CentOS7下搭建OpenLDAP服务器_客户端_138、安装phpLDAPadmin实现通过Web管理LDAP服务1)yum install -y httpd2)mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf_bak3) vi /etc/httpd/conf/httpd.conf 95行下面加一行

     95 #ServerName www.example.com:80     96 ServerName www.walkingcloud.cn在151行处改为

     AllowOverride All164行处改为     DirectoryIndex index.html index.php index.cgi 在最下面添加如下两行ServerTokens ProdKeepAlive On4)systemctl start httpdsystemctl enable httpd.serviceCentOS7下搭建OpenLDAP服务器_centos_146) 安装phpyum install php php-mbstring php-pearsystemctl restart httpd7) yum --enablerepo=epel -y install phpldapadmin8)vi /etc/phpldapadmin/config.php397行取消注释,398行注释掉$servers->setValue('login','attr','dn');//$servers->setValue('login','attr','uid');CentOS7下搭建OpenLDAP服务器_centos_159)vi /etc/httpd/conf.d/phpldapadmin.conf 12行处添加访问的网段信息,例如192.168.31.0/24Require ip 192.168.31.0/24然后重启httpd服务CentOS7下搭建OpenLDAP服务器_php_1610)验证phpldapadmin是否可以打开CentOS7下搭建OpenLDAP服务器_客户端_1711)用管理员账号进行登录

cn=Manager,dc=walkingcloud,dc=cnCentOS7下搭建OpenLDAP服务器_centos_18可以看到之前添加的一个账户yuanfan

CentOS7下搭建OpenLDAP服务器_centos_199、LDAPadmin客户端工具

Ldap Admin是用于LDAP目录管理的免费Windows LDAP客户端和管理工具。此应用程序使您可以浏览,搜索,修改,创建和删除LDAP服务器上的对象。它还支持更复杂的操作,例如目录复制和在远程服务器之间移动,并扩展了常用的编辑功能以支持特定的对象类型(例如组和帐户)。​​CentOS7下搭建OpenLDAP服务器_客户端_20CentOS7下搭建OpenLDAP服务器_centos_21CentOS7下搭建OpenLDAP服务器_php_22