Устанавливаем пакеты
<code>
apt-get update
apt-get install slapd ldap-utils samba-doc
</code>

Если вы пропустили настройку **slapd** во время установки, то потом в любой момент воспользуйтесь командой
<code>
dpkg-reconfigure slapd
</code>

Отвечаем на вопросы:
  * Не выполнять настройку сервера OpenLDAP? : Нет
  * Доменное имя DNS : drivesource.ru
  * Название организации : Drive Source Team
  * Используемые серверы баз данных : HDB
  * Удалять базу данных при вычистке slapd? : Да
  * Переместить старую базу данных? : Да
  * Пароль администратора : password
  * Подтвердите ввод пароля : password
  * Allow LDAPv2 protocol? : Да

Посмотрим теперь что же мы имеем
<code>
ldapsearch -b cn=config -D cn=admin,cn=config -x -W '(objectCLass=olcDatabaseConfig)' dn
</code>

Результат команды будет следующим
<code>
# extended LDIF
#
# LDAPv3
# base <cn=config> with scope subtree
# filter: (objectClass=*)
# requesting: dn 
#

# config
dn: cn=config

# module{0}, config
dn: cn=module{0},cn=config

# schema, config
dn: cn=schema,cn=config

# {0}core, schema, config
dn: cn={0}core,cn=schema,cn=config

# {1}cosine, schema, config
dn: cn={1}cosine,cn=schema,cn=config

# {2}nis, schema, config
dn: cn={2}nis,cn=schema,cn=config

# {3}inetorgperson, schema, config
dn: cn={3}inetorgperson,cn=schema,cn=config

# {-1}frontend, config
dn: olcDatabase={-1}frontend,cn=config

# {0}config, config
dn: olcDatabase={0}config,cn=config

# {1}hdb, config
dn: olcDatabase={1}hdb,cn=config

# search result
search: 2
result: 0 Success

# numResponses: 11
# numEntries: 10
</code>

Добавим схему **samba.schema**

Копируем схему **samba.schema** в файл
<code>
zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema
</code>

Составим список схем которые нужно преобразовать в формат **ldif**
<code>
cat <<EOFLIST > schema_convert.conf
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/inetorgperson.schema
include         /etc/ldap/schema/samba.schema
EOFLIST
</code>

Преобразуем схему **samba.schema** в формат **ldif**
<code>
rm -rf /tmp/ldif_output
mkdir /tmp/ldif_output
slaptest -f schema_convert.conf -F /tmp/ldif_output
find /tmp/ldif_output -type f -name '*samba.ldif' -exec cp {} /etc/ldap/schema/samba.ldif \;
echo -e '1c\ndn: cn=samba,cn=schema,cn=config\n.\n3c\ncn: samba\n.\n$n\n-6,$d\nwq' | ed /etc/ldap/schema/samba.ldif
</code>

Загрузим схему **samba.ldif** в базу OpenLDAP
<code>
ldapadd -x -D cn=admin,cn=config -W -f /etc/ldap/schema/samba.ldif
</code>

Составим список индексирования оптимальный для данных **samba.ldif**
<code>
cat <<EOFINDEX >samba_indexes.ldif
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: loginShell eq
olcDbIndex: uid eq,pres,sub
olcDbIndex: memberUid eq,pres,sub
olcDbIndex: uniqueMember eq,pres
olcDbIndex: sambaSID eq
olcDbIndex: sambaPrimaryGroupSID eq
olcDbIndex: sambaGroupType eq
olcDbIndex: sambaSIDList eq
olcDbIndex: sambaDomainName eq
olcDbIndex: default sub
EOFINDEX
</code>

Загрузим новые индексы в сервер OpenLDAP
<code>
ldapmodify -x -D cn=admin,cn=config -W -f samba_indexes.ldif
</code>