The following assumptions must be true before you start the configuration of the OpenLDAP server:
The subsequent use of secldap is an example container name; customize this as required.
Perform the following steps to configure your OpenLDAP server:
tar czf /etc/openldap/slapd-backup.tgz slapd.conf -C /var/lib ldap
To stop and clear slapd, execute the following on the command line:
systemctl stop slapd systemctl disable slapd rm -rf /etc/openldap/slapd.d rm -f /var/lib/ldap/* yum -y remove openldap-servers yum -y remove openldap-clients
yum -y install openldap-servers
yum -y install openldap-clients
sed -i '/CRC.*/d' /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif sed -i '/olcAccess:.*/c\olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break' /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif sed -i '/ al,cn=auth.*/d' /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif
systemctl start slapd
dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx
secret=$(slappasswd -s [password]) sed -i "/olcRootPW:.*/c\olcRootPW: $secret" chrootpwd.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpwd.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/core.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/corba.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/duaconf.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/dyngroup.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/java.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/misc.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/openldap.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/collective.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif
dn: cn=module,cn=config objectClass: olcModuleList cn: module olcModulepath: /usr/lib/openldap olcModuleload: back_hdb dn: olcDatabase=hdb,cn=config objectClass: olcDatabaseConfig objectClass: olcHdbConfig olcDatabase: {1}hdb olcDbDirectory: /var/lib/ldap olcDbIndex: objectClass eq,pres olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub olcSuffix: dc=secldap,dc=com olcRootDN: cn=Manager,dc=secldap,dc=com olcRootPW: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=Manager,dc=secldap,dc=com" write by anonymous auth by self write by * none olcAccess: {1}to dn.base="" by * read olcAccess: {2}to * by dn="cn=Manager,dc=secldap,dc=com" write by * read
secret=$(slappasswd -s [connection password]) sed -i "/olcRootPW:.*/c\olcRootPW: $secret" backend.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
systemctl stop slapd
include corba.schema include core.schema include cosine.schema include duaconf.schema include dyngroup.schema include inetorgperson.schema include java.schema include misc.schema include nis.schema include openldap.schema include ppolicy.schema include collective.schema include container.schema include mfds.schema
cp -r /etc/openldap/schema . mfds -l "dc=secldap,dc=com" 2 schema/mfds.schema rm -rf schema/cn=config cd schema slaptest -f ../schema_convert.conf -F . cd .. cp schema/cn=config/cn=schema/cn={12}container.ldif /etc/openldap/slapd.d/cn=config/cn=schema cp schema/cn=config/cn=schema/cn={13}mfds.ldif /etc/openldap/slapd.d/cn=config/cn=schema chown -R ldap /etc/openldap/slapd.d chmod -R 700 /etc/openldap/slapd.d
systemctl start slapd
systemctl enable slapd
rm -rf schema/log mkdir schema/log
dn: dc=secldap,dc=com objectClass: dcObject objectClass: organization dc: secldap description: secldap domain o: MFSECLDAP
dn: cn=Micro Focus,dc=secldap,dc=com cn: Micro Focus objectClass: container dn: cn=Enterprise Server Resources,cn=Micro Focus,dc=secldap,dc=com cn: Enterprise Server Resources objectClass: container dn: cn=Enterprise Server Users,cn=Micro Focus,dc=secldap,dc=com cn: Enterprise Server Users objectClass: container dn: cn=Enterprise Server User Groups,cn=Micro Focus,dc=secldap,dc=com cn: Enterprise Server User Groups objectClass: container
ldapadd -v -D "cn=Manager,dc=secldap,dc=com" -w [connection_password] -f schema/top.ldif -h localhost:389 > schema/log/top.log
ldapadd -v -D "cn=Manager,dc=secldap,dc=com" -w [connection_password] -f schema/mf-containers.ldif -h localhost:389 > schema/log/containers.log
rm -f schema/mfds-users.ldif
mfds -e "cn=Micro Focus,dc=secldap,dc=com" "cn=Enterprise Server Users" "cn=Enterprise Server User Groups" "cn=Enterprise Server Resources" 2 "schema/mfds-users.ldif"
ldapadd -v -D "cn=Manager,dc=secldap,dc=com" -w [connection_password] -f schema/mfds-users.ldif -h localhost:389 -c > schema/log/mfds-users.log
sed 's/DC=X/CN=Micro Focus,dc=secldap,dc=com/' /opt/microfocus/EnterpriseDeveloper/etc/es_default_ldap_openldap.ldf > schema/es_default_ldap_openldap.ldif
ldapadd -v -D "cn=Manager,dc=secldap,dc=com" -w [connection_password] -f schema/es_default_ldap_openldap.ldif -h localhost:389 -c > schema/log/es_default_ldap_openldap.log
ldapsearch -h localhost:389 -x -b "cn=subschema" -s base + > schema.txtCheck the contents of the resulting file, schema.txt, to verify that there are attributes and objectClass entries that begin with microfocus-. You can also attempt to connect to the "dc=secldap,dc=com" or your customized variation, Base DN using an LDAP browser or other LDAP access tool via port 389 using the "cn=Manager,dc=secldap,dc=com" simple id and [connection password] password and browse the "cn=Micro Focus" container tree.