티스토리 툴바


Database/OpenLDAP2010/07/05 09:48

ldap 때문에 며칠 고생한 사람입니다.

제가 설치하고 예제 소스 컴파일과 실행까지에 대해 경험 사례를 적을께요...

혹시 linux서 설치하시며 고생하시는 분께 도움이 될까 해서요~

 

설치사양: wowlinux 6.2 kernel 2.2.14

SW : openldap 1.2.11(stable version) => www.openldap.org 제공

SDK : Netscape LDAP C SDK4.1=> http://iplanet.com/downloads/developer/0118.html

참고문서:

설치참고 문서 http://linuxfocus.org/English/July2000/article159

http://database.sarang.net/database/ldap/dsn_guide/dsn_ldap-1.html

프로그래밍문서 http://docs.iplanet.com/docs/manuals/dirsdk/csdk30/index.htm

 

설치순서

1. openldap 1.2.11 버전을 /usr/local/ 에 다운받아서 압축을푼다

 

#tar xvfz openldap....tar.gz

 

그러면 /usr/local/openldap-1.2.11/ directory가 생기죠?

 

# cd /usr/local/openldap-1.2.11

# ./configure --prefix=/usr/local/ldap

 

이렇게 하면 해당 /usr/local/ldap 에 소스가 깔립니다..그럼

나중에 찾기도 쉽고 다른 소스들 풀어놓은 것이랑 섞이지 않아 편해요

 

# make depend

# make

# cd tests --> ldap tests directory

# make

# make install

 

2. CSDK 4.1 을 다운 받아 압축을 푼다.

경로는 /usr/local/ldap/ 안에 다운 받아서 압축을 푸는 것이 낫겠죠?

# tar xvfz ldapsdk -...-.....tar.gz

이렇게 하면 되고요...

 

3. 이제는 설치를 다했으니 연동시키는 것이 문제죠?

제대로 설치가 되었다면

 

/usr/local/ldap/etc/openldap/slapd.conf

파일 설정을 해주세요

 

바꾸는 부분 : suffix "o=abcd.org"

rootdn "cn=Manager, o=abcd.org"

 

데몬 띄우기

#/usr/local/ldap/libexec/slapd -f /usr/local/ldap/etc/oopenldap/slapd.conf

 

하면 데몬이 떠요... 확인하는 방법은 ?

# ps -ef| more

 

그럼 slapd 경로가 한 세줄쯤 나와요.

 

 

4. 부팅시 데몬을 자동 띄우는 방법은

여기 http://database.sarang.net/database/ldap/dsn_guide/dsn_ldap-4.html

에 나오죠

여기서 추가할 것은

/etc/rd.c/init.d/ldapd 라는 부팅데몬을 만든후

 

#ln /etc/rd.c/init.d/ldapd /etc/rc.d/rc5.d/ldapd

이런식으로 심볼릭 링크해주세요...

만약 부팅시 Xwindow 로 바로 띄어서 쓴다면 /etc/rc.d/rc5.d/ldapd 로

만약 그냥 까만 linux 화면서 쓴다면 /etc/rc.d/rc3.d/ldapd 로

왠지는 잘 아시죠?

 

5. 명령어를 아무 디렉토리에서나 사용가능하게 하기

 

#vi /root/.bash_profile

 

PATH=$PATH:$HOME/bin:/usr/local/ldap/bin

---------------------> 요부분만 옆에 추가로 찍어요

 

6. 예제 파일들 컴파일 해보기

 

#cd /usr/local/ldap/examples

#make

#make install

 

7. 만약 컴파일이 안될때 해결책

 

#cp /usr/local/ldap/include/* /usr/include/

 

#cp /usr/local/ldap/lib/* /usr/lib/

 

8. 나의 database file (test.ldif)만들기

 

slapd.conf 파일에 보면 directory /usr/local/ldap/var/openldap-ldbm

이라고 되어있을꺼여요

이거는 바꿔도 상관없어요

 

이 디렉토리 안에 임의의 파일 test.ldif 만들어요

#vi test.ldif

dn: o=abcd.org

objectclass: top

objectclass: organization

o = abcd.org

 

자기가 하고싶은대로 만드는데 중요한건

/usr/local/ldap/etc/openldap/sldap.oc.conf

파일의 정의를 보고 이해한 후에 하세요

그렇지 않으면 계속 어디서 잘못된지 모르게 되거든요

저는 그것을 파일로 뽑아서 이해한 후에 만들었어요

objectclass간의 연관성을 이해하시고요

 

#ldapadd -D "cn=Manager, o=abcd.org" -w secret < test.ldif

 

하면 db가 생성이되어서 file이 한 4개 더 생겨요.

/usr/local/ldap/var/openldap-ldbm/ 디렉토리에 한번 보세요

 

나중에 다시 지우고 생성하고싶으면 test.ldif 파일만 바꾸고

나머지 파일은 지우고 ldapadd 하시면 다시 생성되요

 

 

9. man page 이용하기

 

저같은 경우에는 #man ldapadd 하면 man이 안떴어요

그래서 /usr/local/ldap/man/ 디렉토리 안의 man1 man3 man5 man8

디렉토리의 내용을 /usr/man/man1 man3 ... 해당 디렉토리에 파일들을

copy 해서 넣었더니 잘 되더군요...

이것도 어디서 설정하면 될텐데 모르니까 꽁수로 급한대로 사용하면 좋아요.

#cp /usr/local/ldap/man/man1/* /usr/man/man1/

#cp /usr/local/ldap/man/man3/* /usr/man/man3/

 

이런식으로요...

 

너무 많은 말을 써서 두서가 없네요.

연동이 되고 나서 test.ldif 파일을 만들어 실행하는것이 가장 힘들어요

slapd.oc.ldif 파일을 잘 이해하시고요

 

http://developer.netscape.com/docs/manuals/directory/41/ag/ldif.htm

 

이 LDAP data format 에 대해 가장 잘나온 것 같아요 읽어보시고 따라해보세요

Posted by 모노블럭

댓글을 달아 주세요