我正在尝试将 Open LDAP 服务器从 Ubuntu LTS 迁移到 Arch Linux。所以我遵循了Alex Pánek的指南。
所以首先我从 Ubuntu 机器上备份了数据库:
ubuntu$ sudo slapcat -b cn=config -l cn=config.master.ldif
ubuntu$ sudo slapcat -l dc=example-dc=com.ldif
之后,我将此文件和 SSL 证书复制到Arch Linux 上干净的 Open LDAP 服务器。关于 Arch 使用与 Ubuntu 不同的目录结构。我已经从/etc/ldap
to/etc/openldap/
和
/var/lib/ldap/
to编辑了配置导出中的所有目录条目/var/lib/openldap/
。
然后我开始导入这工作正常:
arch$ sudo slapadd -F /etc/openldap/slapd.d -b cn=config -l cn=config.master.ldif
_#################### 100.00% eta none elapsed none fast!
Closing DB...
导入后我可以正常启动 LDAP 服务器。我再次停止了服务器并尝试使用以下命令导入域数据库:
arch$ sudo slapadd -F /etc/openldap/slapd.d -b dc=example,dc=com -l ~/dc=example-dc=com.ldif
571e4715 hdb_monitor_db_open: monitoring disabled; configure monitor database to enable
slapadd: line 1: database #1 (dc=example,dc=com) not configured to hold "dc=com"; no database configured for that naming context
_ 2.36% eta none elapsed none spd 3.9 M/s
Closing DB...
我不知道这个错误来自哪里以及如何解决它。
在我绝望中,我删除了仅引用的前几行
dc=com
。事实证明,这条线并不是真正必要的,并且导入现在工作正常。我不知道这条线是从哪里来的。实际上,我是通过将库从旧服务器复制到新服务器来做到的。我启动了 ldapd,它运行良好。