4

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.

ianc1215
  • 1,965
  • 7
  • 34
  • 55

3 Answers3

3

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.

larsks
  • 41,276
  • 13
  • 117
  • 170
  • Thanks for the help, this is the best lead I have had so far. – ianc1215 Oct 20 '11 at 06:16
  • Well I reinstalled slapd after I got my server back online. I could just use the default config as base correct? – ianc1215 Oct 20 '11 at 06:23
  • That sounds reasonable. I've (intentionally) avoided the `cn=config` stuff so far, so I'm mostly offering conjecture. – larsks Oct 20 '11 at 13:18
  • Good enough for me, if it is not restorable it is not that huge of a problem. It was just a database with me as the only user, it was my learning LDAP server. It would just still suck to have redo everything. LDAP is tedious. – ianc1215 Oct 21 '11 at 04:59
0

Try this:

sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f yourfile.ldif

Should work for Ubuntu 11.10, although I'm still exploring this new cn=config stuff.

mgorven
  • 30,036
  • 7
  • 76
  • 121
david6
  • 1
0

I've used this:

ldapadd -c -x -H ldap://localhost:389 -D "dc=Manager,dc=example,dc=com" -w password -f /tmp/backup.ldif

Modified from https://github.com/gschueler/vagrant-rundeck-ldap/blob/master/load-ldif.sh

ThorSummoner
  • 321
  • 4
  • 13