On Fri, 2017-07-14 at 14:48 +0000, Jon Smark wrote:
Hi,

I'm new to OpenLDAP and I'm finding it hard to perform the initial
configuration (a lot of the information I find online seems to  
pertain only to old versions of OpenLDAP, which used a different
configuration system).

Anyway, I have defined a schema file with the custom attributes  
and object classes relevant to my domain.  Starting from a fresh
installation of OpenLDAP 2.4.42 running on Ubuntu 16.04, I want
to configure my Slapd server to *only* consider my schema file and
to ignore all the other schemas it's configured to use by default.

I thought it would be as simple as removing the old /etc/ldap/slapd.d
and replacing it with the output of slaptest applied to my schema
file.  This doesn't work, unfortunately, because slapd refuses to
start afterwords.

I apologize if this question seems basic, but I'm stuck on this very
first step and I've been unable to find an up-to-date tutorial on how
to configure a recent OpenLDAP server from scratch (ie, without all
the default schemas).

Thanks in advance for your kind help!
Regards,
Jon


What you need as a tool the makes the directory tree easy to navigate like a file so that the old docs would look more relevant. I present to you ldapvi, http://www.lichteblau.com/ldapvi/manual/ the tool that would do just that. It allows you to manipulate any data presented over LDAP with your favorite text editor.

I only found two caveats, it doesn't mask password well and it shows how many characters your password is instead of nothing like it should in my opinion. The other is that a directory has to already exist, you can use it to provision a bare directory, you have to use ldapadd to do that.

For the new schema, I bet you are talking about installing rfc2307bis, otherwise I don't understand why you want to remove any schema files because some of them are required for a functioning LDAP server. I am pretty sure you always need core.schema because it defines commonName which you always need because OLC aka cn=config uses it.