Простейшая адресная книга на OpenLDAP

pligin

Команда форума
Администратор
Задание:
Создать простейший каталог который будет содержать почтовые адреса.

Домен: company.local
Устанавливаем пакет OpenLDAP:
Код:
# yum install openldap openldap-clients openldap-servers nss-pam-ldapd mlocate -y
Стартуем демон OpenLDAP сервера:
Код:
# /etc/init.d/slapd start
Ставим его в автозагрузку:
Код:
# chkconfig slapd on
Генерируем пароль Супер администратора сервера OpenLDAP:
Код:
slappasswd -h {SSHA}
Password: AdminPassword
{SSHA}Hc3knTS0np8GVOVAK4ng9gdBiRBDnPIS
Вписываем пароль Супер администратора всего сервера OpenLDAP в файл:
Код:
# vi /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif
Код:
olcRootPW: {SSHA}Hc3knTS0np8GVOVAK4ng9gdBiRBDnPIS
Конфиг файл «olcDatabase={0}config.ldif» — это основной файл сервера OpenLDAP.
Перезапускаем демон OpenLDAP сервера:
Код:
# service slapd restart
По умолчанию администратор каталога «my-domain.com» имеет имя «Manager», мы меняем его на администратора каталога базы «company.local» можно через файл:
Код:
# vi RootDN.ldif
Код:
dn: olcDatabase={2}bdb, cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=administrator,dc=company,dc=local
Меняем администратора:
Код:
# ldapadd -x -W -D cn=config -f RootDN.ldif
Генерируем пароль для нового администратора для базы «company.local»
Код:
# slappasswd -h {SSHA}
Password: BasePassword
{SSHA}+1voyvyUwBhMwdjeP92GOn9JyGIahUq
Первый пароль для супер администратора используется для управления всем каталогом OpenLDAP, второй пароль нужен для домена «company.local» — доменный админ .

Вписываем пароль пользователя базы company.local в файл:
Код:
# vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
Добавляем строчку:
Код:
olcRootPW: {SSHA}Hc3knTS0np8GVOVAK4ng9RqBiRBDnNID
По умолчанию в файле «olcDatabase={2}bdb.ldif» прописан домен для примера, мы меняем его на свой:
Меняем наш домен «company.local» на свой в файле:
Код:
# vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}bdb.ldif
olcSuffix: dc=company,dc=local
Копируем оверлей файл в папку /var/lib/ldap/DB_CONFIG, этот файл содержит функции которые вызываются в процессе работы OpenLDAP:
Код:
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
Обновляем базу:
Код:
# updatedb
# chown -Rf ldap:ldap /var/lib/ldap/ /var/lib/ldap/DB_CONFIG
Проверим на ошибки конфиги:
Код:
# slaptest -u
Наполним нашу базу, добавим туда контейнеры OU — People, Groups и Mail. Создадим файл base.ldif
Код:
dn: dc=company,dc=local
objectClass: dcObject
objectClass: organization
o: company
dc: company
dn: ou=People,dc=company,dc=local
objectClass: top
objectClass: organizationalUnit
ou: People
dn: ou=Groups,dc=company,dc=local
objectClass: top
objectClass: organizationalUnit
ou: Groups
dn: ou=Mail,dc=company,dc=local
objectClass: top
objectClass: organizationalUnit
ou: Mail
Файл base.ldif добавляем в наш каталог:
Код:
# ldapadd -x -W -D «cn=administrator,dc=company,dc=local» -f base.ldif
Если появляется ошибка «ldap_bind: Invalid credentials (49)»,
Значить проверяйте пароль в файле olcDatabase={2}bdb.ldif, заново создайте пароль и добавляйте домен.

Установка Phpldapadmin
Подключаем репозиторий EPEL:
Код:
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
Устанавливаем пакет phpldapadmin:
Код:
# yum install phpldapadmin  -y
Правим конфиг файл phpldapadmin
Код:
# vi /etc/phpldapadmin/config.php
Строка 397: раскоментируем
Код:
$servers->setValue(‘login’,’attr’,’dn’);
Строка 398: закоментируем
Код:
// $servers->setValue(‘login’,’attr’,’uid’);
Редактируем phpldapadmin.conf, добавляем нашу локальную под сеть:
Код:
# vi /etc/httpd/conf.d/phpldapadmin.conf
Код:
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs
<Directory /usr/share/phpldapadmin/htdocs>
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.1.0/24 #localnet
# IP address you allow
Allow from ::1
</Directory>
Код:
# /etc/rc.d/init.d/httpd restart
В бразуере вводим:
http://192.168.1.1/ldapadmin
Логин: cn=administrator,dc=company,dc=local
Пароль: BasePassword
 
Верх