Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: [HOWTO] Устанавливаем OpenLDAP 2.4.X в Ubuntu 9.10 + PHPLDAPADMIN  (Прочитано 10586 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Денис А. Ксенофонтов

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
1. Установим сервер и дадим ему имя DS
2. Домен который будет обслуживать сервер назовем LOCAL.NET
3. Правим hostname

Цитировать
Пример  /etc/hostname

ds


4. Правим /etc/hosts

Цитировать
Пример  /etc/hosts

127.0.0.1       localhost
127.0.1.1       ds.local.net    ds

5.Убедимся  в том, что прописан домен поиска resolve.conf
 
Цитировать
Пример /etc/resolve.conf

domain local.net
search local.net
nameserver  dns.local.net

6.Проверяем  запись о домене поиска в interfaces

Цитировать
Пример /etc/network/interfaces

dns-search    local.net

 
7.Обновляем репозитории apt

Цитировать
apt-get  update
aptitude update

8.Устанавливаем LDAP Server на текущий момент версия 2.4.18 и утилиты к нему

Цитировать
apt-get -y install ldap-server ldap-utils

9.Перейдем в каталог схем LDAP сервера

Цитировать
cd /etc/ldap/schema

10.Подключаем основные схемы

Цитировать
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif

Если все удачно увидим ответ следующего вида

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=cosine,cn=schema,cn=config"

11.   Подключаем внутренние модули и создаем базу данных для LDAP

Цитировать
nano  db.ldif

Цитировать
#Подключаем модуль для  динамической загрузки
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: {0}back_hdb

# Создаем базу данных для нашего домена
dn: olcDatabase={1}hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=local,dc=net
olcRootDN: cn=admin,dc=local,dc=net
olcRootPW: ваш password у меня example
olcDbConfig: {0}set_cachesize 0 2097152 0
olcDbConfig: {1}set_lk_max_objects 1500
olcDbConfig: {2}set_lk_max_locks 1500
olcDbConfig: {3}set_lk_max_lockers 1500
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcDbIndex: uid pres,eq
olcDbIndex: cn,sn,mail pres,eq,approx,sub
olcDbIndex: objectClass eq

12.Сохраняем  файл ctrl+o и закрываем ctr+x
13.Подгружаем модуль и инициализируем базу данных

Цитировать
ldapadd -Y EXTERNAL -H ldapi:/// -f db.ldif

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcDatabase={1}hdb,cn=config"

 
14.Генерим пароль в MD5 вводим пароль example 2 раза

Цитировать
slappasswd -h {MD5}

скопируем результат вывода

Цитировать
{MD5}Gnmk1g3mcY6OWzJuM4rlMw==

 
15.Создаем базовый DN и пользователя admin

Цитировать
nano base.ldif

Внесем следующие параметры  

Цитировать
dn: dc=local,dc=net
objectClass: dcObject
objectclass: organization
o: local.net
dc: local
description: My LDAP Root

dn: cn=admin,dc=local,dc=net
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
userPassword: {MD5}Gnmk1g3mcY6OWzJuM4rlMw== #Наш пароль в MD5
description: LDAP administrator

Создаем базовый DN

Цитировать
ldapadd -Y EXTERNAL -H ldapi:/// -f base.ldif

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "dc=local,dc=net"
adding new entry "cn=admin,dc=local,dc=net"


16.   Устанавливаем права доступа на CN=config

Цитировать
nano  acl-config.ldif

Пропишем следующие права

Цитировать
dn: cn=config
changetype: modify
delete: olcAuthzRegexp

dn: olcDatabase={-1}frontend,cn=config
changetype: modify
delete: olcAccess

dn: olcDatabase={0}config,cn=config
changetype: modify
delete: olcRootDN

dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootDN
olcRootDN: cn=admin,cn=config

dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {MD5}Gnmk1g3mcY6OWzJuM4rlMw==

dn: olcDatabase={0}config,cn=config
changetype: modify
delete: olcAccess


Устанавливаем права на cn=config

Цитировать
ldapadd -Y EXTERNAL -H ldapi:/// -f acl-config.ldif

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
modifying entry "olcDatabase={-1}frontend,cn=config"
modifying entry "olcDatabase={0}config,cn=config"
modifying entry "olcDatabase={0}config,cn=config"
modifying entry "olcDatabase={0}config,cn=config"
modifying entry "olcDatabase={0}config,cn=config"


17.Устанавливаем права доступа к корню cn=config

Цитировать
nano root-acl.ldif

Установим права на корень

Цитировать
dn: olcDatabase={1}hdb,cn=config
add: olcAccess
olcAccess: to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=local,dc=net" write by anonymous auth by self write by * none
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=local,dc=net" write by * read

Модифицируем права

Цитировать
ldapmodify -x -D cn=admin,cn=config -W -f root-acl.ldif

Enter LDAP Password: example

modifying entry "olcDatabase={1}hdb,cn=config"

Все OpenLDAP готов к работе

18.   Ставим phpldapadmin

Цитировать
apt-get  -y phpldapadmin

19.   После установки заходим по адресу http://имя сервера/phpldapadmin

20.   Если все правильно установилось то увидим приглашение login

21.   Если видим ошибку вида

ERROR! E_STRICT: Declaration of AJAXTree::draw_dn() should be compatible with that of PLMTree::draw_dn()

То в файле /usr/share/phpldapadmin/lib/AJAXTree.php

Находим

Цитировать
protected function draw_dn($dn,$level=0,$first_child=true,$last_child=true)

Меняем

Цитировать
protected function draw_dn($dn,$level,$first_child=true,$last_child=true)


22.    Правим файл настроек phpldapadmin

Цитировать
nano /usr/share/phpldapadmin/config/config.php


Меняем
Цитировать
'dc=example,dc=com'
на
Цитировать
'dc=local,dc=net’

23.   Перезапускаем apache

/etc/init.d/apache2 restart

24.   Проверяем http://имя сервера/phpldapadmin

C Уваженеим Денис А. Ксенофонтов ака PiNCeR!   


Еще HOW-TO:

Интегрируем службу DHCP v 3.x.x  с OpenLDAP 2.4.x  Ubuntu 9.10
« Последнее редактирование: 10 Октября 2010, 01:06:35 от stmc »
С Уважением Денис А. Ксенофонтов ака PiNCeR

Оффлайн zondm

  • Новичок
  • *
  • Сообщений: 27
    • Просмотр профиля
Re: [HOW-TO] Устанавливаем OpenLDAP 2.4.X в Ubuntu 9.10 + PHPLDAPADMIN
« Ответ #1 : 20 Сентября 2010, 20:30:02 »
фигу! на последней операции:
ldapmodify -x -D cn=admin,cn=config -W -f root-acl.ldif
при запросе пароля на правильный пароль пишет
ldap_bind: Invalid credentials (49)
Вуаля!  ;D

Оффлайн exorcizme

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: [HOW-TO] Устанавливаем OpenLDAP 2.4.X в Ubuntu 9.10 + PHPLDAPADMIN
« Ответ #2 : 05 Октября 2010, 15:09:34 »
А у меня все получилось)))

Оффлайн Tovbor

  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: [HOWTO] Устанавливаем OpenLDAP 2.4.X в Ubuntu 9.10 + PHPLDAPADMIN
« Ответ #3 : 13 Декабря 2010, 14:26:08 »
Здравствуйте!
Делаю все по инструкции (меняю только имя домена), при выполнении 16 пункта выпадает ошибка:

# ldapadd -Y EXTERNAL -H ldapi:/// -f acl-config.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
ldap_modify: No such attribute (16)
        additional info: modify/delete: olcAuthzRegexp: no such attribute

Что-то не так, а вот что понять не могу.

Оффлайн oermolaev

  • Старожил
  • *
  • Сообщений: 1478
    • Просмотр профиля
попробовал на 10.04 - тоже не получилось.
ошибки такие же как у Tovbor и zondm

Оффлайн kolyan_k

  • Участник
  • *
  • Сообщений: 147
    • Просмотр профиля
Уважаемый   у меня   вот  такого рода  ошибка
ain: TLS init def ctx failed: -1
connections_destroy: nothing to destroy
при  рестарте  выдает  следующие

root@pdc:/etc/ssl# slapd -h 'ldap:/// ldapi:/// ldaps:///' -g openldap -u openldap -F /etc/ldap/slapd.d/
root@pdc:/etc/ssl# root@pdc:/etc/ssl# mcedit /var/log/syslog

 

Страница сгенерирована за 0.061 секунд. Запросов: 25.