在 Centos 7 上安装 OpenLDAP:缺少 mdb 数据库?

在 Centos 7 上安装 OpenLDAP:缺少 mdb 数据库?

我正在尝试按照此处的说明在 Centos 7 上安装 OpenLDAP:

http://www.openldap.org/doc/admin24/quickstart.html

这是我的slapd.ldif文件,除了域名(此处删除)外,与示例文件相同:

dn: olcDatabase=mdb,cn=config 
objectClass: olcDatabaseConfig 
objectClass: olcMdbConfig 
olcDatabase: mdb 
OlcDbMaxSize: 1073741824 
olcSuffix: dc=redacted,dc=com 
olcRootDN: cn=Manager,dc=redacted,dc=com 
olcRootPW: secret 
olcDbDirectory: /usr/local/var/openldap-data 
olcDbIndex: objectClass eq

我正在运行此命令来初始化数据库,除了文件夹(在我的计算机上不同)之外,它与提供的命令相同。

slapadd -n 0 -F /etc/openldap/slapd.d -l /usr/share/openldap-servers/slapd.ldif

这会出现以下错误:

slapadd: could not add entry dn="cn=config" (line=1):

我不确定我做错了什么。我确实注意到该/etc/openldap/slapd.d/cn=config文件夹​​没有与 mdb 对应的数据库,所以我不确定是否需要安装它。

答案1

如果你openldap-servers在 CentOS 7 上安装该软件包,那么你已经有三个数据库,并且默认数据库后端不是,mdb而是已弃用的hdb

这显示已配置的数据库:

# ldapsearch -Y EXTERNAL -Q -H ldapi:/// -LLL -o ldif-wrap=no -b cn=config '(objectClass=olcDatabaseConfig)' ''

这是 CentOS 7 上的输出:

dn: olcDatabase={-1}frontend,cn=config

dn: olcDatabase={0}config,cn=config

dn: olcDatabase={1}monitor,cn=config

dn: olcDatabase={2}hdb,cn=config

如果配置数据库已经存在,则无法创建它。

相关内容