´ÙÀ½ ÀÌÀü Â÷·Ê

2. LDAP ¼­¹ö ¼³Ä¡Çϱâ

LDAP ¼­¹ö ¼³Ä¡´Â ¼±Çà Çʼö ÆÐÅ°Áö ¼³Ä¡(¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀ» °æ¿ì), ¼­¹ö ´Ù¿î·Îµå, ¼ÒÇÁÆ®¿þ¾î ¾ÐÃàÇØü, Makefile ¼³Á¤°ú ¼­¹ö ±¸ÃàÀÇ ´Ù¼¸ ´Ü°è¸¦ ÅëÇØ ÀÌ·ç¾îÁø´Ù.

2.1 ¼±Çà Çʼö, Pre-Requirements

LDAP ¹öÀü 3À» ¿ÏÀüÈ÷ µû¸£±â À§ÇØ OpenLDAP Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö´Â ¾à°£ÀÇ ºÎ°¡ÀûÀÎ ÆÐÅ°ÁöÀÇ ¼³Ä¡¸¦ ÇÊ¿ä·ÎÇÑ´Ù:

OpenSSL TLS libraries

¾î¶² ¿î¿µÃ¼Á¦°¡ ÀÌ ¶óÀ̺귯¸®¸¦ ±âº» ½Ã½ºÅÛÀÇ ºÎºÐ ¶Ç´Â ¼±ÅÃÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®·Î Á¦°øÇÒ ¼ö ÀÖÁö¸¸, OpenSSLÀº Á¾Á¾ º°µµÀÇ ¼³Ä¡¸¦ ÇÊ¿ä·Î ÇÑ´Ù. OpenSSLÀº ´ÙÀ½ »çÀÌÆ®¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.

http://www.openssl.org/

Kerberos Authentication Services

OpenLDAP Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö´Â Kerberos¿¡ ±âÃÊÇÑ ÀÎÁõ ¼­ºñ½º¸¦ Áö¿øÇϴµ¥ ƯÈ÷ Heimdal ¶Ç´Â MIT Kerberos V ÆÐÅ°Áö¸¦ ÀÌ¿ëÇÑ SASL/GSAPI ÀÎÁõ ±â±¸¸¦ Áö¿øÇÑ´Ù. Kerberos¿¡ ±âÃÊÇÑ SASL/GSSAPI ÀÎÁõÀ» »ç¿ëÇÏ°í ½Í´Ù¸é Heimdal ¶Ç´Â MIT Kerberos V¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. Heimdal Kerbero´Â http://www.pdc.kth.se/heimdal·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù.

MIT Kerberos´Â http://web.mit.edu/kerberos/www·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. Kerberos°¡ Á¦°øÇÏ´Â °Í°ú °°Àº °­·ÂÇÑ ÀÎÁõ ¼­ºñ½ºÀÇ »ç¿ëÀ» °­·ÂÈ÷ ÃßõÇÑ´Ù.

Cyrus's Simple Authentication and Security Layer Libraries

¾î¶² ¿î¿µÃ¼Á¦°¡ ÀÌ ¶óÀ̺귯¸®¸¦ ±âº» ½Ã½ºÅÛÀÇ ºÎºÐ ¶Ç´Â ¼±ÅÃÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®·Î Á¦°øÇÒ ¼ö ÀÖÁö¸¸, Cyrus SASLÀº Á¾Á¾ º°µµÀÇ ¼³Ä¡¸¦ ÇÊ¿ä·Î ÇÑ´Ù. Cyrus SASLÀº http://asg.web.cmu.edu/sasl/sasl-library.html·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. Cyrus SASLÀº OpenSSL°ú Kerberos/GSSAPI ¶óÀ̺귯¸®°¡ ¹Ì¸® ¼³Ä¡µÇ¾î ÀÖ´Ù¸é À̵éÀ» »ç¿ëÇÒ °ÍÀÌ´Ù.

Database Software

OpenLDAPÀÇ slapd ±âº» µ¥ÀÌÅͺ£À̽º ¹é¿£µåÀÎ LDBMÀº ¿£Æ®¸® ÀúÀåÀ» À§ÇØ È£È¯¼º µ¥ÀÌŸº£À̽º ÆÐÅ°Áö¸¦ ÇÊ¿ä·Î ÇÑ´Ù. LDBMÀº Sleepycat ¼ÒÇÁÆ®¿þ¾îÀÇ BerkeleyDB(Ãßõ) ¶Ç´Â ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾î Àç´Ü(FSF, Free Software Foundation)ÀÇ GNU µ¥ÀÌŸº£À̽º ¸Å´ÏÀú(GDBM)¿Í ȣȯµÈ´Ù. ÀÌ·¯ÇÑ ÆÐÅ°ÁöµéÀ» ¼³Á¤½Ã ÀÌ¿ëÇÒ ¼ö ¾ø´Ù¸é ±âº» µ¥ÀÌŸº£À̽º ¹é¿£µå Áö¿øÀ» ÇÏ´Â slapd µ¥¸óÀ» ±¸ÃàÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù.

¿î¿µÃ¼Á¦°¡ ±âº» ½Ã½ºÅÛ³»¿¡¼­ ¶Ç´Â ¼±ÅÃÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®·Î½á µÎ ÆÐÅ°Áö Áß Çϳª¸¦ Á¦°øÇÒ ¼ö Àִµ¥ ÀÌ·¯ÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ ±¸Çؼ­ ¼³Ä¡ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.

BerkekeyDB ´Â Sleepycat ¼ÒÇÁÆ®¿þ¾îÀÇ ´Ù¿î·Îµå ÆäÀÌÁö ttp://www.sleepycat.com/download.html·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. ¿©·¯ ¹öÀüÀ» ÀÌ¿ëÇÒ ¼ö Àִµ¥ ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇÏ´Â ½ÃÁ¡¿¡´Â ÃֽŠ¹èÆ÷º» ¹öÀü 3.1 ÀÌ ÃßõµÈ´Ù.

GDBMÀº FSFÀÇ ´Ù¿î·Îµå »çÀÌÆ® ftp://ftp.gnu.org/pub/gnu/gdbm·ÎºÎÅÍ ±¸ÇÒ ¼ö Àִµ¥ ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇÏ´Â ½ÃÁ¡¿¡´Â ¹öÀü 1.8 ÀÌ ÃֽŠ¹èÆ÷º»ÀÌ´Ù.

Threads

OpenLDAP´Â ¾²·¹µå¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï ¼³°èµÇ¾î Àִµ¥ POSIX pthreads, Mach CThreads¿Í ¸¹Àº ´Ù¸¥ º¯ÇüµéÀ» Áö¿øÇÑ´Ù. configure ½ºÅ©¸³Æ®°¡ ÀûÇÕÇÑ ¾²·¹µå ÇÏÀ§ ½Ã½ºÅÛÀ» ãÀ» ¼ö ¾ø´Ù¸é ¿¡·¯ ¸Þ¼¼Áö¸¦ Ãâ·ÂÇϴµ¥ ÀÌ·± °æ¿ì OpenLDAP FAQÀÇ ¼ÒÇÁÆ®¿þ¾î - ¼³Ä¡ - Ç÷§Æû ÈùÆ® ÀýÀ» ÂüÁ¶ÇÏ±æ ¹Ù¶õ´Ù.

http://www.openldap.org/faq

TCP Wrappers

slapd´Â TCP wrappers(IP ·¹º§ ¿¢¼¼½º Á¦¾î ÇÊÅÍ)°¡ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Ù¸é À̸¦ Áö¿øÇϴµ¥ °³ÀÎÀûÀÎ ºñ°ø°³ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ¼­¹ö º¸¾ÈÀ» À§ÇØ TCP wrappers ¶Ç´Â ´Ù¸¥ IP ·¹º§ ¿¢¼¼½º ÇÊÅÍ(IP ·¹º§ ¹æÈ­º®ÀÌ Á¦°øÇÏ´Â °Í°ú °°Àº) »ç¿ëÀ» ÃßõÇÑ´Ù.

2.2 ÆÐÅ°Áö ´Ù¿î·Îµå ¹Þ±â

LDAP ¼­¹ö·Î´Â Michigan ´ëÇÐ LDAP ¼­¹ö¿Í OpenLDAP ¼­¹ö µÎ Á¾·ùÀÇ ÀÚÀ¯·ÎÀÌ ¹èÆ÷µÇ´Â LDAP ¼­¹ö°¡ ÀÖÀ¸¸ç ¶ÇÇÑ ³Ý½ºÄÉÀÌÇÁ µð·ºÅ丮 ¼­¹öµµ ¾î¶² Á¶°ÇÇÏ¿¡¼­´Â ÀÚÀ¯·ÎÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù(¿¹¸¦ µé¸é ±³À°±â°üÀº ÀÚÀ¯·ÎÀÌ ¾òÀ» ¼ö ÀÖ´Ù). OpenLDAP ¼­¹ö´Â Michigan ´ëÇÐ LDAP ¼­¹öÀÇ ÃֽŠ¹öÀü¿¡ ±âÃÊÇϴµ¥ ±× ¹öÀü¿¡ ´ëÇØ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ¸ÞÀϸµ ¸®½ºÆ®¿Í ºÎ°¡Àû ¹®¼­°¡ ÀÖ´Ù. ÀÌ ¹®¼­´Â OpenLDAP ¼­¹öÀÇ »ç¿ëÀ» °¡Á¤ÇÑ´Ù.

ÃֽŠtar gzipped ¹öÀüÀº ´ÙÀ½ ÁÖ¼Ò¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù:

http://www.openldap.org/

Michigan ´ëÇÐ LDAP ¼­¹öÀÇ ÃֽŠ¹öÀüÀº ´ÙÀ½ ÁÖ¼Ò¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù:

ftp://terminator.rs.itd.umich.edu/ldap

ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇϱâ À§ÇØ ÀúÀÚ´Â ÃֽŠ¾ÈÁ¤ ¹öÀü 1.2.11°ú »õ·ÎÀÌ ¹èÆ÷µÈ 2.0.4 ¹öÀü µÎ°¡Áö OpenLDAP ÆÐÅ°Áö¸¦ »ç¿ëÇß´Ù. ¿î¿µÃ¼Á¦´Â Ä¿³Î 2.2.13ÀÎ ½½·¢¿þ¾î ¸®´ª½ºÀÌ´Ù.

OpenLDAP »çÀÌÆ®¿¡¼­ ´Ã OpenLDAP ¼­¹öÀÇ ÃֽŠ°³¹ß ¹× ¾ÈÁ¤ ¹öÀüÀ» ãÀ» ¼ö ÀÖ´Ù. ÀÌ ¹®¼­°¡ °»½ÅµÇ¾ú´ø ½ÃÁ¡±îÁö ÃֽŠ¾ÈÁ¤ ¹öÀü°ú ÃֽŠ°³¹ß ¹öÀüÀº °¢°¢ openldap-stable-20000704.tgz°ú openldap-2.0.4.tgz ¿´´Ù.

2.3 ÆÐÅ°Áö ¾ÐÃàÇØÁ¦ Çϱâ

tar gzipped ÆÐÅ°Áö¸¦ ±¸ÇÑ ÈÄ ¾ÐÃàÇØÁ¦ÇÑ´Ù.

¿ì¼± ÆÐÅ°Áö¸¦ ¿øÇÏ´Â µð·ºÅ丮, ¿¹¸¦ µé¸é /usr/local, ·Î º¹»çÇÏ±æ ¹Ù¶õ´Ù.

±×¸®°í ´ÙÀ½ÀÇ ¸í·ÉÀ» »ç¿ëÇÏ±æ ¹Ù¶õ´Ù:

tar xvzf openldap-stable.tgz
 

¸¶Âù°¡Áö·Î ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù:

 gunzip openldap-stable.tgz | tar xvf -

2.4 ¼ÒÇÁÆ®¿þ¾î ¼³Á¤Çϱâ

À¥»çÀÌÆ®¿¡ ÃÖÀûÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖµµ·Ï °³º°È­(customization)ÇÒ ¼ö ÀÖ´Â ¿©·¯ ¿É¼ÇµéÀÌ ÀÖ´Ù.

¼ÒÇÁÆ®¿þ¾î´Â ´ÜÁö µÎ ´Ü°è¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù:

include/ldapconfig.h.edit ÆÄÀϾȿ¡¼­ slapd¿Í slurpd µ¥¸óÀÇ À§Ä¡¿Í °°Àº ¿É¼ÇÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ÆÄÀÏÀÚü°¡ Àß ÁÖ¼®Ã³¸® µÇ¾î ÀÖ°í default ¼³Á¤Àº ´ëºÎºÐÀÇ ÀϹÝÀûÀÎ °ü¸®ÀÚ ¼±ÅÃÀ» ¹Ý¿µÇÏ°í Àִµ¥ ±ÞÇÏ´Ù¸é ÀÌ ´Ü°è¸¦ Áö³ªÄ¥ ¼ö ÀÖ´Ù:

vi include/ldapconfig.h.edit

OpenLDAP ¼­¹ö ¼Ò½º´Â ¼³Ä¡ µð·ºÅ丮, ÄÄÆÄÀÏ·¯¿Í ¸µÄ¿ Ç÷¡±×¿Í °°Àº ¿É¼Ç ¼³Á¤À» À§ÇÑ ¼³Á¤ ½ºÅ©¸³Æ®¿Í ÇÔ²² ¹èÆ÷µÇ´Âµ¥ ¼ÒÇÁÆ®¿þ¾î¸¦ ¾ÐÃàÇØÁ¦ÇÑ µð·ºÅ丮¿¡¼­ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇà½ÃŲ´Ù:

./configure --help

ÀÌ ¸í·ÉÀº ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡Çϱâ Àü¿¡ configure ½ºÅ©¸³Æ®¸¦ °®°í °³º°È­ÇÒ ¼ö ÀÖ´Â ¸ðµç ¼±ÅûçÇ×À» Ãâ·ÂÇÒ °ÍÀÌ´Ù. ¼³Ä¡ µð·ºÅ丮 ¼³Á¤¿¡ °üÇÑ À¯¿ëÇÑ ¿É¼ÇÀº --prefix=pref, --exe-prefix=eprefix ¿Í --bindir=dir °¡ ÀÖ´Ù. ÀϹÝÀûÀ¸·Î ¿É¼Ç¾øÀÌ configure¸¦ ½ÇÇà½ÃŲ´Ù¸é ½ºÅ©¸³Æ®°¡ ÀûÀýÇÑ ¼³Á¤À» ÀÚµ¿ÀûÀ¸·Î ÀÎÁöÇؼ­ default·Î °øÅë À§Ä¡¿¡ ¼³Ä¡Çϱâ À§ÇØ ÁغñÇÒ °ÍÀÌ´Ù. ´ÜÁö ´ÙÀ½°ú °°ÀÌ ½ÇÇà½ÃŲ´Ù:

./configure

¸ðµç °ÍÀÌ Àß ÁøÇàµÇ´ÂÁö º¸±â À§ÇØ È­¸é¿¡ Ãâ·ÂµÇ´Â ³»¿ëÀ» º¸±æ ¹Ù¶õ´Ù.

2.5 ¼­¹ö ±¸ÃàÇϱâ

¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Á¤ÇÑ ÈÄ ±¸ÃàÀ» ½ÃÀÛÇϴµ¥ ¿ì¼± ´ÙÀ½ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ÀÇÁ¸¼ºÀ» ±¸ÃàÇÑ´Ù:

make depend

´ÙÀ½ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ¼­¹ö¸¦ ±¸ÃàÇÑ´Ù:

make

¸ðµç °ÍÀÌ Àß ÁøÇàµÈ´Ù¸é ¼­¹ö´Â ¼³Á¤µÈ´ë·Î ±¸ÃàµÉ °ÍÀÌ´Ù. ±×·¸Áö ¾Ê´Ù¸é ¼³Á¤ »çÇ×À» °ËÅäÇϱâ À§ÇØ ÀÌÀü ´Ü°è·Î µ¹¾Æ°¡±æ ¹Ù¶õ´Ù. Ç÷§Æû¿¡ °ü°èµÇ´Â Ư¼öÇÑ Áö½Ã¸¦ °Ë»çÇØ¾ß Çϴµ¥ ¼ÒÇÁÆ®¿þ¾î¸¦ ¾ÐÃàÇØÁ¦ÇÑ µð·ºÅ丮¹ØÀÇ doc/install/hints ¿¡ ÀÖ´Ù.

¹ÙÀ̳ʸ®¿Í man ÆäÀÌÁö¸¦ ¼³Ä¡ÇÑ´Ù. ¾îµð¿¡ ¼³Ä¡ÇÏ´À³Ä¿¡ µû¶ó ½´ÆÛÀ¯ÀúÀÏ ÇÊ¿ä°¡ ÀÖ´Ù.

su
make install

¼³Ä¡°¡ ¿Ï·áµÇ¾úÀ¸¸ç ¼­¹ö ¹ÙÀ̳ʸ®¿Í ¿©·¯ ´Ù¸¥ À¯Æ¿¸®Æ¼µéÀÌ »ý¼ºµÇ¾úÀ» °ÍÀÌ´Ù. LDAP ¼­¹ö ÀÛµ¿ ¼³Á¤ ¹æ¹ýÀ» º¸±â À§Çؼ­´Â ´ÙÀ½À¸·Î °¡±æ ¹Ù¶õ´Ù.

OpenLDAP 2.0 ¼­¹öÀÇ ¹ÙÀ̳ʸ®´Â slapdÀÌ´Ù. OpenLDAP 2.0Àº °ø½ÄÀûÀ¸·Î 8¿ù 30ÀÏ ¹ßÇ¥µÇ¾ú´Âµ¥ RFC 2251¿¡ Á¤ÀÇµÈ ¹Ù¿Í °°ÀÌ Ldap ÇÁ·ÎÅäÄÝ v2À» Æ÷ÇÔÇÏ°í ÀÖ´Ù.

OpenLDAP 2.0 ÀÇ ÁÖµÈ Æ¯Â¡Àº ´ÙÀ½°ú °°´Ù:

Note: LDP(Linux Document Projext)¿¡ LDAP Implementation HOWTO ¹®¼­°¡ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ¹®¼­´Â OpenLDAP 2.0 ÀÇ »õ·Î¿î Ư¡À» ÀÌ¿ëÇÏ±æ ¿øÇÏ´Â »ç¶÷µé¿¡°Ô ¸¹Àº ÀڷḦ Á¦°øÇÒ °ÍÀÌ´Ù. ¹èÆ÷ ³¯Â¥´Â 2000³â 12¿ù ÁîÀ½ÀÌ´Ù.

OpenLDAP ÆÐÅ°Áö ÃֽŠ¹öÀü¿¡¼­´Â ±¸ÃàµÈ ¹ÙÀ̳ʸ®¸¦ ½ÃÇèÇÏ´Â °Í ¶ÇÇÑ °¡´É Çѵ¥ ´ÙÀ½ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ½ÃÇè ½ºÅ©¸³Æ®¸¦ ½ÇÇà½Ãų ¼ö ÀÖ´Ù:

make test

¾î¶² °ÍÀÌ Àß µÇÁö ¾Ê´Â´Ù¸é Ctrl-C¸¦ ´­·¯ Áß°£¿¡ Á¤Áö½Ãų ¼ö ÀÖ´Ù. ÀúÀÚÀÇ °æ¿ì ½ºÅ©¸³Æ®°¡ ¿ÏÀüÈ÷ ³¡³ª±â Àü¿¡ Áß°£¿¡ ¸ØÃß¾ú´Âµ¥ ¾î·µç OpenLDAP ¼³Á¤¿¡ ´ëÇÑ ¼º°øÀûÀÎ ¸Þ½ÃÁö¸¦ º¼ ¼ö ÀÖ¾ú´Ù.


´ÙÀ½ ÀÌÀü Â÷·Ê