我正在用phpldapadmin在两台不同的CENTOS 7服务器上安装openldap,configuration如下:
openldap服务器:
firewall-cmd --permanent --add-service=ldap firewall-cmd --permanent --add-port=389/tcp firewall-cmd --reload yum install -y openldap openldap-clients openldap-servers slappasswd
设置通行证并记下散列
在: /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
更改:
olcSuffix:dc = mydomain ,dc = com
olcRootDN:cn = user ,dc = mydomain ,dc = com
olcRootPW: {SSHA} therandomhashfromslappswd
在/usr/share/openldap-servers/slapd.ldif中
更改:
134行:n = auth“读取
dn.base =“cn = user ,dc = mydomain ,dc = com”由* none读取行144:
olcSuffix:dc = mydomain ,dc = com第145行:olcRootDN:
cn = user ,dc = mydomain ,dc = com
加:
olcRootPW: {SSHA} therandomhashfromslappswd
在/etc/openldap/ldap.conf中
更改:
BASE dc = mydomain,dc = com
URI ldap://hostname.domain.local
跑:
slaptest -u
configuration文件testing成功
我收到校验错误如下,但我忽略它。
54a39508 ldif_read_file:“/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif”上的校验和错误
54a39508 ldif_read_file:“/etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif”上的校验和错误
跑:
systemctl enable slapd systemctl start slapd systemctl restart slapd cd /etc/openldap/ vi base.ldif
创build
base.ldif
如下:
dn: dc=mydomain,dc=com objectClass: dcObject objectClass: organization o: mydomain.com dc: mydomain dn: ou=users,dc=mydomain,dc=com objectClass: organizationalUnit objectClass: top ou: users dn: ou=groups,dc=mydomain,dc=com objectClass: organizationalUnit objectClass: top ou: group
终于运行:
ldapadd -x -W -D "cn=root,dc=mydomain,dc=com" -f base.ldif systemctl restart slapd
phpldapadmin服务器:
跑:
yum -y install httpd firewall-cmd --add-service=http firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp firewall-cmd --reload systemctl restart httpd.service systemctl start httpd.service systemctl enable httpd.service yum -y install php php-mbstring php-pear php-ldap systemctl restart httpd.service wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm yum --enablerepo=epel -y install phpldapadmin setsebool -P httpd_can_connect_ldap on
结果:
连接工作正常,我可以访问phpldapadmin网站,并通过打开ldap服务器login。
问题:
我收到很多错误:自动从模板中删除ObjectClass – 而我实际上需要它来创buildacct等。
有人知道这里有什么问题吗?
我已经花了很多小时搞清楚:(
请让我知道如果有人可以帮助我:)
谢谢,
和
错误消息似乎相当清楚。 inetOrgPerson未在您的服务器模式中定义。 它不会在默认情况下,它看起来不像你添加它。
inetOrgPerson模式依赖于cosine模式,而依赖于core模式。 核心模式可能默认存在。
ldapadd <auth for cn=config> -f /etc/openldap/schema/core.ldif ldapadd <auth for cn=config> -f /etc/openldap/schema/cosine.ldif ldapadd <auth for cn=config> -f /etc/openldap/schema/inetorgperson.ldif
您可能需要在/etc/openldap/slapd.d/cn=config.ldif稍微修改一下,以便能够在cn=config上获得写入权限。 许多发行版没有合理的OpenLDAP默认值。