Ubuntu – Restoring openldap configuration from ldif file

backup-restorationldifopenldaprestoreUbuntu

I am trying to restore my OpenLDAP server from an ldif file I made before it went horribly wrong.

All of the websites I found talk about using slapadd but when I run slapadd -v -l ~ns01/openldap_config.ldif it returns the error Could not stat config file "/etc/ldap/slapd.conf" : No such file or directory (2) slapadd: bad configuration file!

When I look in the directory indeed the file does not exist, but this is because Ubuntu 11.10 is running in RTC mode, my LDAP server uses the /etc/slapd.d/cn=config for the configuration. So? What am I missing? Is slapadd the wrong tool to use?

As I said above I running on Ubuntu 11.10 server edition 64-bit.

Best Answer

Looking through the documentation it looks as if you may be able to use the -F flag to slapadd to specify a configuration directory, rather than a configuration file:

   -F confdir
          specify a config directory.  If both -f and  -F  are  specified,
          the  config  file will be read and converted to config directory
          format and written  to  the  specified  directory.   If  neither
          option  is  specified,  an  attempt  to  read the default config
          directory will be made before trying to use the  default  config
          file. If a valid config directory exists then the default config
          file is ignored. If dry-run mode is also specified,  no  conver‐
          sion will occur.

If this doesn't work (e.g., you're missing the contents of your cn=config tree), possibly this thread has some suggestions.