我正在尝试将 Open LDAP 服务器从 Ubuntu LTS 迁移到 Arch Linux。因此我按照以下指南进行操作亚历克斯·帕内克。
因此我首先备份了 Ubuntu Maschine 的数据库:
ubuntu$ sudo slapcat -b cn=config -l cn=config.master.ldif
ubuntu$ sudo slapcat -l dc=example-dc=com.ldif
之后我将此文件和 SSL 证书复制到干净的在 Arch Linux 上打开 LDAP 服务器。Arch 使用与 Ubuntu 不同的目录结构。我已将配置导出中的所有目录条目从/etc/ldap
编辑为/etc/openldap/
和 编辑/var/lib/ldap/
为/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...
我不知道这个错误从何而来以及如何解决它。
答案1
无奈之下,我删除了前几行,这些行仅引用了dc=com
。结果发现,这些行并不是真正必要的,导入现在运行正常。我不知道这些行是从哪里来的。
答案2
实际上,我通过将库从旧服务器复制到新服务器来实现此目的。我启动了 ldapd,它运行正常。