вторник, 24 февраля 2009 г.

lenny + bind9 + ldap

Кажется разобрался c проблемой bind9 и ldap. Разработчики OpenSuse используют для bind9 патч вот от сюда http://bind9-ldap.bayour.com/
Поступим и мы так же. Я взял патч версии release 1.0

#cd /usr/src/
#apt-get source bind9
#cd bind9*
#wget -c http://bind9-ldap.bayour.com/bind-sdb-ldap-1.0.tar.gz
#tar zxvf bind-sdb-ldap-1.0.tar.gz
#cp ./bind-sdb-ldap-1.0/ldapdb.c ./bin/named
#cp ./bind-sdb-ldap-1.0/ldapdb.h ./bin/named/include

Дальше отредактируем vim ./bin/named/Makefile.in:
#
# Add database drivers here.
#
DBDRIVER_OBJS = ldapdb.@O@
DBDRIVER_SRCS = ldapdb.c
DBDRIVER_INCLUDES = -I/usr/local/include
DBDRIVER_LIBS = -L/usr/local/lib -lldap -llber -lresolv

И отредактируем последний файлик vim ./bin/named/main.c:
После строчки "#include "xxdb.h"" добавляем:

#include
После "xxdb_init();" добавим:

ldapdb_init();


А после "xxdb_clear();":

ldapdb_clear();


И собираем:
#./configure && make && make install


По хорошему в configure надо было задать префиксы путей, но я пока собираю просто для тестов, да и snapshot в VMware только сделал =)
#rm /usr/sbin/named && rm /usr/sbin/named-checkconf && rm /usr/sbin/named-checkzone
#ln -s /usr/local/sbin/named /usr/sbin/named
#ln -s /usr/local/sbin/named-checkconf /usr/sbin/named-checkconf
#ln -s /usr/local/sbin/named-checkzone /usr/sbin/named-checkzone
#ln -s /etc/bind/named.conf /etc/named.conf
#ln -s /etc/bind/rndc.key /etc/rndc.key


И добавим строчку в конфиг squid'a :
pid-file "/var/run/bind/run/named.pid";

#/etc/init.d/bind9 restart
И должно заработать. Если нет - смотрим логи. Сейчас могут не совпадать только пути и это легко исправить.

6 комментариев:

  1. Добрый день!
    Я выполнил полностью копию установки на реальном железе и нашел несколько пунктов, которые мне не совсем понятны:
    1. Если я использую на дисках несколько разных партиций, то после настройки самбы и лдапа, после перезагрузки пропадают все каталоги в директории /home
    2. Я так и не смог сделать следующее
    # chown -R :"Domain Users" /home/samba/
    chown: неверная группа: `:Domain Users'
    3. При попытке добавить права
    net -U Administrator rpc rights grant 'IT\Domain Admins' SeMachineAccountPrivilege
    получаю следующее:
    Enter Administrator's password:
    Could not connect to server 127.0.0.1
    The username or password was not correct.
    Connection failed: NT_STATUS_LOGON_FAILURE
    Пароль ввожу всегда одинаковый. Тестировал многократно - подскажите пожалуйста где грабли искать.....

    ОтветитьУдалить
  2. Добрый день.

    Ставлю на debian lenny
    debian-502a-i386-netinst.iso

    когда даю команду
    make
    , то в процессе компиляции появляются ошибки
    dapdb.c:51:18: error: ldap.h: No such file or directory
    ldapdb.c:128: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    ldapdb.c:199: error: expected declaration specifiers or ‘...’ before ‘LDAP’
    ldapdb.c: In function ‘ldapdb_bind’:
    ldapdb.c:204: error: ‘ldp’ undeclared (first use in this function)
    ldapdb.c:204: error: (Each undeclared identifier is reported only once
    ldapdb.c:204: error: for each function it appears in.)
    ldapdb.c:205: warning: implicit declaration of function ‘ldap_unbind’

    и тому подобные

    ОтветитьУдалить
  3. Неточности:
    должно быть #include "ldapdh.h"
    Чтобы потом не ставить костыли виде симлинков, конфигурить командой ./configure --prefix=/usr

    А вообще, автору - спасибо!

    ОтветитьУдалить
  4. dapdb.c:51:18: error: ldap.h: No such file or directory
    - установите пакет
    aptitude install libldap2-dev
    и в файле ./bin/named/Makefile.in
    DBDRIVER_INCLUDE=-I/usr/include

    ОтветитьУдалить
  5. guest - - as the celebrity website described
    the couple. * Ability to unfollow ALL except your personal WHITELIST.
    Foreign exchange is the international trade current market.


    Take a look at my blog: youtube proxy

    ОтветитьУдалить
  6. после попытки запустить службу получаю segfault, кто нибудь сталкивался?

    ОтветитьУдалить