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 에 대해 가장 잘나온 것 같아요 읽어보시고 따라해보세요
|