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

2. HTTP ¼­¹öÀÇ ¼³Ä¡

¼­¹ö¸¦ ¹ÞÀ» ¶§ 2°¡ÁöÀÇ ¼±ÅÃÀÌ Àִµ¥ ¼Ò½º¸¦ ¾ò¾î ÀÚ½ÅÀÌ ÄÄÆÄÀÏÇϰųª ±â ÄÄÆÄÀÏµÈ ÀÌÁøÆÄÀÏÀ» ¾ò´Â °ÍÀÌ´Ù. NCSA¿¡´Â ¸®´ª½º(ELF)¿¡¼­ ÄÄÆÄÀÏµÈ ÀÌÁøÆÄÀÏÀÌ Á¸ÀçÇÏÁö¸¸ ÀÌÀü ¹öÀüµéÀº ¾ø´Ù.

2.1 ¹Þ±â ÀüÀÇ Áغñ

NCSAÀÇ ¼­¹ö¿¡´Â ȯ°æ ±¸¼º ¼±ÅûçÇ×°ú ÁغñÇÒ ¿©·¯ ÆÄÀϵ鿡 ´ëÇÏ¿© ´Ü°èº°·Î ¾È³»ÇÑ´Ù. ÇÏÁö¸¸ HTTPd¸¦ ³»·Á¹Þ±â Àü¿¡ ´ÙÀ½ÀÇ Áú¹®µé¿¡ ´ëÇÑ ´äº¯À» ÁغñÇØ¾ß ÇÑ´Ù.

O/S

¿ì¼±, ¼Ò½º ¶Ç´Â ÀÌ¹Ì ÄÄÆÄÀÏµÈ ¹öÀüÀ» ³»·Á¹ÞÀ»Áö ¼±ÅÃÇØ¾ß ÇÑ´Ù. ¸Þ´º¿¡ ÇØ´ç ½Ã½ºÅÛÀÌ ¾ø´Ù¸é, ¼Ò½º¸¦ ¾ò¾î´Ù ÀÚ½ÅÀÌ Á÷Á¢ ÄÄÆÄÀÏ ÇØ¾ß ÇÑ´Ù. ÀÚ½ÅÀÇ ½Ã½ºÅÛÀÇ ¸®´ª½º ¹öÀüÀ» üũÇϱâ À§ÇÏ¿© ¸í·É ÇÁ·ÒÇÁÆ®¿¡¼­ ¾Æ·¡¿Í °°ÀÌ ÀÔ·ÂÇϸé

       linux:~$  uname -a
´ÙÀ½°ú ºñ½ÁÇÑ ÇÑ ¶óÀÎÀÇ ´ë´äÀ» ¹Þ´Âµ¥
   linux:~$  uname -a
     Linux linux 2.0.29 #4 Tue Sep 13 04:05:51 CDT 1994 i586
     linux:~$
ÀÌ ¸®´ª½º ¹öÀüÀº 2.0.29ÀÌ´Ù.

³ª¸ÓÁö ¸Å°³º¯¼öµéÀº ¹Þ±â Àü¿¡ ¸í½ÃÇϰųª, ÈÄ¿¡ ȯ°æ ±¸¼ºÀ» ÇÒ ¶§ /usr/local/etc/httpd/conf µð·ºÅ丮ÀÇ srm.conf ÆÄÀÏ ¼öÁ¤À» ÅëÇØ ¸í½ÃÇÒ ¼ö ÀÖ´Ù. httpd.conf ÆÄÀÏ ¾È¿¡ ³ªÅ¸³ª´Â ½ÇÁ¦ ¼±¾ð ¸íĪµéÀº bracket ¾È¿¡ º¸ÀδÙ. srm.conf ÆÄÀÏ ¾È¿¡ ³ªÅ¸³­ DocumentRoot ¼±¾ð¸¸Àº ¿¹¿Ü´Ù.

ÇÁ·Î¼¼½º ŸÀÔ (ServerType)

ÀÌ°ÍÀº HTTPd¼­¹ö°¡ ½ÇÇàµÇ´Â ¹æ¹ýÀ» ¸í½ÃÇÑ´Ù. Á¦Ãâ ¹æ¹ýÀº 'standalone'ÀÌ´Ù. ÀÌ°ÍÀº Áö¼ÓÀûÀ¸·Î ½ÇÇàµÇ´Â HTTP µ¥¸óÀ» ¸¸µç´Ù. ¸¸ÀÏ 'inetd'¿¡¼­ HTTPd ·Îµå¸¦ ¼±ÅÃÇß´Ù¸é ¼­¹ö ÀÌÁøÆÄÀÏÀº ¸ðµç ¿äûÀ» À§ÇÏ¿© ¸Þ¸ð¸®·Î ´Ù½Ã ÀûÀçµÉ °ÍÀÌ°í, ¼­¹öÀÇ ´Ù¿î·Îµå¸¦ ´À¸®°Ô ÇÒ °ÍÀÌ´Ù.

¹ÙÀεù Æ÷Æ® (Port)

ÀÌ°ÍÀº HTTPd µ¥¸óÀÇ HTTP ¿äûÀ» ¹Þ¾ÆµéÀÌ°í ¹ÙÀεåÇÒ ¸Ó½ÅÀÇ Æ÷Æ®¸¦ ¸í½ÃÇÑ´Ù. ¸¸ÀÏ root·Î ·Î±×ÀÎÇß´Ù¸é, ±âº»°ªÀº 80ÀÌ´Ù. ±×·¸Áö ¾Ê´Ù¸é 1025¿¡¼­ 65535»çÀÌÀÇ °ªÀ» ¼¼ÆÃÇ϶ó.

¼­¹ö »ç¿ëÀÚ È®ÀÎÇϱâ (User)

ÀÌ°ÍÀº »ç¿ëÀÚ IDÀÌ¸ç ¼­¹ö°¡ ÆÄÀÏÀÇ ¿äû ÀÀ´ä°ú È°µ¿ÇÒ ¶§ º¯°æµÉ °ÍÀÌ´Ù. ÀÌ Áú¹®Àº ¼­¹ö°¡ '´Üµ¶(standalone)'À¸·Î ½ÇÇà ÁßÀÏ ¶§¿¡¸¸ ´ë´äÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ¸¸ÀÏ root ±ÇÇÑÀÌ ¾ø´Ù¸é ÀÚ½ÅÀÇ ·Î±×ÀÎ À̸§À» »ç¿ëÇ϶ó. ¸¸ÀÏ ½Ã½ºÅÛ °ü¸®ÀÚ¶ó¸é ÆÄÀÏ Á¢±Ù ±ÇÇÑÀ» Á¶Á¤ÇÒ ¼ö Àִ Ư¼ö »ç¿ëÀÚ¸¦ »ý¼ºÀ» ÇÒ ¼öµµ ÀÖ´Ù.

¼­¹ö ±×·ì È®ÀÎÇϱâ (Group)

ÀÌ°ÍÀº ±×·ì IDÀÌ¸ç ¼­¹ö°¡ ÆÄÀÏÀÇ ¿äû ÀÀ´ä°ú È°µ¿ÇÒ ¶§ º¯°æµÉ °ÍÀÌ´Ù. ÀÌ°ÍÀº ¼­¹ö »ç¿ëÀÚ È®Àΰú ºñ½ÁÇÏ¸ç ¼­¹ö°¡ standalone¿¡¼­ ½ÇÇàµÉ ¶§¸¸ Àû¿ëÇÒ ¼ö ÀÖ´Ù.

¸¸ÀÏ root±ÇÇÑÀÌ ¾ø´Ù¸é, ÀÚ½ÅÀÇ ÁÖ ±×·ì À̸§À» »ç¿ëÇ϶ó. ¸®´ª½º ¸í·É ÇÁ·ÒÇÁÆ®¿¡¼­ groups¶ó´Â ¸í·ÉÀ¸·Î ÀÚ½ÅÀÇ ±×·ìÀ» ã¾Æ³¾ ¼ö ÀÖ´Ù.

¼­¹ö °ü¸®ÀÚ email ÁÖ¼Ò (ServerAdmin)

ÀÌ°ÍÀº ¼­¹ö¿¡ ¹®Á¦°¡ º¸°íµÉ ¶§ »ç¿ëÀÚ°¡ email ¸Þ¼¼Áö¸¦ º¸³»°Ô µÉ ÁÖ¼ÒÀÌ´Ù. °³ÀÎÀÇ ÀüÀÚ¸ÞÀÏ ÁÖ¼Ò¸¦ ³ÖÀ» ¼öµµ ÀÖ´Ù.

¼­¹ö µð·ºÅ丮 À§Ä¡ (ServerRoot)

ÀÌ°ÍÀº ¼­¹ö°¡ ½Ã½ºÅÛ¿¡¼­ Á¸ÀçÇÏ´Â À§Ä¡ÀÌ´Ù. ¸¸ÀÏ root±ÇÇÑÀ» °¡Áö°í ÀÖ´Ù¸é /usr/local/etc/httpd¿¡ À§Ä¡ÇÒ °ÍÀ» ÃßõÇÑ´Ù. root·Î ·Î±×ÀÎÇÒ ¼ö ¾ø´Ù¸é ÀÚ½ÅÀÇ ·çÆ®µð·ºÅ丮 ¾Æ·¡ÀÇ ¼­ºê µð·ºÅ丮¸¦ ¼±ÅÃÇ϶ó. pwd¸í·ÉÀ¸·Î ÀÚ½ÅÀÇ È¨µð·ºÅ丮¸¦ ã¾Æ ³¾ ¼ö ÀÖ´Ù.

HTML ÆÄÀÏ À§Ä¡ (DocumentRoot)

HTML ÆÄÀϵéÀÌ ÀúÀåµÉ À§Ä¡´Ù. ±âº»°ªÀº /usr/local/etc/httpd/htdocs ÀÌ´Ù. ¼­¹ö »ç¿ëÀÚ È®Àο¡¼­ ¼±ÅÃÇÑ Æ¯¼ö »ç¿ëÀÚÀÇ È¨ µð·ºÅ丮·Î ¼³Á¤Çϰųª, ·çÆ®·Î ·Î±×ÀÎ ÇÒ ¼ö ¾ø´Ù¸é »ç¿ëÀÚÀÇ ¼­ºê µð·ºÅ丮¸¦ ¼±Åà ÇÒ ¼öµµ ÀÖ´Ù. È®½ÇÇÏÁö ¾Ê´Ù¸é ±âº»°ªÀ¸·Î ¼¼ÆÃÇ϶ó.

hoohoo.ncsa.uiuc.edu/docs/setup/OneStep.html¿¡¼­ NCSA HTTPd¸¦ ¹Þ±â Àü¿¡ À§ÀÇ Áú¹®¿¡ ´ëÇÑ ´ë´äÀ» ÇØ¾ß ÇÑ´Ù.

¼³Ä¡ Àü¿¡ hoohoo.ncsa.uiuc.edu/docs/ ¾ÈÀÇ HTTPd¹®¼­µéÀ» Àо¶ó. ¸¸ÀÏ ÄÄÆÄÀÏÇÒ °èȹÀ̶ó¸é °¢°¢ support,src,cgi-src ¼¼°³ÀÇ µð·ºÅ丮 ¾È¿¡ Makefile ÆÄÀϵéÀ» ¼öÁ¤Ç϶ó. ¸®´ª½º ¹öÀü¿¡¼­´Â ÀÌ¹Ì Áö¿øµÇ¹Ç·Î ÃÖ»óÀ§ µð·ºÅ丮¿¡¼­ 'make linux' ¶ó°í ÀÔ·ÂÇ϶ó(¿¹ /usr/local/etc/httpd)

2.2 HTTPd ÄÄÆÄÀÏ

ÄÄÆÄÀÏÀº ´Ü¼øÇÏ´Ù. ´ÜÁö ¼­¹ö root µð·ºÅ丮¿¡¼­ 'make linux'¸¦ ÀÔ·Â Ç϶ó . ÁÖÀÇ : HTTPd ÄÄÆÄÀÏÇϱâ Àü¿¡ pre-ELF ¸®´ª½º »ç¿ëÀÚ¶ó¸é portability.h ÆÄÀÏÀÇ #define NO_PASSÀÇ ÁÖ¼®À» ÇØÁ¦ÇÏ°í Makefile¾È¿¡ set DBM_LIBS= -ldbm¸¦ ¼³Á¤Ç϶ó.


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