The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Устанавливаем OpenLDAP 2.4.X и PhpLdapAdmin в Ubuntu 9.10
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

   aptitude update

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

   aptitude 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
Создаем файл 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. Сохраняем файл

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:

   slappasswd -h {MD5}

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

   {MD5}Gnmk1g3mcY6OWzJuM4rlMw==

15. Создаем базовый DN и пользователя admin
Внесем в файл 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
Пропишем в файл 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
Установим права на корень в файле 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

   aptitude install 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
Редактируем /usr/share/phpldapadmin/config/config.php

Меняем

   'dc=example,dc=com'
на
   'dc=local,dc=net’

23. Проверяем http://имя сервера/phpldapadmin
 
25.03.2010 , Автор: Денис А. Ксенофонтов
Ключи: ldap, ubuntu / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевые сервисы / Прокси сервер Squid / ACL, ограничения трафика и пользователей

Обсуждение [ RSS ]
 
  • 1.1, ffsdmad, 18:50, 26/03/2010 [ответить] [смотреть все]
  • +/
    Установка slapd и PhpLdapAdmin столько же проста что и LAMP
    а вот что дальше делать с ним делать?
    клиенты, софт для ldap вот что важно, сложно и интересно
     
  • 1.2, test_user, 22:50, 27/03/2010 [ответить] [смотреть все]
  • +/
    Денис, а ты не в Черноморнефтегазе работаешь, в Симферополе? Был у меня Денис один знакомый, может это ты?
     
  • 1.3, eth1, 01:02, 29/03/2010 [ответить] [смотреть все]
  • +/
    почему линоксоиды часто настолько безграмотны?

    Ещё бы понял, почему вендузятники, но ........

    о_0

     
  • 1.4, Он не линуксоид, 16:06, 29/03/2010 [ответить] [смотреть все]
  • +/
    http://www.pincer.narod.ru/
     
  • 1.5, pincer, 09:37, 31/03/2010 [ответить] [смотреть все]
  • +/
    Да я работаю в Черноморнефтегазе
    В LDAP можно хранить все например конфиг DHCP
    пример здесь:
    http://forum.ubuntu.ru/index.php?topic=87499.0
     
  • 1.6, Он не линуксоид, 11:55, 31/03/2010 [ответить] [смотреть все]  
  • +/
    И еще много чего можно хранить в LDAP.
    Меретину привет :)
     
     
  • 2.7, pincer, 15:31, 06/04/2010 [^] [ответить] [смотреть все]  
  • +/
    Представились что ли?
     
  • 1.8, Almas, 13:45, 08/06/2012 [ответить] [смотреть все]  
  • +/
    Денис, вы молодец, на пальцах написали как создать LDAP каталог. Спасибо!
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor