From: André Malo Apache HTTP Server Version 2.1 ¾ÆÆÄÄ¡°¡ ƯÁ¤ ÁÖ¼Ò¿Í Æ÷Æ®¿¡¼ ¼ºñ½ºÇϵµ·Ï ¼³Á¤Çϱâ. ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇÏ¸é ¾ÆÆÄÄ¡´Â ÄÄÇ»ÅÍÀÇ ¾î¶² Æ÷Æ®¿Í ÁÖ¼Ò¿¡
+ ¿¬°áÇÏ¿©, µé¾î¿À´Â ¿äûÀ» ±â´Ù¸°´Ù. ±âº»ÀûÀ¸·Î ¾ÆÆÄÄ¡´Â
+ ÄÄÇ»ÅÍÀÇ ¸ðµç ÁÖ¼Ò¿¡¼ ±â´Ù¸°´Ù. ±×·¯³ª ¾ÆÆÄÄ¡°¡ ƯÁ¤ Æ÷Æ®³ª
+ ¼±ÅÃÇÑ ÁÖ¼Ò¸¸À» ±â´Ù¸®°Ô ÇØ¾ßÇÒ °æ¿ì°¡ ÀÖ´Ù. ¶Ç ÀÌ ¹®Á¦´Â
+ ¾ÆÆÄÄ¡°¡ ¾î¶»°Ô ´Ù¸¥ IP ÁÖ¼Ò, È£½ºÆ®¸í, Æ÷Æ®¿¡ ¹ÝÀÀÇÒÁö¸¦
+ °áÁ¤ÇÏ´Â °¡»óÈ£½ºÆ® ±â´É°úµµ °ü·ÃµÇÀÖ´Ù. ¿¹¸¦ µé¾î, ¼¹ö°¡ 80¹ø°ú 8000¹ø Æ÷Æ® ¸ðµÎ¿¡¼ ¿¬°áÀ»
+ ¹Þµµ·Ï ÇÏ·Á¸é: ¼¹ö°¡ ÁöÁ¤ÇÑ µÎ ÀÎÅÍÆäÀ̽º¿Í Æ÷Æ®¿¡¼ ¿¬°áÀ» ±â´Ù¸®µµ·Ï
+ ÇÏ·Á¸é, IPv6 ÁÖ¼Ò´Â ´ÙÀ½°ú °°ÀÌ ´ë°ýÈ£·Î ¹¾î¾ß ÇÑ´Ù: IPv6¸¦ ±¸ÇöÇÑ Ç÷¡ÆûÀÌ ´Ã°í ÀÖ°í APRÀÌ À̵é Ç÷¡Æû ´ëºÎºÐ¿¡¼
+ IPv6¸¦ Áö¿øÇϱ⶧¹®¿¡, ¾ÆÆÄÄ¡´Â IPv6 ¼ÒÄÏÀ» ÇÒ´çÇÏ¿© IPv6·Î
+ ¹ÞÀº ¿äûÀ» ó¸®ÇÒ ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡ °ü¸®ÀÚ¿¡°Ô º¹ÀâÇÑ ºÎºÐÀº IPv6 ¼ÒÄÏÀÌ IPv4 ¿¬°á°ú
+ IPv6 ¿¬°áÀ» ¸ðµÎ ó¸®ÇÒ ¼ö ÀÖ´À³Ä´Â Á¡ÀÌ´Ù. ´ëºÎºÐÀÇ Ç÷¡Æû¿¡¼´Â
+ IPv4-´ëÀÀ(mapped) IPv6 ÁÖ¼Ò¸¦ »ç¿ëÇÏ¿© IPv6 ¼ÒÄÏ¿¡¼ IPv4
+ ¿¬°áÀ» ¹ÞÁö¸¸, FreeBSD¿Í NetBSD¿Í OpenBSDÀº ½Ã½ºÅÛÀüü Á¤Ã¥¶§¹®¿¡
+ ±âº»ÀûÀ¸·Î Çã¿ëÇÏÁö ¾Ê´Â´Ù. ±×·¯³ª ±âº»ÀûÀ¸·Î Çã¿ëÇÏÁö¾Ê´Â
+ ½Ã½ºÅÛÀÌ¶óµµ ¾ÆÆÄÄ¡¸¦ À§ÇØ Æ¯º°ÇÑ ¼³Á¤ ÆÄ¶ó¹ÌÅÍ·Î º¯°æÇÒ
+ ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡°¡ ÃÖ¼ÒÇÑÀÇ ¼ÒÄÏÀ» »ç¿ëÇÏ¿© IPv4 ¿¬°á°ú IPv6 ¿¬°áÀ»
+ ¸ðµÎ ¹Þµµ·ÏÇÏ·Á¸é IPv4-´ëÀÀ IPv6 ÁÖ¼Ò¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ±×·¯±âÀ§Çؼ
+ ÄÄÆÄÀ϶§ ±¸¼º ¿É¼Ç Ç÷¡Æû°ú APRÀÇ Áö¿ø¿©ºÎ¿Í °ü°è¾øÀÌ ¾ÆÆÄÄ¡°¡ IPv4 ¿¬°á¸¸À»
+ ¹Þµµ·ÏÇÏ·Á¸é, ´ÙÀ½ ¿¹Á¦¿Í °°ÀÌ ¸ðµç Listen Áö½Ã¾î¿¡ IPv4 ÁÖ¼Ò¸¦
+ »ç¿ëÇÑ´Ù: IPv4 ¿¬°á°ú IPv6 ¿¬°áÀ» ¼·Î ´Ù¸¥ ¼ÒÄÏÀ¸·Î ¹ÞÀ¸·Á¸é,
+ ÄÄÆÄÀ϶§ ±¸¼º ¿É¼Ç ListenÀº °¡»óÈ£½ºÆ®¸¦ ¸¸µéÁö ¾Ê´Â´Ù. ÀÌ´Â ´ÜÁö ÁÖ¼¹ö°¡
+ ¾î¶² ÁÖ¼Ò¿Í Æ÷Æ®¸¦ ±â´Ù¸±Áö¸¸ ¾Ë·ÁÁØ´Ù. Apache HTTP Server Version 2.1 ¾ÆÆÄÄ¡ 1.1.1°ú ±× ÀÌÀü ¹öÀüÀÇ °æ¿ì CGI ȯ°æ¿¡¼
+ PATH_INFO¸¦ ¸¸µå´Â ¹æ¹ýÀÌ Á÷°üÀûÀÌÁö ¾Ê°í ¾î¶² °æ¿ì ¼¹ö¸¦
+ Á×À̱⵵ Çß´Ù. ¾ÆÆÄÄ¡ 1.2 ÀÌÈÄ ÀÌ ¹æ¹ýÀÌ º¯Çß´Ù. ±âÁ¸ÀÇ
+ ¾î¶² CGI ÇÁ·Î±×·¥µé°ú ¾à°£ÀÇ È£È¯¹®Á¦°¡ ÀÖÁö¸¸
+ ¾ÆÆÄÄ¡ 1.2ÀÇ ÇൿÀº ¾ÆÁ÷µµ CGI/1.1 ±Ô¾àÀ» ¹ù¾î³ªÁö¾ÊÀ¸¸ç,
+ ½±°Ô CGI ½ºÅ©¸³Æ®¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù. (¾Æ·¡
+ Âü°í) ¾ÆÆÄÄ¡ 1.1.1°ú ±× ÀÌÀü ¹öÀüÀº URL ´ë½Å ÆÄÀϸíÀ»
+ °¡Áö°í PATH_INFO¿Í SCRIPT_NAME ȯ°æº¯¼ö¸¦ ±¸ÇöÇß´Ù. ¸¹Àº
+ °æ¿ì ¿Ã¹Ù¸¥ °á°ú¸¦ ¾òÁö¸¸, ÆÄÀϽýºÅÛ °æ·Î°¡ path
+ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù¸é À߸øµÈ °á°ú°¡ ³ª¿Ã ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î,
+ ¼³Á¤ÆÄÀÏ¿¡ ´ÙÀ½°ú °°Àº ³»¿ëÀÌ ÀÖ´Ù¸é: ÀÌ °æ¿ì ¾ÆÆÄÄ¡ 1.2 ÀÌÈÄ¿¡¼´Â URL¿¡¼ Ŭ¶óÀÌ¾ðÆ®°¡ Á¶Àý°¡´ÉÇÑ
+ ºÎºÐÀ» ÆÇ´ÜÇÏ¿© SCRIPT_NAME°ú PATH_INFO¸¦ ¼³Á¤ÇÑ´Ù. À§ÀÇ
+ ¿¹¿¡¼ PATH_INFO´Â " ±×·¯³ª ºÒÇàÈ÷µµ ¾ÆÆÄÄ¡ ÀÌÀü ¹öÀüÀ̳ª ´Ù¸¥ ¼¹ö¿ëÀ¸·Î ¼³°èµÈ ½ºÅ©¸³Æ®´Â
+ ÀÌÀü PATH_INFO º¯¼ö°¡ Á¦°øÇß´ø Á¤º¸°¡ ÇÊ¿äÇÒ ¼ö ÀÖ´Ù. ±×·¡¼
+ ¾ÆÆÄÄ¡ 1.2 (1.2b3 ÀÌÈÄ)´Â FILEPATH_INFO¶ó´Â º¯¼ö¸¦ ´õ ¼³Á¤ÇÑ´Ù.
+ ÀÌ È¯°æº¯¼ö´Â ¾ÆÆÄÄ¡ 1.1.1ÀÇ PATH_INFO °ªÀ» °¡Áø´Ù. ½ºÅ©¸³Æ®°¡ ¾ÆÆÄÄ¡ 1.2¿Í ÀÌÀü ¹öÀü ¸ðµÎ¿¡¼ µ¿ÀÛÇϰÔÇÏ·Á¸é,
+ ¸ÕÀú FILEPATH_INFO°¡ ÀÖ´ÂÁö °Ë»çÇϰí ÀÖ´Ù¸é ±×°ÍÀ»
+ »ç¿ëÇÑ´Ù. ¾ø´Ù¸é PATH_INFO¸¦ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î,
+ Perl·Î´Â ´ÙÀ½°ú °°´Ù: ÀÌ·¸°Ô ÇÏ¸é ¸ðµç ¾ÆÆÄÄ¡¸¦ Æ÷ÇÔÇÏ¿© CGI/1.1 ±ÔÁ¤À» µû¸£´Â
+ ¸ðµç ¼¹ö¿¡¼ ½ºÅ©¸³Æ®°¡ µ¿ÀÛÇÒ ¼ö ÀÖ´Ù. Apache HTTP Server Version 2.1 ÀÏ¹Ý ¹®¼ ÆÄÀÏÀÎ ¼³Á¤ÆÄÀÏ¿¡ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡¸¦
+ ¼³Á¤ÇÑ´Ù. ÁÖ¼³Á¤ÆÄÀÏÀ» º¸Åë ¼¹ö´Â mime ¹®¼Å¸ÀÔÀ» ´ãÀº ÆÄÀϵµ Àд´Ù. ÆÄÀϸíÀº
+ ¾ÆÆÄÄ¡ ¼³Á¤ÆÄÀÏÀº ÇÑÁÙ¿¡ ÇÑ Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù. ÁÙ ¸¶Áö¸·
+ ¹®ÀÚ°¡ ¹é½½·¡½¬ "\"À̸é Áö½Ã¾î°¡ ´ÙÀ½ ÁÙ¿¡¼ °è¼ÓµÊÀ» ¶æÇÑ´Ù.
+ ÀÌ °æ¿ì ¹é½½·¡½¬ µÚ¿¡ ¾î¶² ¹®ÀÚ³ª °ø¹éµµ ³ª¿À¸é ¾ÈµÈ´Ù. ¼³Á¤ÆÄÀÏÀÇ Áö½Ã¾î´Â ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö ¾ÊÁö¸¸, Áö½Ã¾îÀÇ
+ ¾Æ±Ô¸ÕÆ®´Â ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. ÇØ½¬¹®ÀÚ "#"·Î
+ ½ÃÀÛÇÏ´Â ÁÙÀº ÁÖ¼®À¸·Î ¹«½ÃÇÑ´Ù. ÁÖ¼®À» ¼³Á¤ Áö½Ã¾î¿Í °°Àº
+ ÁÙ¿¡ »ç¿ëÇÒ ¼ö ¾ø´Ù. ºóÁÙ°ú Áö½Ã¾î ¾Õ¿¡ ³ª¿À´Â
+ °ø¹éÀº ¹«½ÃÇϹǷÎ, °£°áÇÏ°Ô º¸À̵µ·Ï Áö½Ã¾î¸¦ ÁÙµéÀÓÇÒ(indent)
+ ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ¸ðµâÈµÈ ¼¹ö´Ù. ÀÌ´Â ¸Å¿ì ±âº»ÀûÀÎ ±â´É¸¸ÀÌ
+ ¼¹ö Çٽɿ¡ Æ÷ÇÔµÇÀÖÀ½À» ¶æÇÑ´Ù. ¾ÆÆÄÄ¡´Â ¸ðµâÀ» Àоîµé¿©¼ ±â´ÉÀ»
+ È®ÀåÇÑ´Ù. ±âº»ÀûÀ¸·Î ÄÄÆÄÀÏÇÏ¸é ¼¹ö¿¡ base ¸ðµâµéÀÌ Æ÷ÇԵȴÙ.
+ ¼¹ö¸¦ µ¿ÀûÀ¸·Î ÀоîµéÀÌ´Â ¸ðµâÀ»
+ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÄÄÆÄÀÏÇÏ¿´´Ù¸é ¸ðµâÀ» µû·Î ÄÄÆÄÀÏÇÏ¿© ¾Æ¹«¶§³ª
+ ÇöÀç ¼¹ö¿¡ ¾î¶² ¸ðµâÀÌ ÄÄÆÄÀϵÇÀÖ´ÂÁö º¸·Á¸é ÁÖ¼³Á¤ÆÄÀÏ¿¡ ÀÖ´Â Áö½Ã¾î´Â ¼¹ö Àüü¿¡ Àû¿ëµÈ´Ù. Áö½Ã¾î°¡
+ ¼¹öÀÇ ÀϺο¡¸¸ Àû¿ëµÇ°Ô ÇÏ·Á¸é Áö½Ã¾î¸¦ ¾ÆÆÄÄ¡´Â ¿©·¯ ´Ù¸¥ À¥»çÀÌÆ®¸¦ µ¿½Ã¿¡ ¼ºñ½ºÇÏ´Â
+ ´É·ÂÀÌ ÀÖ´Ù. À̸¦ °¡»óÈ£½ºÆ®¶ó°í ÇÑ´Ù.
+ Áö½Ã¾î¸¦
+ Áö½Ã¾î´Â ´ëºÎºÐ ¾î¶² ¼½¼Ç¿¡ ³ª¿Íµµ µÇÁö¸¸, ¾î¶² Áö½Ã¾î´Â
+ ƯÁ¤ Àå¼Ò¿¡¼ Àǹ̰¡ ¾ø´Ù. ¿¹¸¦ µé¾î ÇÁ·Î¼¼½º »ý¼ºÀ» Á¶ÀýÇÏ´Â
+ Áö½Ã¾î´Â ÁÖ¼¹ö¼³Á¤ Àå¼Ò¿¡¼¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù. Áö½Ã¾î°¡
+ ¾î¶² ¼½¼Ç¿¡ À§Ä¡ÇÒ ¼ö ÀÖ´ÂÁö ¾Ë·Á¸é Áö½Ã¾îÀÇ »ç¿ëÀå¼Ò¸¦ È®ÀÎÇ϶ó.
+ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â ¾î¶»°Ô Directory,
+ Location, Files ¼½¼ÇÀÌ µ¿ÀÛÇϳª¸¦ Âü°íÇ϶ó. ¾ÆÆÄÄ¡´Â Ưº°ÇÑ ÆÄÀÏÀ» »ç¿ëÇÏ¿© ¼³Á¤À»
+ ³ª´²¼(ºÐ±ÇÀûÀ¸·Î) °ü¸®ÇÒ ¼ö ÀÖ´Ù. ÀÌ Æ¯º°ÇÑ ÆÄÀÏÀ» º¸Åë
+ ¾î¶² Áö½Ã¾î¸¦ Apache HTTP Server Version 2.1 ¾ÆÆÄÄ¡´Â HTTP/1.1 ±Ô¾à¿¡ ±â¼úµÈ ³»¿ëÇù»ó(content
+ negotiation)À» Áö¿øÇÑ´Ù. ³»¿ëÇù»óÀº media type, ¾ð¾î, ¹®ÀÚÁýÇÕ,
+ ÀÎÄÚµù µî¿¡ ´ëÇØ ºê¶ó¿ìÀú°¡ Á¦°øÇÑ ¼±È£µµ¿¡ µû¶ó ÀÚ¿øÀÇ
+ °¡Àå ÀûÇÕÇÑ Ç¥ÇöÀ» ¼±ÅÃÇÑ´Ù. ¶Ç ºÒ¿ÏÀüÇÑ Çù»ó Á¤º¸¸¦ º¸³»´Â
+ ºê¶ó¿ìÀúÀÇ ¿äûÀ» Áö´ÉÀûÀ¸·Î ó¸®ÇÏ´Â ±â´Éµµ ÀÖ´Ù. ±âº»ÀûÀ¸·Î ÄÄÆÄÀϵǴ ÀÚ¿øÀº ¿©·¯ ´Ù¸¥ Ç¥ÇöÀ» °¡Áú ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ´Ù¸¥
+ ¾ð¾î³ª ´Ù¸¥ media type ȤÀº µÑ ¸ðµÎ°¡ ´Ù¸¥ Ç¥ÇöµéÀÌ ÀÖÀ»
+ ¼ö ÀÖ´Ù. °¡Àå Àû´çÇÑ Ç¥ÇöÀ» ¼±ÅÃÇÏ´Â ÇѰ¡Áö ¹æ¹ýÀº »ç¿ëÀÚ¿¡°Ô
+ ¸ñ·Ï ÆäÀÌÁö¸¦ º¸¿©ÁÖ°í ¼±ÅÃÇÏ°Ô ÇÏ´Â °ÍÀÌ´Ù. ±×·¯³ª ¼¹ö°¡
+ ÀÚµ¿À¸·Î ¼±ÅÃÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. ÀÌ´Â ºê¶ó¿ìÀú°¡ ¿äûÀÇ
+ ÀϺηΠ±×µéÀÌ ¼±È£Çϴ ǥÇö¿¡ ´ëÇÑ Á¤º¸¸¦ º¸³»±â¶§¹®¿¡
+ °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¾î, ºê¶ó¿ìÀú´Â °¡´ÉÇÑÇÑ ºÒ¾î·Î, ±×·¯³ª
+ ¾ø´Ù¸é ¿µ¾î·Î Á¤º¸¸¦ º¸°í½Í´Ù°í ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù. ºê¶ó¿ìÀú´Â
+ ¿äûÀÇ Çì´õ·Î ±×µéÀÇ ±âÈ£¸¦ ³ªÅ¸³½´Ù. ¿ÀÁ÷ ºÒ¾î·ÎµÈ Ç¥Çö¸¸À»
+ ¿äûÇÑ´Ù¸é ºê¶ó¿ìÀú´Â ´ÙÀ½°ú °°ÀÌ º¸³½´Ù. ÀÌ·± ±âÈ£´Â Ç¥ÇöÀÌ ¾ð¾îº°·Î ´Ù¸¦ °æ¿ì¿¡¸¸ °í·ÁµÈ´Ù. ´ÙÀ½Àº ´õ º¹ÀâÇÑ ¿äûÀÇ ¿¹·Î ºê¶ó¿ìÀú°¡ ºÒ¾î¿Í ¿µ¾î¸¦
+ ¹ÞÀ» ¼ö ÀÖÁö¸¸, ºÒ¾î¸¦ ´õ ¼±È£Çϰí, ¿©·¯ media typeÀ» ¹ÞÀ»
+ ¼ö ÀÖÁö¸¸, ÀÏ¹Ý ÅØ½ºÆ® º¸´Ù´Â HTML, ´Ù¸¥ media type º¸´Ù´Â
+ GIF¿Í JPEGÀ» ¼±È£ÇÑ´Ù°í ¾Ë·ÁÁØ´Ù. ¾ÆÆÄÄ¡´Â HTTP/1.1 ±Ô¾à¿¡ Á¤ÀÇµÈ '¼¹ö ÁÖµµ(server driven)'
+ ³»¿ëÇù»óÀ» Áö¿øÇÑ´Ù. ¾ÆÆÄÄ¡´Â Accept, Accept-Language,
+ Accept-Charset, Accept-Encoding ¿äû Çì´õ¸¦ ¸ðµÎ Áö¿øÇÑ´Ù.
+ ¶Ç, ¾ÆÆÄÄ¡´Â RFC 2295¿Í RFC 2296¿¡ Á¤ÀÇµÈ ½ÇÇèÀûÀÎ ³»¿ëÇù»óÀÎ
+ 'ÀÚ¿¬½º·¯¿î(transparent)' ¿äû Çì´õµµ Áö¿øÇÑ´Ù. ÀÚ¿ø(resource)Àº (RFC 2396) URI·Î ±¸º°ÇÏ´Â
+ °³³äÀûÀÎ Á¸Àç´Ù. ¾ÆÆÄÄ¡¿Í °°Àº À¥¼¹ö´Â ÀÚ¿øÀÇ
+ Ç¥Çö(representations)À» Á¦°øÇÑ´Ù. Ç¥ÇöÀº
+ ÁöÁ¤µÈ media type, ¹®ÀÚÁýÇÕ, ÀÎÄÚµù µîÀ» °¡Áø ¹ÙÀÌÆ®µé·Î
+ µÇÀÖ´Ù. ÀÚ¿øÀº ¿©·¯ Ç¥Çö°ú (¶§·Î´Â ¾øÀ» ¼öµµ ÀÖ´Ù) ¿¬°üµÈ´Ù.
+ ÀÚ¿ø¿¡ ¿©·¯ Ç¥ÇöÀÌ ÀÖ´Ù¸é ÀÚ¿øÀ»
+ Çù»ó°¡´ÉÇÏ´Ù°í(negotiable) ºÎ¸£¸ç, À̶§
+ °¢ Ç¥ÇöÀ» º¯Çü(variant)À̶ó°í ÇÑ´Ù.
+ Çù»ó°¡´ÉÇÑ ÀÚ¿øÀÇ º¯Çü Á¾·ù¸¦ Çù»óÀÇ
+ ¹üÀ§(dimension)¶ó°í ÇÑ´Ù. ÀÚ¿øÀ» Çù»óÇϱâÀ§ÇØ ¼¹ö´Â °¢ º¯Çü¿¡ ´ëÇÑ Á¤º¸°¡ ÇÊ¿äÇÏ´Ù.
+ ´ÙÀ½ µÎ°¡Áö ¹æ¹ýÁß Çϳª·Î Á¤º¸¸¦ ¾ò´Â´Ù: type mapÀº Type map ÆÄÀÏÀº ÇØ´çÇÏ´Â ÀÚ¿ø°ú À̸§ÀÌ °°¾Æ¾ß Çϰí,
+ °¢ º¯Çü¿¡ ´ëÇÑ Ç׸ñÀÌ ÀÖ¾î¾ß ÇÑ´Ù. Ç׸ñÀº ¿©·¯ HTTPÇü½Ä
+ Çì´õ ÁÙ·Î ±¸¼ºµÈ´Ù. º¯Çü¿¡ ´ëÇÑ °¢°¢ÀÇ Ç׸ñµéÀº ºóÁÙ·Î
+ ±¸ºÐÇÑ´Ù. Ç׸ñ¾È¿¡¼ ºóÁÙÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. (ÀÌ·¸°Ô ÇÒ
+ Çʿ䰡 ¾ø°í, À־ ¹«½ÃÇÏÁö¸¸) ¿©·¯ Ç׸ñÀÌ °øÅëÀ¸·Î °¡Áö°í
+ ÀÖ´Â ³»¿ëÀ¸·Î map ÆÄÀÏÀ» ½ÃÀÛÇÏ´Â °ÍÀÌ º¸ÅëÀÌ´Ù. ´ÙÀ½Àº
+ map ÆÄÀÏ ¿¹´Ù. ÀÌ ÆÄÀÏÀÇ À̸§Àº typemap ÆÄÀÏÀÌ ÆÄÀϸí È®ÀåÀÚ º¸´Ù, ½ÉÁö¾î Multiviews¸¦
+ »ç¿ëÇÏ¿©µµ, ¿ì¼±±ÇÀ» °¡ÁüÀ» ÁÖÀÇÇ϶ó. º¯ÇüÀÌ ¼·Î ´Ù¸¥ ǰÁúÀ»
+ °¡Áø´Ù¸é, ´ÙÀ½°ú °°ÀÌ (jpeg, gif, ASCII-art¿¡ ÇØ´çÇÏ´Â)
+ media type¿¡ "qs" ÆÄ¶ó¹ÌÅͷΠǰÁú(source quality)À» Ç¥½ÃÇÒ
+ ¼ö ÀÖ´Ù: qs °ªÀº 0.000¿¡¼ 1.000 »çÀÌ´Ù. qs °ªÀÌ 0.000ÀÎ º¯ÇüÀº
+ Àý´ë ¼±ÅõÇÁö ¾ÊÀ½À» ÁÖÀÇÇ϶ó. 'qs' °ªÀÌ ¾ø´Â º¯ÇüÀº 1.0À¸·Î
+ Ãë±ÞµÈ´Ù. qs °ªÀº Ŭ¶óÀ̾ðÆ®ÀÇ ´É·Â°ú´Â °ü°è¾øÀÌ ´Ù¸¥ º¯Çüµé°ú
+ ºñ±³ÇÏ¿© ±× º¯ÇüÀÇ »ó´ëÀûÀÎ 'ǰÁú'À» ³ªÅ¸³½´Ù. ¿¹¸¦ µé¾î,
+ »çÁøÀ» ³ªÅ¸³»·Á´Â °æ¿ì jpeg ÆÄÀÏÀÌ ascii ÆÄÀϺ¸´Ù´Â Ç×»ó
+ ³ôÀº ǰÁúÀ» °¡Áø´Ù. ±×·¯³ª ÀÚ¿øÀÌ ¿ø·¡ ascii art¿´´Ù¸é
+ ascii Ç¥ÇöÀÌ jpeg Ç¥Çöº¸´Ù ´õ ³ôÀº ǰÁúÀ» °¡Áú ¼ö ÀÖ´Ù.
+ ±×·¯¹Ç·Î ¾î¶² º¯ÇüÀÇ qs °ªÀº Ç¥ÇöÇÏ·Á´Â ÀÚ¿øÀÇ ¼ºÁú¿¡
+ µû¶ó ´Ù¸£´Ù. Áö¿øÇÏ´Â ¸ðµç Çì´õ ¸ñ·ÏÀº mod_negotation
+ typemap ¹®¼¸¦ Âü°íÇ϶ó. µð·ºÅ丮¸¦ ÀÐÀ»¶§ ÆÄÀÏÁß Çϳª°¡ Charset, Content-Type,
+ Language, Encoding¸¦ ÆÇ´ÜÇÏ´Â ¾ÆÆÄÄ¡°¡ type-map ÆÄÀÏÀ̳ª µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀϸíµé·Î
+ ÁÖ¾îÁø ÀÚ¿ø¿¡ ´ëÇÑ º¯Çü ¸ñ·ÏÀ» ¾ò°ÔµÇ¸é 'ÃÖÀûÀÇ' º¯ÇüÀ»
+ °áÁ¤ÇϱâÀ§ÇØ µÎ ¹æ¹ýÁß Çϳª¸¦ »ç¿ëÇÑ´Ù. ¾ÆÆÄÄ¡ ³»¿ëÇù»ó
+ ±â´ÉÀ» »ç¿ëÇϱâÀ§ÇØ Á¤È®È÷ Çù»óÀÌ ¾î¶»°Ô ÀϾ´ÂÁö ÀÚ¼¼È÷
+ ¾Ë ÇÊ¿ä´Â ¾ø´Ù. ±×·¯³ª ±Ã±ÝÇÑ »ç¶÷À» À§ÇØ ÀÌ ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. µÎ°¡Áö Çù»ó¹æ¹ýÀÌ ÀÖ´Ù: ¾ÆÆÄÄ¡´Â ºê¶ó¿ìÀú¿¡°Ô º¸³¾ 'ÃÖÀûÀÇ' º¯ÇüÀ» (ÀÖ´Ù¸é)
+ ¼±ÅÃÇϱâÀ§ÇØ ¾Æ·¡ ¾Ë°í¸®ÁòÀ» »ç¿ëÇÑ´Ù. ÀÌ ¾Ë°í¸®ÁòÀº º¯°æÇÒ
+ ¼ö ¾ø´Ù. ´ÙÀ½¿Í °°ÀÌ µ¿ÀÛÇÑ´Ù: ¾ÆÆÄÄ¡´Â Á¾Á¾ À§ÀÇ ¾ÆÆÄÄ¡ Çù»ó ¾Ë°í¸®ÁòÀ» ¾ö°ÝÈ÷ ÁöŰÁö¾Ê°í
+ ǰÁú°è¼ö¸¦ º¯°æÇÑ´Ù. ÀÌÀ¯´Â ¿ÏÀüÇϰí Á¤È®ÇÑ Á¤º¸¸¦ º¸³»Áö¾Ê´Â
+ ºê¶ó¿ìÀú¿¡°Ô (¾Ë°í¸®ÁòÀÇ) ´õ ³ªÀº °á°ú¸¦ º¸³»±â À§Çؼ´Ù.
+ ³Î¸® ¾²ÀÌ´Â ºê¶ó¿ìÀúÁß ÀϺδ ÀÚÁÖ À߸øµÈ º¯ÇüÀ» ¼±ÅÃÇϵµ·Ï
+ Accept Çì´õ¸¦ º¸³½´Ù. ºê¶ó¿ìÀú°¡ ¿ÏÀüÇÏ°í ¿Ã¹Ù¸¥ Á¤º¸¸¦
+ º¸³½´Ù¸é, Á¶ÀÛÀ» ÇÏÁö¾Ê´Â´Ù. Accept: ¿äû Çì´õ´Â media type¿¡ ´ëÇÑ ¼±È£¸¦ ³ªÅ¸³½´Ù.
+ ¶Ç, *´Â ¾î¶² ¹®ÀÚ¿ÀÌ¶óµµ °¡´ÉÇϱ⶧¹®¿¡ "image/*"³ª "*/*"
+ °°ÀÌ '¿ÍÀϵåÄ«µå' media typeÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ±×·¡¼
+ ´ÙÀ½°ú °°Àº ¿äûÀº: "image/"·Î ½ÃÀÛÇÏ´Â ¾î¶² type°ú ´Ù¸¥ ¾î¶² typeµµ °¡´ÉÇÔÀ»
+ ÀǹÌÇÑ´Ù. ¾î¶² ºê¶ó¿ìÀú´Â
+ ÀÚ½ÅÀÌ ½ÇÁ¦·Î ´Ù·ê ¼ö ÀÖ´Â type¿¡ Ãß°¡·Î ¿ÍÀϵåÄ«µå¸¦ º¸³½´Ù.
+ ¿¹¸¦ µé¸é: ÀÌÀ¯´Â Á÷Á¢ ¿°ÅÇÑ typeÀ» ¼±È£ÇÏÁö¸¸ ´Ù¸¥ Ç¥ÇöÀÌ ÀÖ´Ù¸é
+ ±×°Íµµ ±¦ÂúÀ½À» ³ªÅ¸³»±â À§Çؼ´Ù. ºê¶ó¿ìÀú°¡ ½ÇÁ¦·Î ¿øÇÑ
+ °ÍÀº ´ÙÀ½°ú °°ÀÌ ¸í½ÃÀûÀ¸·Î ǰÁú°ªÀ» »ç¿ëÇÑ °ÍÀÌ´Ù. Á÷Á¢ ¿°ÅÇÑ typeÀº ǰÁú°è¼ö°¡ ¾ø¾î¼ ±âº»°ªÀÎ (°¡Àå ³ôÀº)
+ 1.0À» °¡Áø´Ù. ¿ÍÀϵåÄ«µå */*´Â ³·Àº ¼±È£µµ 0.01À» °¡Áö¹Ç·Î
+ Á÷Á¢ ¿°ÅÇÑ type¿¡ ¸Â´Â º¯ÇüÀÌ ¾ø´Â °æ¿ì¿¡¸¸ ´Ù¸¥ typeµéÀÌ
+ »ç¿ëµÈ´Ù. Accept: Çì´õ¿¡ q °è¼ö°¡ ÀüÇô ¾ø°í "*/*"°¡ ÀÖ´Ù¸é,
+ ¾ÆÆÄÄ¡´Â ¹Ù¶÷Á÷ÇÑ ÇൿÀ» À§ÇØ q °ªÀ¸·Î 0.01À» ÁöÁ¤ÇÑ´Ù.
+ ¶Ç, "type/*" ÇüÅÂÀÇ ¿ÍÀϵåÄ«µå¿¡´Â ("*/*"º¸´Ù´Â ´õ ¼±È£Çϵµ·Ï)
+ 0.02¸¦ ÁöÁ¤ÇÑ´Ù. Accept: Çì´õ¿¡¼ q °è¼ö¸¦ °¡Áö´Â media typeÀÌ
+ ÀÖ´Ù¸é ÀÌ·± Ưº°ÇÑ °ªÀ» Ãß°¡ÇÏÁö ¾Ê´Â´Ù. ±×·¡¼
+ ¸í½ÃÀûÀÎ Á¤º¸¸¦ º¸³»´Â ºê¶ó¿ìÀúÀÇ ¿äûÀº ¿äûÇѵ¥·Î ó¸®ÇÑ´Ù. ¾ÆÆÄÄ¡ 2.0Àº ¾ð¾î Çù»óÀÌ ½ÇÆÐÇÑ °æ¿ì ºÎµå·´°Ô º¹±¸ÇϱâÀ§ÇØ
+ Çù»ó ¾Ë°í¸®Áò¿¡ »õ·Î ¿¹¿Ü¸¦ ¸î°³ Ãß°¡Çß´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ ¼¹ö¿¡ ÆäÀÌÁö¸¦ ¿äûÇßÀ»¶§ ¼¹ö°¡ ºê¶ó¿ìÀú°¡
+ º¸³½ Accept-language¿¡ ¸Â´Â ÆäÀÌÁö¸¦ ´Ü ÇѰ³¸¸ ãÀ¸¸é ¹®Á¦°¡
+ ¾øÁö¸¸, ±×·¯Áö ¾ÊÀº °æ¿ì ¼¹ö´Â Ŭ¶óÀÌ¾ðÆ®¿¡°Ô "No Acceptable
+ Variant"³ª "Multiple Choices" ÀÀ´äÀ» º¸³½´Ù. ÀÌ·± ¿À·ù¹®À»
+ ÇÇÇϱâÀ§ÇØ ÀÌ °æ¿ì Accept-language¸¦ ¹«½ÃÇϰí Ŭ¶óÀ̾ðÆ®ÀÇ
+ ¿äû¿¡ ¸íÈ®È÷ ¸ÂÁö´Â ¾ÊÁö¸¸ ¹®¼¸¦ º¸³»µµ·Ï ¾ÆÆÄÄ¡¸¦ ¼³Á¤ÇÒ
+ ¼ö ÀÖ´Ù. ¶Ç, ¼¹ö´Â ¸Â´Â ¾ð¾î¸¦ ¸øÃ£Àº °æ¿ì ºÎ¸ð¾ð¾î¸¦ ãÀ» ¼öµµ
+ ÀÖ´Ù. ¿¹¸¦ µé¾î Ŭ¶óÀÌ¾ðÆ®°¡ ¿µ±¹¿µ¾î¸¦ ¶æÇÏ´Â
+ »ç¿ëÀÚ°¡ ¼±È£ÇÏ´Â ¾ð¾î¸¦ ¾Ë¾Æ³»±âÀ§ÇÑ (ÄíŰ³ª Ưº°ÇÑ
+ URL-°æ·Î °°Àº) °í±Þ ±â¹ýÀ» Áö¿øÇϱâÀ§ÇØ ¾ÆÆÄÄ¡ 2.1ºÎÅÍ
+ ¾ÆÆÄÄ¡´Â ´ÙÀ½°ú °°ÀÌ ÀÚ¿¬½º·¯¿î ³»¿ëÈ®Àå ÇÁ·ÎÅäÄÝÀ» (RFC 2295)
+È®ÀåÇÑ´Ù. º¯Çü ¸ñ·ÏÀÇ »õ·Î¿î ¾ð¾î(language) Çù»óÀ» »ç¿ëÇÑ´Ù¸é ÆÄÀÏÀº ¿©·¯ È®ÀåÀÚ¸¦
+ °¡Áö°í È®ÀåÀÚÀÇ ¼ø¼´Â º¸Åë °ü°è¾øÀ¸¹Ç·Î ÆÄÀÏ¸í¿¡ ¿©·¯ ´Ù¸¥
+ À̸§±ÔÄ¢À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. (ÀÚ¼¼ÇÑ ³»¿ëÀº mod_mime ¹®¼¸¦
+ Âü°íÇ϶ó.) ÀüÇüÀûÀÎ ÆÄÀÏÀº MIME-type È®ÀåÀÚ (¿¹¸¦ µé¾î,
+ ¿¹Á¦: ´ÙÀ½Àº ¸î¸î ÆÄÀϸí°ú ±× ÆÄÀÏ¿¡ ´ëÇÑ À¯È¿Çϰí À¯È¿ÇÏÁö¾ÊÀº
+ ÇÏÀÌÆÛ¸µÅ©¸¦ º¸ÀδÙ: À§ Ç¥¸¦ º¸¸é ÇÏÀÌÆÛ¸µÅ©¿¡ ¾î¶² È®ÀåÀÚµµ ¾ø´Â À̸§À»
+ (¿¹¸¦ µé¾î, °è¼Ó ÇÏÀÌÆÛ¸µÅ©¿¡ MIME-typeÀ» (¿¹¸¦ µé¾î,
+ ij½¬°¡ Ç¥ÇöÀ» ÀúÀåÇϸé Ç¥Çö°ú ¿äû URLÀ» ¿¬°ü½ÃŲ´Ù.
+ ´ÙÀ½¹ø ±× URLÀ» ¿äûÇϸé ij½¬´Â ÀúÀåµÈ Ç¥ÇöÀ» »ç¿ëÇÑ´Ù.
+ ±×·¯³ª ¼¹ö¿Í Çù»óÀÌ °¡´ÉÇÑ ÀÚ¿øÀÎ °æ¿ì ù¹øÂ° ¿äûÇÑ º¯Çü¸¸
+ ij½¬µÇ¾î ÀÌÈÄ ¿äûÀº ij½¬µÈ À߸øµÈ ÀÀ´äÀ» ¾òÀ» ¼ö ÀÖ´Ù.
+ À̸¦ ¸·±âÀ§ÇØ ¾ÆÆÄÄ¡´Â º¸Åë ³»¿ëÇù»óÈÄ ¹ÝȯµÇ´Â ¸ðµç ¿äû¿¡
+ HTTP/1.0 Ŭ¶óÀÌ¾ðÆ®°¡ ij½¬¸¦ ¸øÇϵµ·Ï Ç¥½Ã¸¦ ÇÑ´Ù. ¶Ç, ¾ÆÆÄÄ¡´Â
+ Çù»óÇÑ ÀÀ´äÀÇ Ä³½¬¸¦ Çã¿ëÇÏ´Â HTTP/1.1 ÇÁ·ÎÅäÄÝÀÇ ±â´ÉÀ»
+ Áö¿øÇÑ´Ù. ³»¿ëÇù»ó¿¡ ´ëÇÑ ´Ù¸¥ Á¤º¸´Â Alan J. Flavell°¡ ¾´ Language
+ Negotiation Notes¸¦ Âü°íÇ϶ó. ±×·¯³ª ÀÌ ¹®¼´Â ¾ÆÁ÷
+ ¾ÆÆÄÄ¡ 2.0ÀÇ º¯È¸¦ ¹Ý¿µÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù. Apache HTTP Server Version 2.1 À¥¸¶½ºÅÍ´Â ¿À·ù³ª ¹®Á¦°¡ ¹ß»ýÇßÀ»¶§ ¾ÆÆÄÄ¡ÀÇ ÀÀ´äÀ»
+ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¼¹ö°¡ ¿À·ù³ª ¹®Á¦¸¦ ¹ß°ßÇßÀ»¶§ º¸³¾ »ç¿ëÀÚÁ¤ÀÇ ÀÀ´äÀ»
+ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ½ºÅ©¸³Æ®°¡ Á×Àº °æ¿ì "500 Server Error" ÀÀ´ä ´ë½Å »ç¿ëÀÚ¿¡°Ô
+ ´õ Ä£±ÙÇÑ ¹®±¸¸¦ »ç¿ëÇϰųª ´Ù¸¥ (°°Àº »çÀÌÆ®³ª ¿ÜºÎ »çÀÌÆ®ÀÇ)
+ URL·Î ¸®´ÙÀÌ·º¼ÇÀ» ÇÒ ¼ö ÀÖ´Ù. NCSA httpd 1.3Àº »ç¿ëÀÚ¿¡°Ô ¹«ÀǹÌÇϰí Áö·çÇÑ ¿À·ù¹®À»
+ º¸³Â´Ù. ¹®Á¦°¡ ¹ß»ýÇÑ ÀÌÀ¯¸¦ ·Î±×¿¡ ³²±æ ¼öµµ ¾ø¾ú´Ù. ¼¹ö´Â ´ÙÀ½°ú °°Àº ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù: ´Ù¸¥ »çÀÌÆ®ÀÇ URL·Î ¸®´ÙÀÌ·º¼ÇÇÏ´Â °ÍÀÌ À¯¿ëÇÒ ¼ö ÀÖÁö¸¸,
+ ÀÌ °æ¿ì ¹®Á¦¸¦ ¼³¸íÇϰųª ·Î±×Çϴµ¥ ÇÊ¿äÇÑ Á¤º¸Áß ÀϺθ¸
+ Àü´ÞµÈ´Ù. ¿À·ù¿¡ ´ëÇÑ Á¤º¸¸¦ Àü´ÞÇϱâÀ§ÇØ ¾ÆÆÄÄ¡´Â CGI½ÄÀÇ »õ·Î¿î
+ ȯ°æº¯¼ö¸¦ Á¤ÀÇÇÑ´Ù: ÃÖ¼ÒÇÑ ´ÙÀ½Àº ¿¹ÀÌ´Ù... ¹®¹ýÀº, °¡´ÉÇÑ actionÀº, URL·Î ¸®´ÙÀÌ·º¼ÇÇÏ´Â ¾ÆÆÄÄ¡ ÇൿÀº
+ ½ºÅ©¸³Æ®/server-include¿¡ ȯ°æº¯¼ö¸¦ ´õ ³Ñ°ÜÁÖµµ·Ï º¯°æµÇ¾ú´Ù. ¸®´ÙÀÌ·º¼ÇµÇ´Â ½ºÅ©¸³Æ®¿¡ Ç¥ÁØ CGI º¯¼öµéÀÌ ³Ñ¾î°£´Ù.
+ ¾îµð¿¡¼ ¸®´ÙÀÌ·º¼ÇÀÌ ÀϾ´ÂÁö ¾Ë ¼ö ¾ø´Ù. ¸®´ÙÀÌ·º¼ÇµÈ ½ºÅ©¸³Æ®´Â »õ·Î¿î ȯ°æº¯¼öµéÀ» »ç¿ëÇÒ
+ ¼ö ÀÖ´Ù. ¸ðµÎ ¾Õ¿¡ ErrorDocument°¡ °°Àº ¼¹ö¿¡ ÀÖ´Â CGI ½ºÅ©¸³Æ®·Î
+ ¸®´ÙÀÌ·º¼ÇÇÑ´Ù¸é, ½ºÅ©¸³Æ®´Â Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¿À·ù »óȲÀ»
+ È®½ÇÈ÷ Àü´ÞÇϱâÀ§ÇØ Ãâ·Â¿¡ " (Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¸®´ÙÀÌ·º¼ÇÀ» ¿äûÇϱâÀ§ÇØ) ÀÀ´ä¿¡
+ Apache HTTP Server Version 2.1 ÀÌ ¹®¼¸¦ ÇÑ ¹®ÀåÀ¸·Î ¿ä¾àÇÒ ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡°¡ ¼³Á¤ÆÄÀÏÀ»
+ ÀÐÀ»¶§ DNS¸¦ »ç¿ëÇÏÁö¾Êµµ·Ï Ç϶ó. ¾ÆÆÄÄ¡°¡ ¼³Á¤ÆÄÀÏÀ» Àдµ¥
+ DNS°¡ ÇÊ¿äÇÏ´Ù¸é ¼¹ö´Â ½Å·Ú¼º ¹®Á¦ (½ÃÀÛÀÌ ¾ÈµÉ ¼öµµ ÀÖ´Ù)
+ ȤÀº ¼ºñ½º°ÅºÎ °ø°Ý°ú (»ç¿ëÀÚ°¡ ´Ù¸¥ »ç¿ëÀÚ¿¡ ´ëÇÑ Á¢±ÙÀ»
+ °¡·Îä´Â °ÍÀ» Æ÷ÇÔÇÏ¿©) ¼ºñ½ºµµµÏ(theft of service) °ø°Ý¿¡
+ ½Ã´Þ¸± ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡°¡ Á¤»óÀûÀ¸·Î µ¿ÀÛÇϱâÀ§Çؼ´Â °¢ °¡»óÈ£½ºÆ®¿¡
+ ´ëÇØ µÎ°¡Áö Á¤º¸°¡ Àý´ëÀûÀ¸·Î ÇÊ¿äÇÏ´Ù. ÀÌ Á¤º¸´Â
+ ÀÌÁ¦ ¾ÆÆÄÄ¡´Â ÀÌ °¡»óÈ£½ºÆ®ÀÇ ¾Æ·¡ °æ¿ì ÀÌ µÎ°¡Áö ¹®Á¦°¡ ¾ø´Ù. (ÃÖ¼ÒÇÑ) µÎ°¡Áö Á¾·ùÀÇ ¼ºñ½º°ÅºÎ°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù.
+ ¾ÆÆÄÄ¡ 1.2 ÀÌÀü ¹öÀüÀÇ °æ¿ì ¾î¶² °¡»óÈ£½ºÆ®¿¡¼¶óµµ
+ À§¿¡¼ ¸»ÇÑ µÎ DNS °Ë»öÀÌ ½ÇÆÐÇÏ¸é ¼¹ö°¡ ÄÑÁöÁöµµ ¾Ê´Â´Ù.
+ DNS°¡ ´ç½ÅÀÇ ±ÇÇÑ ¹ÛÀÇ ¹®Á¦ÀÏ ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î,
+ ÈξÀ ´õ ±³È°ÇÑ ¹æ¹ýµµ ÀÖ´Ù. ´ÙÀ½ ¼³Á¤À» »ìÆìº¸ÀÚ: ´ç½ÅÀÌ (»ç¿ëÀÚ°¡ ¾ÆÆÄÄ¡ 1.1¿¡¼ À̸§±â¹Ý
+ °¡»óÈ£½ºÆ® Áö¿øÀÌ Æ÷ÇԵǾú±â¶§¹®¿¡ ¾ÆÆÄÄ¡´Â À¥¼¹ö¸¦
+ ½ÇÇàÇϴ ȣ½ºÆ®ÀÇ IP ÁÖ¼Ò(µé)¸¦ ¾Ë Çʿ䰡 »ý°å´Ù. ÀÌ ÁÖ¼Ò´Â
+ (ÀÖ´Ù¸é) Àü¿ª DNS ¼¹ö°¡ Á×¾î¼ ÀÌ °Ë»öÀÌ ½ÇÆÐÇÒ °Í °°´Ù¸é
+ ¼¹ö°¡ ¾î¶² ÀÌÀ¯¿¡¼°Ç DNS¸¦ °Ë»öÇÏ¸é ¾ÈµÈ´Ù¸é
+ DNS¿Í °ü·ÃµÈ »óȲÀº ¸Å¿ì ¹Ù¶÷Á÷ÇÏÁö ¸øÇÏ´Ù. ¾ÆÆÄÄ¡ 1.2¿¡¼
+ ¿ì¸®´Â DNS°¡ ½ÇÆÐÇÑ °æ¿ì¿¡µµ ÃÖ¼ÒÇÑ ¼¹ö°¡ ÄÑÁöµµ·Ï ³ë·ÂÇßÁö¸¸
+ °á°ú´Â ³ª»¦´Ù. ¾î·µç ¼³Á¤ÆÄÀÏ¿¡ Á÷Á¢ IP ÁÖ¼Ò¸¦ ¿ä±¸ÇÏ´Â
+ °ÍÀº ¹øÈ£¸¦ ´Ù½Ã ¼³Á¤ÇؾßÇÒ ¿äÁò ÀÎÅͳݿ¡ ¸Å¿ì ¹Ù¶÷Á÷ÇÏÁö
+ ¸øÇÏ´Ù. À§¿¡¼ ¼³¸íÇÑ ¼ºñ½ºµµµÏ °ø°ÝÀ» ¸·´Â ÇѰ¡Áö ¹æ¹ýÀº °Ë»öÇÑ
+ ip ÁÖ¼Ò¿¡ ´Ù½Ã ¿ªDNS °Ë»öÀ» ÇÏ¿© µÎ À̸§À» ºñ±³ÇÏ´Â °ÍÀÌ´Ù.
+ ¼·Î ´Ù¸¥ °æ¿ì °¡»óÈ£½ºÆ®¸¦ °¡µ¿ÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù. ÀÌ ¹æ¹ýÀº
+ ¿ªDNS°¡ ¿Ã¹Ù·Î ¼³Á¤µÇ¾ß ÇÑ´Ù. (FTP ¼¹ö³ª TCP wrapper°¡
+ "Áߺ¹-¿ª" DNS °Ë»öÀ» ÀÚÁÖ »ç¿ëÇϱ⶧¹®¿¡ ´ëºÎºÐÀÇ °ü¸®ÀÚ¿¡°Ô
+ Àͼ÷ÇÒ °ÍÀÌ´Ù.) ¾î·µç IP ÁÖ¼Ò¸¦ »ç¿ëÇÏÁö¾ÊÀ¸¸é DNS°¡ ½ÇÆÐÇÑ °æ¿ì °¡»óÈ£½ºÆ®
+ À¥¼¹ö¸¦ ¹ÏÀ» ¼ö ÀÖ°Ô ½ÃÀÛÇÒ ¼ö ¾ø´Ù. ¼³Á¤ÀÇ ÀϺθ¦ ¹«½ÃÇÏ´Â
+ °Í°ú °°Àº ºÎºÐÀûÀÎ ÇØ°áÃ¥Àº À¥¼¹ö Àüü¸¦ ½ÃÀÛÇÏÁö¾Ê´Â °Íº¸´Ù
+ ´õ ³ª»Ü ¼öµµ ÀÖ´Ù. HTTP/1.1ÀÌ ³ª¿Ô°í ºê¶ó¿ìÀú¿Í ÇÁ·Ï½Ã°¡ Apache HTTP Server Version 2.1 ¾ÆÆÄÄ¡ À¥¼¹ö´Â °ü¸®ÀÚ°¡ ¸ðµâµéÀ» ¼±ÅÃÇÏ¿© ¼¹ö¿¡ Æ÷ÇÔÇÒ
- ±â´ÉÀ» °áÁ¤ÇÒ ¼ö ÀÖ´Â ¸ðµâÈµÈ ÇÁ·Î±×·¥ÀÌ´Ù. ¸ðµâÀº ¼¹ö°¡ ÄÄÆÄÀϵɶ§
- ÀÌ ¹®¼´Â DSO ¸ðµâ »ç¿ë¹ý°ú °ü·ÃµÈ ÀÌ·ÐÀ» ¼³¸íÇÑ´Ù. ¾ÆÆÄÄ¡ ¸ðµâÀ» ÀоîµéÀ̱âÀ§ÇÑ DSO Áö¿øÀº ¾ÆÆÄÄ¡ Çٽɿ¡
- Á¤ÀûÀ¸·Î ÄÄÆÄÀϵǾßÇÒ
- ÀÌ ¹®¼´Â DSO ¸ðµâ »ç¿ë¹ý°ú ¹è°æ ÀÌ·ÐÀ» ¼³¸íÇÑ´Ù. ¾ÆÆÄÄ¡ Çٽɿ¡ Á¤ÀûÀ¸·Î ÄÄÆÄÀÏÇØ¾ßÇÒ
+ ¾ÆÆÄÄ¡ ¸ðµâ(ƯÈ÷ Á¦»ïÀÇ ¸ðµâ)·Î »ç¿ëÇÒ DSO ÆÄÀÏÀ» ½±°Ô
+ ¿É¼ÇÀ» »ç¿ëÇÏ¿© DSO·Î ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù. ¸ðµâÀ»
+ ¾ÆÆÄÄ¡ ¸ðµâ(ƯÈ÷ Á¦»ïÀÚ°¡ ¸¸µç ¸ðµâ)·Î »ç¿ëÇÒ DSO ÆÄÀÏÀ» ½±°Ô
¸¸µé±âÀ§ÇØ apxs (APache
- eXtenSion)¶ó´Â »õ·Î¿î Áö¿ø ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù.
- ÀÌ´Â ¾ÆÆÄÄ¡ ¼Ò½º Æ®¸® ¹Û¿¡¼ DSO·Î »ç¿ëÇÒ ¸ðµâÀ»
+ eXtenSion)¶ó´Â »õ·Î¿î Áö¿ø ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù. ÀÌ ÇÁ·Î±×·¥Àº
+ ¾ÆÆÄÄ¡ ¼Ò½º Æ®¸® ¹Û¿¡¼ DSO·Î »ç¿ëÇÒ ¸ðµâÀ»
ÄÄÆÄÀÏÇÒ¶§ »ç¿ëÇÑ´Ù. °³³äÀº ½±´Ù. ¾ÆÆÄÄ¡¸¦ ¼³Ä¡ÇÒ¶§
Apache 2.0ÀÇ DSO ±â´É¿¡ ´ëÇÑ Âª°í °£·«ÇÑ ¿ä¾àÀÌ´Ù:
ÁÖ¼Ò¿Í Æ÷Æ® ÁöÁ¤ (Binding)
+
+
+ °³¿ä
+
+
+
+
+
+ °ü·ÃµÈ ¸ðµâ °ü·ÃµÈ Áö½Ã¾î Listen Áö½Ã¾î´Â
+ ¼¹ö°¡ ƯÁ¤ Æ÷Æ®³ª ÁÖ¼Ò¿Í Æ÷Æ® Á¶ÇÕ¿¡¼¸¸ ¿äûÀ» ¹Þ°Ô
+ ÇÑ´Ù. Listen
+ Áö½Ã¾î¿¡ Æ÷Æ® ¹øÈ£¸¸ ÁöÁ¤Çϸé, ¼¹ö´Â ¸ðµç ÀÎÅÍÆäÀ̽º¿¡¼
+ ÁöÁ¤ÇÑ Æ÷Æ®¸¦ ±â´Ù¸°´Ù. ¿©·¯ Listen Áö½Ã¾î·Î ±â´Ù¸± ¿©·¯
+ ÁÖ¼Ò¿Í Æ÷Æ®¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù. ¼¹ö´Â ¿°ÅÇÑ ÁÖ¼Ò¿Í Æ÷Æ®·Î
+ ¿äûÀÌ µé¾î¿À¸é ÀÀ´äÇÑ´Ù.
+ Listen 80
+ Listen 8000
+
+ Listen 192.170.2.1:80
+ Listen 192.170.2.5:8000
+
+ Listen [fe80::a00:20ff:fea7:ccea]:80
+ IPv6¿¡¼ Ưº°È÷ °í·ÁÇÒ Á¡
+
+
+ --enable-v4-mapped¸¦ »ç¿ëÇϰí,
+ ´ÙÀ½°ú °°ÀÌ ÀϹÝÀûÀÎ Listen Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù:
+ Listen 80
+ --enable-v4-mapped¸¦ »ç¿ëÇÒ¶§ ¾ÆÆÄÄ¡°¡ ¸¸µå´Â
+ ±âº» ¼³Á¤ÆÄÀÏÀÇ Listen Áö½Ã¾î´Â À§¿Í °°´Ù.
+ --enable-v4-mapped´Â FreeBSD, NetBSD, OpenBSD¸¦
+ Á¦¿ÜÇÑ ¸ðµç Ç÷¡Æû¿¡¼ ±âº»°ªÀ̰í, ¾Æ¸¶µµ ´ç½ÅÀÇ ¾ÆÆÄÄ¡µµ
+ ¸¶Âù°¡ÁöÀÏ °ÍÀÌ´Ù.
+ Listen 0.0.0.0:80
+ Listen 192.170.2.1:80
+ --disable-v4-mapped¸¦ »ç¿ëÇϰí
+ ´ÙÀ½°ú °°ÀÌ Listen Áö½Ã¾î¸¦ µû·Î »ç¿ëÇÑ´Ù:
+ Listen [::]:80
+ Listen 0.0.0.0:80
+ --disable-v4-mapped¸¦ »ç¿ëÇÒ¶§ ¾ÆÆÄÄ¡°¡ ¸¸µå´Â
+ ±âº» ¼³Á¤ÆÄÀÏÀÇ Listen Áö½Ã¾î´Â À§¿Í °°´Ù.
+ --disable-v4-mapped´Â FreeBSD, NetBSD, OpenBSD¿¡¼
+ ±âº»°ªÀÌ´Ù.°¡»óÈ£½ºÆ®¿Í ¾î¶»°Ô ¿¬°üµÇ³ª
+
+
+ <VirtualHost> Áö½Ã¾î¸¦
+ »ç¿ëÇÏÁö ¾ÊÀ¸¸é, ¼¹ö´Â ¹ÞÀº ¸ðµç ¿äûÀ» ¶È°°ÀÌ Ã³¸®ÇÑ´Ù.
+ ±×·¯³ª <VirtualHost>·Î ¿©·¯ ÁÖ¼Ò¿Í Æ÷Æ®¿¡
+ ´ëÇØ ´Ù¸¥ ÇൿÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. °¡»óÈ£½ºÆ®¸¦ ¸¸µé·Á¸é
+ ¸ÕÀú ¼¹ö¿¡°Ô »ç¿ëÇÒ ÁÖ¼Ò¿Í Æ÷Æ®¸¦ ¾Ë·ÁÁà¾ß ÇÑ´Ù. ±×¸®°í
+ ƯÁ¤ ÁÖ¼Ò¿Í Æ÷Æ®¿¡ ´ëÇÑ °¡»óÈ£½ºÆ®ÀÇ ÇൿÀ» ÁöÁ¤ÇÒ
+ <VirtualHost>
+ ¼½¼ÇÀÌ ÇÊ¿äÇÏ´Ù. ÁÖ¼¹ö°¡ ±â´Ù¸®Áö¾Ê´Â ÁÖ¼Ò¿Í Æ÷Æ®¸¦ »ç¿ëÇÏ´Â
+ <VirtualHost>´Â
+ Á¢±ÙÇÒ ¼ö ¾øÀ½À» ÁÖÀÇÇ϶ó.
CGI ȯ°æ¿¡¼ PATH_INFOÀÇ º¯È
+
+
+
¹®Á¦Á¡
ÇØ°áÃ¥
ÀÌÀü ¼¹ö¿Í ȣȯ¼º¹®Á¦Á¡
+
+ Alias /cgi-ralph /usr/local/httpd/cgi-bin/user.cgi/ralph
+ user.cgi´Â CGI ½ºÅ©¸³Æ®À̰í, "/ralph"´Â
+ CGI¿¡ ³Ñ°ÜÁö´Â Á¤º¸´Ù. ÀÌ °æ¿ì
+ "/cgi-ralph/script/"·Î ¿äûÀÌ µé¾î¿À¸é PATH´Â
+ "/ralph/script"°¡ µÇ°í, SCRIPT_NAMEÀº
+ "/cgi-"°¡ µÈ´Ù. ÈÄÀÚ´Â ºÐ¸íÈ÷ À߸øµÇ¾ú´Ù.
+ ½ÉÁö¾î ¾î¶² °æ¿ì ¼¹ö°¡ Áױ⵵ ÇÑ´Ù.ÇØ°áÃ¥
+ /script"°¡ µÇ°í, SCRIPT_NAMEÀº
+ "/cgi-ralph"°¡ µÈ´Ù. ÀÌ´Â ÇÕ¸®ÀûÀÌ¸ç ¼¹ö¿¡
+ ¹®Á¦¸¦ ÀÏÀ¸Å°Áö ¾Ê´Â´Ù. ¶Ç, ÀÌÀü ¹öÀü°ú ´Þ¸® ½ºÅ©¸³Æ®¿¡¼
+ "http://$SERVER_NAME:$SERVER_PORT$SCRIPT_NAME$PATH_INFO"°¡
+ ÇöÀç ½ºÅ©¸³Æ®¸¦ °¡¸®Å°´Â URLÀÓÀ» º¸ÀåÇÒ ¼ö ÀÖ´Ù.Alias Áö½Ã¾îÀÇ
+ "/ralph" Á¤º¸´Â »ç¶óÁø´Ù. ±×·¯³ª ¿ì¸®´Â
+ ÆÄÀϽýºÅÛÀ» »ç¿ëÇÏ¿© ÀÌ·± Á¤º¸¸¦ ³Ñ°ÜÁÖ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÑ
+ ¹æ¹ýÀÌ ¾Æ´Ï¸ç, À̸¦ »ç¿ëÇÏ´Â ½ºÅ©¸³Æ®´Â ÀÛµ¿ÇÒ"¸¸ÇÏÁö"
+ ¾Ê´Ù°í »ý°¢ÇÑ´Ù. ±×·¯³ª ¾ÆÆÄÄ¡ 1.2b3 ÀÌÈÄ¿¡´Â ÀÌ¿¡ ´ëÇÑ
+ ÇØ°áÃ¥ÀÌ ÀÖ´Ù.ÀÌÀü ¼¹ö¿Í ȣȯ¼º
+
+
+
+ $path_info = $ENV{'FILEPATH_INFO'} || $ENV{'PATH_INFO'};
+ 
ÁÖ¼³Á¤ÆÄÀÏ
¼³Á¤ÆÄÀÏ ¹®¹ý
¸ðµâ
Áö½Ã¾î Àû¿ë¹üÀ§
.htaccess ÆÄÀÏÁÖ¼³Á¤ÆÄÀÏ
+
+
+
+ °ü·ÃµÈ ¸ðµâ °ü·ÃµÈ Áö½Ã¾î httpd.conf¶ó°í
+ ºÎ¸¥´Ù. ÀÌ ÆÄÀÏÀÇ À§Ä¡´Â ÄÄÆÄÀϽà Á¤ÇØÁö³ª, -f
+ ¸í·ÉÇà ¿É¼ÇÀ¸·Î ÁöÁ¤ÇØÁÙ ¼ö ÀÖ´Ù. ¶Ç ´Ù¸¥ ¼³Á¤ÆÄÀÏÀ» Include Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© Æ÷ÇÔÇÒ
+ ¼ö ÀÖ°í, ¿ÍÀϵåÄ«µå¸¦ »ç¿ëÇÏ¿© ¸¹Àº ¼³Á¤ÆÄÀÏÀ» Æ÷ÇÔÇÒ ¼öµµ
+ ÀÖ´Ù. ÀÌ °æ¿ì Áö½Ã¾î¸¦ ¾î¶² ¼³Á¤ÆÄÀÏ¿¡³ª »ç¿ëÇØµµ µÈ´Ù.
+ ÁÖ¼³Á¤ÆÄÀÏÀ» ¼öÁ¤ÇÏ¸é ¾ÆÆÄÄ¡¸¦ ½ÃÀÛÇϰųª Àç½ÃÀÛÇÑ ÀÌÈÄ¿¡
+ ¹Ý¿µµÈ´Ù.TypesConfig Áö½Ã¾î·Î
+ ¼³Á¤Çϰí, ±âº»°ªÀº mime.typesÀÌ´Ù.¼³Á¤ÆÄÀÏ ¹®¹ý
+
+
+ apachectl configtest³ª -t ¸í·ÉÇà
+ ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏÁö ¾Ê°íµµ ¼³Á¤ÆÄÀÏÀÇ ¹®¹ý
+ ¿À·ù¸¦ °Ë»çÇÒ ¼ö ÀÖ´Ù.¸ðµâ
+
+
+
+
+ °ü·ÃµÈ ¸ðµâ °ü·ÃµÈ Áö½Ã¾î LoadModule Áö½Ã¾î·Î
+ Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¸ðµâÀ» Ãß°¡Çϰųª »©±âÀ§ÇØ
+ ¾ÆÆÄÄ¡¸¦ ´Ù½Ã ÄÄÆÄÀÏÇØ¾ß ÇÑ´Ù. ¼³Á¤ Áö½Ã¾î¸¦ IfModule ºí·ÏÀ¸·Î °¨½Î¼ ƯÁ¤
+ ¸ðµâÀÌ ÀÖ´Â °æ¿ì¿¡¸¸ ¼±ÅÃÀûÀ¸·Î ó¸®ÇÒ ¼ö ÀÖ´Ù.-l
+ ¸í·ÉÇà ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.Áö½Ã¾î Àû¿ë¹üÀ§
+
+
+
+
+ °ü·ÃµÈ ¸ðµâ °ü·ÃµÈ Áö½Ã¾î <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <Location>, <LocationMatch> ¼½¼Ç ¾È¿¡ µÎ¾î¾ßÇÑ´Ù.
+ ÀÌ ¼½¼ÇµéÀº ±×µéÀÌ °¨½Î´Â Áö½Ã¾îÀÇ Àû¿ë¹üÀ§¸¦ ÆÄÀϽýºÅÛÀ̳ª
+ URLÀÇ Æ¯Á¤ À§Ä¡·Î ÇÑÁ¤ÇÑ´Ù. ¶Ç, ¼·Î °ãÃļ »ç¿ëÇÒ ¼ö Àֱ⶧¹®¿¡
+ ¸Å¿ì ¼¼¹ÐÇÑ ¼³Á¤ÀÌ °¡´ÉÇÏ´Ù.<VirtualHost>
+ ¼½¼Ç ¾È¿¡ µÎ¾î ƯÁ¤ À¥»çÀÌÆ®¿¡¸¸ Áö½Ã¾î¸¦ Àû¿ëÇÒ ¼ö ÀÖ´Ù..htaccess ÆÄÀÏ
+
+
+
+
+ °ü·ÃµÈ ¸ðµâ °ü·ÃµÈ Áö½Ã¾î .htaccess¶ó°í ºÎ¸£Áö¸¸, À̸§Àº AccessFileName Áö½Ã¾î·Î
+ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. .htaccess ÆÄÀÏ¿¡ ÀÖ´Â Áö½Ã¾î´Â
+ ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮¿Í ¸ðµç ÇÏÀ§µð·ºÅ丮¿¡ Àû¿ëµÈ´Ù.
+ .htaccess ÆÄÀÏÀº ÁÖ¼³Á¤ÆÄÀϰú °°Àº ¹®¹ýÀ»
+ µû¸¥´Ù. .htaccess ÆÄÀÏÀº ¸Å ¿äû¶§¸¶´Ù Àб⶧¹®¿¡
+ ÆÄÀÏÀ» ¼öÁ¤Çϸé Áï½Ã È¿°ú¸¦ º¼ ¼ö ÀÖ´Ù..htaccess ÆÄÀÏ¿¡ »ç¿ëÇÒ ¼ö
+ ÀÖ´ÂÁö ¾Ë·Á¸é Áö½Ã¾îÀÇ »ç¿ëÀå¼Ò¸¦
+ È®ÀÎÇ϶ó. ¼¹ö °ü¸®ÀÚ´Â ÁÖ¼³Á¤ÆÄÀÏÀÇ AllowOverride Áö½Ã¾î·Î
+ .htaccess ÆÄÀÏ¿¡ ¾î¶² Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö
+ Á¶ÀýÇÒ ¼ö ÀÖ´Ù..htaccess ÆÄÀÏ¿¡ ´ëÇÑ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â
+ .htaccess ÅõÅ丮¾óÀ»
+ Âü°íÇ϶ó.
³»¿ëÇù»ó (Content Negotiation)
+
+
+
+ mod_negotiation
+ ¸ðµâÀÌ ³»¿ëÇù»ó ±â´ÉÀ» Á¦°øÇÑ´Ù.³»¿ëÇù»ó¿¡ ´ëÇØ
+
+ Accept-Language: fr
+ Accept-Language: fr; q=1.0, en; q=0.5
+ Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1
+¾ÆÆÄÄ¡ÀÇ Çù»ó
+
+
+
+
+ *.var ÆÄÀÏ) »ç¿ëÇϰųª,type-map ÆÄÀÏ »ç¿ëÇϱâ
+
+ type-mapÀ̶õ Çڵ鷯¿Í ¿¬°áµÈ
+ (ȤÀº ÀÌÀü ¾ÆÆÄÄ¡ ¼³Á¤°ú ȣȯÀ» À§ÇØ mime typeÀÌ
+ application/x-type-mapÀÎ) ¹®¼´Ù. ÀÌ ±â´ÉÀ»
+ »ç¿ëÇÏ·Á¸é ¼³Á¤¿¡¼ type-map Çڵ鷯¿¡ ´ëÇÑ
+ ÆÄÀÏ È®ÀåÀÚ¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù. ¼¹ö ¼³Á¤ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ
+ ¼³Á¤ÇÏ´Â °ÍÀÌ ÁÁ´Ù.AddHandler type-map .varfoo.var·Î,
+ foo¶ó´Â ÀÚ¿øÀ» ¼³¸íÇÑ´Ù.
+ URI: foo
+
+ URI: foo.en.html
+ Content-type: text/html
+ Content-language: en
+
+ URI: foo.fr.de.html
+ Content-type: text/html;charset=iso-8859-2
+ Content-language: fr, de
+
+ URI: foo
+
+ URI: foo.jpeg
+ Content-type: image/jpeg; qs=0.8
+
+ URI: foo.gif
+ Content-type: image/gif; qs=0.5
+
+ URI: foo.txt
+ Content-type: text/plain; qs=0.01
+Multiviews
+
+ MultiViews´Â µð·ºÅ丮º° ¿É¼ÇÀ̹ǷÎ,
+ httpd.confÀÇ
+ <Directory>,
+ <Location>,
+ <Files>
+ ¼½¼Ç ȤÀº (AllowOverride°¡
+ ÀûÀýÈ÷ ¼³Á¤µÇ¾ú´Ù¸é) .htaccess ÆÄÀÏÀÇ
+ Options Áö½Ã¾î¿¡ ¼³Á¤ÇÒ
+ ¼ö ÀÖ´Ù. Options AllÀº MultiViews¸¦
+ Æ÷ÇÔÇÏÁö¾ÊÀ½À» ÁÖÀÇÇ϶ó. µû·Î Á÷Á¢ ½áÁà¾ß ÇÑ´Ù.MultiViews¸¦ »ç¿ëÇÏ¸é ´ÙÀ½°ú °°Àº ÀÏÀÌ ÀϾÙ:
+ ¼¹ö°¡ /some/dir/foo¿¡ ´ëÇÑ ¿äûÀ» ¹Þ°í
+ /some/dir/foo¿¡ MultiViews°¡ µ¿ÀÛÇϸç
+ /some/dir/foo°¡ Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì,
+ ¼¹ö´Â µð·ºÅ丮¿¡¼ À̸§ÀÌ foo.*ÀÎ ÆÄÀϵéÀ» ¸ðµç Æ÷ÇÔÇÏ´Â
+ °¡»óÀÇ type mapÀ» ¸¸µç´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ ¿äûÇÑ media type°ú
+ content-encodingÀ» °¡Áö°í ÀÌÁß¿¡ °¡Àå ÀûÇÕÇÑ °ÍÀ» ¼±ÅÃÇÑ´Ù.MultiViews´Â ¼¹ö°¡ µð·ºÅ丮¸¦ ÂüÁ¶ÇÒ¶§
+ ÆÄÀÏÀ» ã´Â DirectoryIndex Áö½Ã¾î¿¡µµ
+ Àû¿ëµÈ´Ù. ¼³Á¤ÆÄÀÏÀÌ ´ÙÀ½°ú °°´Ù¸é,DirectoryIndex indexindex.html°ú index.html3ÀÌ
+ ¸ðµÎ ÀÖ´Ù¸é ¼¹ö´Â ÀÌµÑ Áß¿¡ Çϳª¸¦ °áÁ¤ÇÑ´Ù. µÑ ¸ðµÎ ¾ø°í
+ index.cgi°¡ ÀÖ´Ù¸é, ¼¹ö´Â ±×°ÍÀ» ½ÇÇàÇÑ´Ù.mod_mimeÀÌ ¸ð¸£´Â
+ È®ÀåÀÚ¸¦ °¡Áø´Ù¸é, °á°ú´Â MultiViewsMatch Áö½Ã¾î ¼³Á¤¿¡
+ ´Þ·Ç´Ù. ÀÌ Áö½Ã¾î´Â Çڵ鷯, ÇÊÅÍ, ´Ù¸¥ È®ÀåÇüµéÀÌ MultiViews
+ Çù»ó¿¡ Âü¿©ÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù.Çù»ó¹æ¹ý
+
+
+
+
+Çù»óÀÇ ¹üÀ§
+
+
+
+
+
+
+
+
+ ¹üÀ§
+
+ ¼³¸í
+
+
+
+ Media Type
+
+ ºê¶ó¿ìÀú´Â Accept Çì´õ·Î ¼±È£¸¦ ³ªÅ¸³½´Ù. °¢ Ç׸ñÀº
+ ǰÁú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù. º¯ÇüÀÇ ¼³¸íµµ ǰÁú°è¼ö¸¦ ("qs"
+ ÆÄ¶ó¹ÌÅÍ) °¡Áú ¼ö ÀÖ´Ù.
+
+
+
+ Language
+
+ ºê¶ó¿ìÀú´Â Accept-Language Çì´õ·Î ¼±È£¸¦ ³ªÅ¸³½´Ù.
+ °¢ Ç׸ñÀº ǰÁú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù. º¯ÇüÀº ¿©·¯ ¾ð¾î¸¦
+ °¡Áú (ȤÀº ¾Æ¹« ¾ð¾îµµ ¾øÀ») ¼ö ÀÖ´Ù.
+
+
+
+ Encoding
+
+ ºê¶ó¿ìÀú´Â Accept-Encoding Çì´õ·Î ¼±È£¸¦ ³ªÅ¸³½´Ù.
+ °¢ Ç׸ñÀº ǰÁú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù.
+
+
+ Charset
+
+ ºê¶ó¿ìÀú´Â Accept-Charset Çì´õ·Î ¼±È£¸¦ ³ªÅ¸³½´Ù.
+ °¢ Ç׸ñÀº ǰÁú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù. º¯ÇüÀº media typeÀÇ
+ ÆÄ¶ó¹ÌÅÍ·Î ¹®ÀÚÁýÇÕÀ» ³ªÅ¸³¾ ¼ö ÀÖ´Ù.
+ ¾ÆÆÄÄ¡ Çù»ó ¾Ë°í¸®Áò
+
+
+
+
+
+
+ LanguagePriority Áö½Ã¾î¿¡ (ÀÖ´Ù¸é)
+ ³ª¿Â ¾ð¾îÀÇ ¼ø¼¸¦ °¡Áö°í °¡Àå ÀûÇÕÇÑ ¾ð¾î¸¦ °¡Áø
+ º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.text/*
+ media typeÀ» °¡ÁöÁö¸¸ ¸í½ÃÀûÀ¸·Î ƯÁ¤ ¹®ÀÚÁýÇÕ°ú
+ ¿¬°áµÇÁö¾ÊÀº º¯ÇüÀº ISO-8859-1·Î °¡Á¤ÇÑ´Ù.ǰÁú°è¼ö Á¶ÀÛÇϱâ
+
+ Media Type°ú ¿ÍÀϵåÄ«µå
+
+ Accept: image/*, */*
+ Accept: text/html, text/plain, image/gif, image/jpeg, */*
+
+ Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01
+¾ð¾î(language) Çù»óÀÇ ¿¹¿Ü
+
+ ForceLanguagePriority
+ Áö½Ã¾î´Â ¼¹ö°¡ ÀÌ·± ¿À·ù¹®Áß Çϳª ȤÀº µÑ´Ù¸¦ ¹«½ÃÇϰí
+ LanguagePriority
+ Áö½Ã¾î·Î ÆÇ´ÜÇϵµ·Ï ÇÑ´Ù.en-GB ¾ð¾î·Î ¹®¼¸¦ ¿äûÇÑ °æ¿ì, HTTP/1.1 Ç¥ÁØ¿¡
+ µû¸£¸é ¼¹ö´Â enÀ¸·Î¸¸ Ç¥½ÃµÈ ¹®¼¸¦ ÀϹÝÀûÀ¸·Î
+ ¼±ÅÃÇÏÁö ¸øÇÑ´Ù. (±×·¡¼ ¿µ±¹¿µ¾î¸¦ ÀÌÇØÇÏ´Â µ¶ÀÚ°¡ ÀϹÝÀûÀÎ
+ ¿µ¾îµµ ÀÌÇØÇÒ ¼ö ÀÖÀ¸¹Ç·Î Accept-Language Çì´õ¿¡
+ en-GB¸¸ Æ÷ÇÔÇϰí enÀ» Æ÷ÇÔÇÏÁö¾ÊÀ¸¸é
+ °ÅÀÇ È®½ÇÈ÷ À߸øµÈ ¼³Á¤ÀÓÀ» À¯ÀÇÇ϶ó. ºÒÇàÈ÷µµ ÇöÀç ¸¹Àº
+ Ŭ¶óÀÌ¾ðÆ®µéÀº ÀÌ·± ½ÄÀ¸·Î ±âº»¼³Á¤µÇÀÖ´Ù.) ´Ù¸¥ ¾ð¾î¸¦
+ ãÁö ¸øÇÏ¿© ¼¹ö°¡ "No Acceptable Variants" ¿À·ù¸¦ º¸³»°Å³ª
+ LanguagePriority·Î
+ µ¹¾Æ°¡¾ß ÇÑ´Ù¸é, ¼¹ö´Â ÇÏÀ§¾ð¾î ±Ô¾àÀ» ¹«½ÃÇϰí
+ en-GB¸¦ en ¹®¼¿¡ ´ëÀÀÇÑ´Ù.
+ ¾Ï¹¬ÀûÀ¸·Î ¾ÆÆÄÄ¡´Â ºÎ¸ð¾ð¾î¸¦ ¸Å¿ì ³·Àº ǰÁú°ªÀ¸·Î
+ Ŭ¶óÀ̾ðÆ®ÀÇ Çã¿ë¾ð¾î ¸ñ·Ï¿¡ Ãß°¡ÇÑ´Ù. ±×·¯³ª Ŭ¶óÀÌ¾ðÆ®°¡
+ "en-GB; qs=0.9, fr; qs=0.8"À» ¿äûÇÏ°í ¼¹ö¿¡ "en"°ú "fr"
+ ¹®¼°¡ ÀÖ´Ù¸é, "fr" ¹®¼°¡ ¼±ÅõÊÀ» ÁÖÀÇÇ϶ó. ÀÌ´Â HTTP/1.1
+ Ç¥ÁØÀ» Áö۰í, ¿Ã¹Ù·Î ¼³Á¤µÈ Ŭ¶óÀÌ¾ðÆ®¿Í È¿À²ÀûÀ¸·Î
+ µ¿ÀÛÇϱâÀ§ÇÔÀÌ´Ù.mod_negotiationÀº prefer-language¶ó´Â
+ ȯ°æº¯¼ö¸¦ ÀνÄÇÑ´Ù. ÀÌ È¯°æº¯¼ö°¡
+ Á¸ÀçÇϰí ÀûÀýÇÑ ¾ð¾îű׸¦ Æ÷ÇÔÇÑ´Ù¸é,
+ mod_negotiationÀº ÇØ´çÇÏ´Â º¯ÇüÀ» ¼±ÅÃÇÏ·Á°í
+ ½ÃµµÇÑ´Ù. ±×·± º¯ÇüÀÌ ¾ø´Ù¸é ÀϹÝÀûÀÎ Çù»ó°úÁ¤À» ½ÃÀÛÇÑ´Ù.¿¹Á¦
+ SetEnvIf Cookie "language=(.+)" prefer-language=$1
+ ÀÚ¿¬½º·¯¿î(transparent) ³»¿ëÇù»óÀÇ È®Àå
+
+{encoding ..}´Â ƯÁ¤
+content-encodingÀ» °¡Áø º¯Çü¸¸À» ÁöĪÇÑ´Ù. RVSA/1.0 ¾Ë°í¸®ÁòÀº
+(RFC 2296) ¸ñ·Ï¿¡¼ ÀÎÄÚµùµÈ º¯ÇüÀ» ÀνÄÇÒ ¼ö ÀÖ°í, ÀÎÄÚµùÀÌ
+Accept-Encoding ¿äû Çì´õ¿¡ ¸Â´Â °æ¿ì ÀÎÄÚµùµÈ º¯Çüµéµµ È帷Î
+»ç¿ëÇϵµ·Ï È®ÀåµÇ¾ú´Ù. RVSA/1.0 ±¸ÇöÀº ÃÖÀûÀÇ º¯ÇüÀ» ã±â Àü¿¡
+°è»êµÈ ǰÁú°è¼ö¸¦ ¼Ò¼öÁ¡ 5ÀÚ¸®¿¡¼ ¹Ý¿Ã¸²ÇÏÁö ¾Ê´Â´Ù.ÇÏÀÌÆÛ¸µÅ©¿Í À̸§±ÔÄ¢¿¡ ´ëÇÏ¿©
+
+ html), °æ¿ì¿¡ µû¶ó encoding È®ÀåÀÚ (¿¹¸¦
+ µé¾î, gz), ÆÄÀÏ¿¡ ¿©·¯ ¾ð¾î º¯ÇüÀÌ ÀÖ´Â
+ °æ¿ì ¹°·Ð ¾ð¾î È®ÀåÀÚ¸¦ (¿¹¸¦ µé¾î, en)
+ °¡Áø´Ù.
+
+
+
+
+
+
+
+
+ ÆÄÀϸí
+
+ À¯È¿ÇÑ ÇÏÀÌÆÛ¸µÅ©
+
+ À¯È¿ÇÏÁö¾ÊÀº ÇÏÀÌÆÛ¸µÅ©
+
+
+
+ foo.html.en
+
+ foo
+
+
+ foo.html-
+
+
+
+ foo.en.html
+
+ foo
+
+ foo.html
+
+
+
+ foo.html.en.gz
+
+ foo
+
+
+ foo.htmlfoo.gz
+
+ foo.html.gz
+
+
+ foo.en.html.gz
+
+ foo
+
+ foo.html
+
+ foo.html.gz
+ foo.gz
+
+
+ foo.gz.html.en
+
+ foo
+
+
+ foo.gz
+ foo.gz.htmlfoo.html
+
+
+ foo.html.gz.en
+
+ foo
+
+
+ foo.html
+ foo.html.gzfoo.gz
+ foo) Ç×»ó »ç¿ëÇÒ ¼ö ÀÖÀ½À»
+ ¾Ë ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ÀåÁ¡Àº ¹®¼ÀÇ ½ÇÁ¦ Á¾·ù¸¦ ¼û±æ ¼ö ÀÖ¾î¼,
+ ¿¹¸¦ µé¾î ÇÏÀÌ·¯¸µÅ© ÂüÁ¶¸¦ ¼öÁ¤ÇϾʰí
+ html ÆÄÀÏÀ» shtmlÀ̳ª
+ cgi·Î º¯°æÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù.foo.html) »ç¿ëÇÏ°í ½Í´Ù¸é (encoding È®ÀåÀÚ°¡
+ ÀÖ´Ù¸é À̰͵µ Æ÷ÇÔÇÏ¿©) ¾ð¾î È®ÀåÀÚ¸¦ MIME-type È®ÀåÀÚº¸´Ù
+ ¿À¸¥ÂÊ¿¡ (¿¹¸¦ µé¾î, foo.html.en)
+ µÎ¾î¾ßÇÑ´Ù.ij½¬¿¡ ´ëÇÏ¿©
+
+ CacheNegotiatedDocs
+ Áö½Ã¾î´Â HTTP/1.0 ȣȯ Ŭ¶óÀ̾ðÆ®(ºê¶ó¿ìÀú ȤÀº ij½¬)°¡
+ º¸³½ ¿äû¿¡ ´ëÇØ Çù»óÇÑ ÀÀ´äÀ» ij½¬ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ÀÌ Áö½Ã¾î´Â
+ ¼¹ö³ª °¡»óÈ£½ºÆ® ¼³Á¤¿¡ »ç¿ëÇϸç, ¾Æ±Ô¸ÕÆ®¸¦ ¹ÞÁö¾Ê´Â´Ù.
+ ÀÌ Áö½Ã¾î´Â HTTP/1.1 Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû°ú´Â °ü°è°¡ ¾ø´Ù.´Ù¸¥ Á¤º¸
+
+ 
»ç¿ëÀÚÁ¤ÀÇ ¿À·ù ÀÀ´ä
+
+
+ Çൿ
+
+
+ ÀÌÀü Çൿ
+
+
+ »õ·Î¿î Çൿ
+
+
+
+
+
+
+ REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap,
+ image/jpeg
+ REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05
+ 9000/712)
+ REDIRECT_PATH=.:/bin:/usr/local/bin:/etc
+ REDIRECT_QUERY_STRING=
+ REDIRECT_REMOTE_ADDR=121.345.78.123
+ REDIRECT_REMOTE_HOST=ooh.ahhh.com
+ REDIRECT_SERVER_NAME=crash.bang.edu
+ REDIRECT_SERVER_PORT=80
+ REDIRECT_SERVER_SOFTWARE=Apache/0.8.15
+ REDIRECT_URL=/cgi-bin/buggy.pl
+ REDIRECT_ Á¢µÎ»ç¿¡ ÁÖ¸ñÇ϶ó.REDIRECT_URL°ú
+ REDIRECT_QUERY_STRINGÀº (cgi-script³ª
+ cgi-includeÀÏ) »õ URL·Î ³Ñ°ÜÁø´Ù. ´Ù¸¥ º¯¼ö´Â ¿À·ù°¡
+ ¹ß»ýÇϱâ ÀÌÀü¿¡ (¿ªÁÖ; À̸§¿¡¼ REDIRECT_¸¦
+ »« ȯ°æº¯¼ö°¡) Á¸ÀçÇÑ °æ¿ì¿¡¸¸ ÀÖ´Ù.
+ ErrorDocument°¡
+ ¿ÜºÎ·Î (°°Àº ¼¹ö¶óµµ http:¿Í
+ °°Àº ½ºÅ´(scheme)À¸·Î ½ÃÀÛÇÑ´Ù¸é) ¸®´ÙÀÌ·º¼ÇÇÑ´Ù¸é
+ ÀÌÁß ¾î¶² °Íµµ ¼³Á¤µÇÁö ¾Ê´Â´Ù.¼³Á¤
+
+
+ AllowOverride°¡
+ ÀûÀýÈ÷ ¼³Á¤µÇ¾ú´Ù¸é .htaccess ÆÄÀÏ¿¡¼
+ ErrorDocument¸¦ »ç¿ëÇÒ
+ ¼ö ÀÖ´Ù.
+ ErrorDocument 500 /cgi-bin/crash-recover
+ ErrorDocument 500 "Sorry, our script crashed. Oh dear"
+ ErrorDocument 500 http://xxx/
+ ErrorDocument 404 /Lame_excuses/not_found.html
+ ErrorDocument 401 /Subscription/how_to_subscribe.html
+
+ ErrorDocument <3-digit-code> <action>
+
+
+ »ç¿ëÀÚÁ¤ÀÇ ¿À·ù ÀÀ´ä°ú ¸®´ÙÀÌ·º¼Ç
+
+
+ ÀÌÀü Çൿ
+
+
+ »õ·Î¿î Çൿ
+
+
+ REDIRECT_°¡ ºÙ¾îÀÖ´Ù.
+ REDIRECT_ ȯ°æº¯¼ö´Â ¿ø·¡ CGI ȯ°æº¯¼ö¸í
+ ¾Õ¿¡ REDIRECT_¸¦ ºÙ¿©¼ ¸¸µç´Ù. ¿¹¸¦
+ µé¾î, HTTP_USER_AGENT´Â
+ REDIRECT_HTTP_USER_AGENT°¡ µÇ¾ú´Ù. ÀÌ·± º¯¼ö¿¡
+ Ãß°¡·Î ½ºÅ©¸³Æ®°¡ ¿ø·¡ URLÀ» ¾Ëµµ·Ï ¾ÆÆÄÄ¡´Â
+ REDIRECT_URL°ú REDIRECT_STATUS¸¦
+ Á¤ÀÇÇÑ´Ù. ¿ø·¡ URL°ú ¸®´ÙÀÌ·º¼ÇµÈ URL ¸ðµÎ Á¢±Ù ·Î±×¿¡
+ ±â·ÏÇÒ ¼ö ÀÖ´Ù.Status:" Çì´õ
+ Çʵ带 Æ÷ÇÔÇØ¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î, Perl·Î ÀÛ¼ºÇÑ ErrorDocument
+ ½ºÅ©¸³Æ®´Â ´ÙÀ½°ú °°´Ù:
+ ...
+ print "Content-type: text/html\n";
+ printf "Status: %s Condition Intercepted\n", $ENV{"REDIRECT_STATUS"};
+ ...
+ 404 Not Found¿Í °°Àº ƯÁ¤ ¿À·ù
+ »óȲ¿¡ ´ëÇÑ ½ºÅ©¸³Æ®¶ó¸é, ´ë½Å (¿ªÁÖ; °íÁ¤µÈ)
+ ƯÁ¤ »óÅÂÄÚµå¿Í ¿À·ù¹®À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.Location: Çì´õ¸¦ Æ÷ÇÔÇÑ´Ù¸é, ½ºÅ©¸³Æ®´Â
+ ¹Ýµå½Ã (302 Found °°Àº) ÀûÀýÇÑ
+ Status: Çì´õ¸¦ Ãâ·ÂÇØ¾ß ÇÔÀ» ÁÖÀÇÇ϶ó. ±×·¸Áö¾ÊÀ¸¸é
+ Location: Çì´õ°¡ ¾Æ¹« ¼Ò¿ë¾ø°Ô µÉ ¼ö ÀÖ´Ù.
DNS¿Í ¾ÆÆÄÄ¡¿Í °ü·ÃµÈ »çÇ×
+
+
+ °£´ÜÇÑ ¿¹Á¦
+
+
+
+ <VirtualHost www.abc.dom>
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ </VirtualHost>
+ ServerName°ú ¼¹ö°¡
+ ÀÀ´äÇÒ ÃÖ¼Ò ÇѰ³ÀÇ IP ÁÖ¼ÒÀÌ´Ù. ÀÌ ¿¹´Â IP ÁÖ¼Ò°¡ ¾ø±â¶§¹®¿¡,
+ ¾ÆÆÄÄ¡´Â DNS¸¦ »ç¿ëÇÏ¿© www.abc.domÀÇ ÁÖ¼Ò¸¦
+ ã¾Æ¾ß ÇÑ´Ù. ¼¹ö°¡ ¼³Á¤ÆÄÀÏÀ» ÀÐÀ»¶§ ¾î¶² ÀÌÀ¯¿¡¼°Ç DNS¸¦
+ »ç¿ëÇÒ ¼ö ¾ø´Ù¸é °¡»óÈ£½ºÆ®¸¦ ¸¸µé ¼ö ¾ø´Ù.
+ ÀÌ °¡»óÈ£½ºÆ®´Â ¿äû¿¡ ÀÀ´äÇÒ ¼ö ¾ø´Ù. (¾ÆÆÄÄ¡ 1.2 ÀÌÀü
+ ¹öÀü¿¡¼´Â ½ÉÁö¾î ¼¹ö°¡ ºÎÆÃµµ ¾ÈÇÑ´Ù.)www.abc.domÀÇ ÁÖ¼Ò°¡ 10.0.0.1À̶ó°í °¡Á¤ÇÏÀÚ.
+ ±×¸®°í ´ÙÀ½ ¼³Á¤À» º¸¶ó:
+ <VirtualHost 10.0.0.1>
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ </VirtualHost>
+ ServerNameÀ»
+ ã±âÀ§ÇØ ¿ªDNS¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ¿ªÃ£±â°¡ ½ÇÆÐÇÏ¸é ¾ÆÆÄÄ¡´Â
+ °¡»óÈ£½ºÆ®¸¦ ºÎºÐÀûÀ¸·Î ²ö´Ù. (¾ÆÆÄÄ¡ 1.2 ÀÌÀü ¹öÀü¿¡¼´Â
+ ½ÉÁö¾î ¼¹ö°¡ ºÎÆÃµµ ¾ÈÇÑ´Ù.) Áï, ÀÌ °æ¿ì À̸§±â¹Ý
+ °¡»óÈ£½ºÆ®¶ó¸é °¡»óÈ£½ºÆ®´Â ¿ÏÀüÈ÷ µ¿ÀÛÇÏÁö¾Ê°í, ip±â¹ÝÀ̶ó¸é
+ ´ëºÎºÐ µ¿ÀÛÇÑ´Ù. ±×·¯³ª ¾ÆÆÄÄ¡°¡ ¼¹ö¸íÀ» Æ÷ÇÔÇÏ¿© ¼¹öÀÇ
+ Àüü URLÀ» ¸¸µé¾î¾ß ÇÑ´Ù¸é Á¤»óÀûÀÎ URLÀ» ¸¸µéÁö ¸øÇÑ´Ù.
+ <VirtualHost 10.0.0.1>
+ ServerName www.abc.dom
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ </VirtualHost>
+ ¼ºñ½º°ÅºÎ (Denial of Service)
+
+
+ abc.domÀÌ °í°´ »çÀÌÆ®ÀÌ°í °í°´ÀÌ ÀÚ½ÅÀÇ DNS¸¦
+ °ü¸®ÇÑ´Ù¸é, www.abc.dom ·¹Äڵ带 Áö¿ì±â¸¸ ÇØµµ
+ (1.2 ÀÌÀü) ¼¹ö´Â ½ÃÀÛÇÏÁö ¸øÇÑ´Ù.
+ <VirtualHost www.abc.dom>
+ ServerAdmin webgirl@abc.dom
+ DocumentRoot /www/abc
+ </VirtualHost>
+
+ <VirtualHost www.def.dom>
+ ServerAdmin webguy@def.dom
+ DocumentRoot /www/def
+ </VirtualHost>
+ www.abc.dom¿¡ 10.0.0.1,
+ www.def.dom¿¡ 10.0.0.2¸¦ ÇÒ´çÇß´Ù°í ÇÏÀÚ.
+ ¶Ç, def.domÀº ÀÚü DNS¸¦ »ç¿ëÇÑ´Ù°í °¡Á¤ÇÏÀÚ.
+ ÀÌ ¼³Á¤°ú ÇÔ²² def.domÀ» abc.domÀ¸·Î
+ °¡´Â ¸ðµç Åë½ÅÀ» °¡·Îç ¼ö ÀÖ´Â Àå¼Ò¿¡ µÎ¾ú´Ù. ±×·¸´Ù¸é ±×µéÀº
+ www.def.domÀ» 10.0.0.1·Î ¼³Á¤Çϱ⸸ ÇÏ¸é µÈ´Ù.
+ ±×µéÀÌ ÀÚü DNS¸¦ »ç¿ëÇϱ⶧¹®¿¡ ´ç½ÅÀº ±×µéÀÌ ¿øÇϴµ¥·Î
+ www.def.dom ·¹Äڵ带 ¼³Á¤ÇÏ´Â °ÍÀ» ¸·À» ¼ö
+ ¾ø´Ù.http://www.abc.dom/whatever Çü½ÄÀÇ
+ URLÀ» ÀÔ·ÂÇÏ´Â °æ¿ì¸¦ Æ÷ÇÔÇÏ¿©) 10.0.0.1·Î ¿À´Â ¸ðµç ¿äûÀ»
+ def.dom °¡»óÈ£½ºÆ®°¡ ¼ºñ½ºÇÏ°Ô µÈ´Ù. ¿Ö ÀÌ·±
+ ÀÏÀÌ ÀϾ´ÂÁö ÀÌÇØÇÏ·Á¸é ¾ÆÆÄÄ¡°¡ ¾î¶»°Ô °¡»óÈ£½ºÆ®·Î
+ ¿À´Â ¿äûÀ» ó¸®ÇÏ´ÂÁö¿¡ ´ëÇÑ ¼³¸íÀÌ ÇÊ¿äÇÏ´Ù.
+ ¿©±â¿¡ ´ë° ¼³¸íµÇÀÖ´Ù."ÁÖ¼¹ö" ÁÖ¼Ò
+
+
+ ServerName
+ ȤÀº C ÇÔ¼ö gethostnameÀ¸·Î (¸í·ÉÇÁ·ÒÇÁÆ®¿¡
+ "hostname"À» ÀÔ·ÂÇßÀ»¶§¿Í °°Àº °á°ú) ¾ò´Â´Ù. ±×·¯¸é ÀÌ ÁÖ¼Ò·Î
+ DNS °Ë»öÀ» ÇÑ´Ù. ÇöÀç ÀÌ °Ë»öÀº ÇÇÇÒ ¼ö ¾ø´Ù./etc/hosts¿¡ È£½ºÆ®¸íÀ» Áý¾î³ÖÀ» ¼ö ÀÖ´Ù.
+ (ÄÄÇ»ÅͰ¡ Á¤»óÀûÀ¸·Î ºÎÆÃµÇ¾ú´Ù¸é ¾Æ¸¶ ÀÌ¹Ì µé¾îÀÖÀ» °ÍÀÌ´Ù.)
+ ±×¸®°í DNS°¡ ½ÇÆÐÇÏ¸é ¼¹ö°¡ /etc/hosts¸¦
+ »ç¿ëÇÏ´ÂÁö È®ÀÎÇ϶ó. »ç¿ëÇÏ´Â ¿î¿µÃ¼Á¦¿¡ µû¶ó
+ /etc/resolv.conf ȤÀº /etc/nsswitch.conf¸¦
+ ¼öÁ¤ÇÏ¸é µÉ °ÍÀÌ´Ù.HOSTRESORDER ȯ°æº¯¼ö¸¦ "local"·Î ¼³Á¤Çϰí
+ ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Ù. mod_env¸¦
+ »ç¿ëÇÏ¿© ȯ°æÀ» º¯°æÇÏÁö ¾Ê´Â´Ù¸é ÀÌ È¯°æº¯¼ö´Â
+ CGI¿¡µµ ¿µÇâÀ» ÁØ´Ù. ¿î¿µÃ¼Á¦ÀÇ manpage³ª FAQ¸¦ Âü°íÇÏ´Â
+ °ÍÀÌ ÁÁ´Ù.ÀÌ ¹®Á¦¸¦ ÇÇÇϱâÀ§ÇÑ ÆÁ
+
+
+
+
+ VirtualHost¿¡ IP
+ ÁÖ¼Ò¸¦ »ç¿ëÇ϶ó
+ Listen¿¡
+ IP ÁÖ¼Ò¸¦ »ç¿ëÇ϶ó
+ ServerNameÀ»
+ °¡Áö°Ô Ç϶ó
+ <VirtualHost _default_:*> ¼¹ö¸¦
+ ¸¸µé¾î¶óºÎ·Ï: ¾ÕÀ¸·Î´Â
+
+
+ Host
+ Çì´õ¸¦ º¸³»±â ½ÃÀÛÇßÀ¸¹Ç·Î IP±â¹Ý °¡»óÈ£½ºÆ®¸¦ ¿ÏÀüÈ÷
+ »ç¿ëÇÏÁö¾Ê´Â °ÍÀÌ °¡´ÉÇØÁú °ÍÀÌ´Ù. ±×·¯¸é À¥¼¹ö´Â ¼³Á¤Áß¿¡¼
+ DNS °Ë»öÀ» ÇÒ Çʿ䰡 ¾ø¾îÁø´Ù. ±×·¯³ª 1997³â 3¿ù¿¡´Â Áß¿äÇÑ
+ À¥¼¹ö¿¡ Æ÷ÇÔÇÒ Á¤µµ·Î À̸§±â¹Ý °¡»óÈ£½ºÆ®°¡ ³Î¸® »ç¿ëµÇÁö
+ ¾Ê¾Ò´Ù.
-
- Apache HTTP Server Version 2.1
- µ¿Àû°øÀ¯°´Ã¼ (DSO) Áö¿ø
+
+
+
µ¿Àû°øÀ¯°´Ã¼ (DSO) Áö¿ø
+
httpd ½ÇÇàÆÄÀÏ¿¡ Á¤ÀûÀ¸·Î ÄÄÆÄÀ쵃 ¼ö ÀÖ´Ù.
- ¾Æ´Ï¸é ¸ðµâÀº Áß½ÉÀÌ µÇ´Â httpd ½ÇÇàÆÄÀϰú º°µµ·Î
- µ¿Àû°øÀ¯°´Ã¼(Dynamic Shared Objects, DSOs)·Î ÄÄÆÄÀ쵃 ¼ö ÀÖ´Ù.
- DSO ¸ðµâÀº ¼¹ö°¡ ÄÄÆÄÀϵɶ§ ÄÄÆÄÀÏÇϰųª Apache Extension
- Tool (apxs)À» »ç¿ëÇÏ¿© ³ªÁß¿¡
- ÄÄÆÄÀÏÇϰí Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
-
-
-
-
-
-
-
-
- °ü·ÃµÈ ¸ðµâ
-
-
-
- mod_so
- °ü·ÃµÈ Áö½Ã¾î
-
-
- LoadModule
- ±¸Çö
-
- mod_so.c¶ó´Â
- ¸ðµâÀÌ Á¦°øÇÑ´Ù. ÀÌ´Â core.c¸¦ Á¦¿ÜÇϰí
- DSO°¡ µÉ ¼ö ¾ø´Â À¯ÀÏÇÑ ¸ðµâÀÌ´Ù. ½ÇÁ¦·Î ´Ù¸¥ ¸ðµç ¾ÆÆÄÄ¡ ¸ðµâÀº
- °¢°¢ ¼³Ä¡ ¹®¼¿¡¼ ¼³¸íÇÑ
+ ±â´ÉÀ» °áÁ¤ÇÒ ¼ö ÀÖ´Â ¸ðµâÈµÈ ÇÁ·Î±×·¥ÀÌ´Ù. ¼¹ö¸¦ ÄÄÆÄÇÒ¶§
+ httpd ½ÇÇàÆÄÀÏ¿¡ Á¤ÀûÀ¸·Î ¸ðµâÀ» ÄÄÆÄÀÏÇÒ
+ ¼ö ÀÖ´Ù. ¾Æ´Ï¸é ¸ðµâÀ» httpd ½ÇÇàÆÄÀϰú
+ ºÐ¸®ÇÏ¿© µ¿Àû°øÀ¯°´Ã¼(Dynamic Shared Objects, DSO)·Î ÄÄÆÄÀÏÇÒ
+ ¼ö ÀÖ´Ù. DSO ¸ðµâÀº ¼¹ö¸¦ ÄÄÆÄÀÏÇÒ¶§ ÄÄÆÄÀÏÇϰųª, Apache
+ Extension Tool (apxs)À»
+ »ç¿ëÇÏ¿© ³ªÁß¿¡ ÄÄÆÄÀÏÇÏ¿© Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
±¸Çö
»ç¿ë¹ý ¿ä¾à
¹è°æÁö½Ä
Àå´ÜÁ¡±¸Çö
+
+
+
+ °ü·ÃµÈ ¸ðµâ °ü·ÃµÈ Áö½Ã¾î mod_so.c¶ó´Â ¸ðµâÀº ¾ÆÆÄÄ¡ ¸ðµâÀ»
+ ÀоîµéÀ̱âÀ§ÇÑ DSO¸¦ Áö¿øÇÑ´Ù.
+ ÀÌ ¸ðµâÀº core¸¦ Á¦¿ÜÇϰí DSO°¡
+ µÉ ¼ö ¾ø´Â À¯ÀÏÇÑ ¸ðµâÀÌ´Ù. ½ÇÁ¦·Î ´Ù¸¥ ¸ðµç ¾ÆÆÄÄ¡ ¸ðµâÀº
+ ¼³Ä¡ ¹®¼¿¡¼ ¼³¸íÇÑ
configureÀÇ --enable-module=shared
- ¿É¼ÇÀ» »ç¿ëÇÏ¿© DSO·Î ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù. ¸ðµâÀÌ
- mod_foo.so¿Í °°ÀÌ DSO·Î ÄÄÆÄÀϵÈÈÄ httpd.conf
- ÆÄÀÏ¿¡ mod_soÀÇ
- LoadModule
- ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ¼¹ö ½ÃÀ۽à ȤÀº Àç½ÃÀ۽à ±× ¸ðµâÀ» ÀоîµéÀÏ
- ¼ö ÀÖ´Ù.mod_foo.so¿Í °°ÀÌ DSO·Î ÄÄÆÄÀÏÇÑÈÄ httpd.conf
+ ÆÄÀÏ¿¡ mod_soÀÇ
+ LoadModule ¸í·É¾î¸¦
+ »ç¿ëÇÏ¿© ¼¹ö ½ÃÀ۽à ȤÀº Àç½ÃÀ۽à ±× ¸ðµâÀ» ÀоîµéÀÏ ¼ö
+ ÀÖ´Ù.configure¿Í make installÀÌ
¾ÆÆÄÄ¡ C Çì´õÆÄÀÏÀ» ¼³Ä¡Çϰí, DSO ÆÄÀÏÀ» ÄÄÆÄÀÏÇϱâÀ§ÇÑ
Ç÷¡Æû ƯÀ¯ÀÇ ÄÄÆÄÀÏ·¯ ¿É¼Ç°ú ¸µÄ¿ ¿É¼ÇÀ» apxs
- ÇÁ·Î±×·¥¿¡ ¾´´Ù. ±×·¡¼ »ç¿ëÀÚ´Â apxs¸¦
- »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡ ¹èÆ÷º» ¼Ò½º Æ®¸®¾øÀÌ, ¶Ç DSO Áö¿øÀ» À§ÇÑ Ç÷¡Æû
- ƯÀ¯ÀÇ ÄÄÆÄÀÏ·¯ ¿É¼Ç¿Í ¸µÄ¿ ¿É¼Ç¿¡ ½Å°æÀ» ¾²Áö¾Ê°í ÀÚ½ÅÀÇ
- ¾ÆÆÄÄ¡ ¸ðµâ ¼Ò½º¸¦ ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù.»ç¿ë¹ý ¿ä¾à
+ ÇÁ·Î±×·¥¿¡ ±â·ÏÇÑ´Ù. ±×·¡¼ apxs¸¦ »ç¿ëÇÏ´Â »ç¿ëÀÚ´Â
+ ¾ÆÆÄÄ¡ ¹èÆ÷º» ¼Ò½º Æ®¸®¾øÀÌ, ¶Ç DSO Áö¿øÀ» À§ÇÑ Ç÷¡Æû ƯÀ¯ÀÇ
+ ÄÄÆÄÀÏ·¯ ¿É¼Ç¿Í ¸µÄ¿ ¿É¼Ç¿¡ ½Å°æÀ» ¾²Áö¾Ê°í ÀÚ½ÅÀÇ ¾ÆÆÄÄ¡
+ ¸ðµâ ¼Ò½º¸¦ ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù.
+»ç¿ë¹ý ¿ä¾à
mod_foo.c¸¦ DSO mod_foo.so·Î:
-
-
-
+
-
-
-
-
-$ ./configure --prefix=/path/to/install
- --enable-foo=shared
+ ¹èÆ÷º»¿¡ ÀÖ´Â ¾ÆÆÄÄ¡ ¸ðµâÀ» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â
+ °æ¿ì. ¿¹¸¦ µé¾î
mod_foo.c¸¦ DSO
+ mod_foo.so·Î:
+
+
+$ ./configure --prefix=/path/to/install --enable-foo=shared
$ make install
-
- mod_foo.c¸¦ DSO mod_foo.so·Î:
-
-
-
+
-
-
-
-
-$ ./configure --add-module=module_type:/path/to/3rdparty/mod_foo.c
- --enable-foo=shared
+ Á¦»ïÀÚ°¡ ¸¸µç ¾ÆÆÄÄ¡ ¸ðµâÀ» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â
+ °æ¿ì. ¿¹¸¦ µé¾î
mod_foo.c¸¦ DSO
+ mod_foo.so·Î:
+
+
+$ ./configure --add-module=module_type:/path/to/3rdparty/mod_foo.c --enable-foo=shared
$ make install
-
-
-
+
-
-
-
-
-$ ./configure --enable-so
+
+$ ./configure --enable-so
$ make install
-
-
mod_foo.c¸¦ apxs¸¦
- »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡ ¼Ò½º Æ®¸® ¹Û¿¡¼ DSO
- mod_foo.so·Î:
-
-
--$ cd /path/to/3rdparty -$ apxs -c mod_foo.c + Á¦»ïÀÚ°¡ ¸¸µç ¾ÆÆÄÄ¡ ¸ðµâÀ» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â + °æ¿ì. apxs¸¦ »ç¿ëÇÏ¿© + ¾ÆÆÄÄ¡ ¼Ò½º Æ®¸® ¹Û¿¡¼ |
-
¸ðµç °æ¿ì ÀÏ´Ü °øÀ¯ ¸ðµâÀÌ ÄÄÆÄÀϵǸé, httpd.conf¿¡
- LoadModule
- Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡°¡ ±× ¸ðµâÀ» Ȱ¼ºÈÇÏ°Ô ÇØ¾ßÇÑ´Ù.
LoadModule Áö½Ã¾î¸¦
+ »ç¿ëÇÏ¿© ¾ÆÆÄÄ¡°¡ ±× ¸ðµâÀ» ÀоîµéÀÌ°Ô ¸¸µç´Ù.
+
+Çö´ëÀûÀÎ À¯´Ð½º·ù¿¡´Â µ¿Àû°øÀ¯°´Ã¼ (DSO)ÀÇ - µ¿Àû ¸µÅ·/·ÎµùÀ̶ó°í ÇÏ¿©, Ưº°ÇÑ Çü½ÄÀÇ ½ÇÇàÄÚµå Á¶°¢À» ¸¸µé¾î - ½ÇÇàÁß ½ÇÇàÇÁ·Î±×·¥ÀÇ ÁÖ¼Ò°ø°£¿¡ ÀоîµéÀÌ´Â ¸ÚÁø ±â´ÉÀÌ ÀÖ´Ù.
- -ÀÌ ·ÎµùÀº º¸Åë µÎ°¡Áö ¹æ¹ýÀ¸·Î °¡´ÉÇÏ´Ù. Çϳª´Â ½ÇÇàÇÁ·Î±×·¥ÀÌ
- ½ÃÀÛÇÒ¶§ ld.so¶ó´Â ½Ã½ºÅÛ ÇÁ·Î±×·¥ÀÌ ·ÎµùÀ»
- ÀÚµ¿À¸·Î ÇÏ´Â °æ¿ì°í, ´Ù¸¥ Çϳª´Â ½ÇÇàÁßÀÎ ÇÁ·Î±×·¥¿¡¼
- dlopen()/dlsym() ½Ã½ºÅÛÄÝ·Î À¯´Ð½º ·Î´õÀÇ
- ½Ã½ºÅÛ ÀÎÅÍÆäÀ̽ºÀ» »ç¿ëÇÏ¿© Á÷Á¢ ·ÎµùÇÏ´Â °æ¿ì´Ù.
ù¹øÂ° °æ¿ì DSO´Â º¸Åë °øÀ¯¶óÀ̺귯¸®(shared libraries) ȤÀº
- DSO ¶óÀ̺귯¸®¶ó°í ºÎ¸£¸ç, ÆÄÀÏÀº libfoo.so³ª
- libfoo.so.1.2 °°Àº À̸§À» °¡Áø´Ù. À̵éÀº
- ½Ã½ºÅÛ µð·ºÅ丮(º¸Åë /usr/lib)¿¡ ÀÖ°í,
- ÄÄÆÄÀϽà ¸µÄ¿ ¸í·É¾î¿¡ -lfoo¸¦ ÁÖ¾î ½ÇÇàÆÄÀϰú
- ¿¬°áµÈ´Ù. ÀÌ·¸°Ô Á÷Á¢ ½áÁØ ¶óÀ̺귯¸®´Â ½ÇÇàÆÄÀÏ¿¡ ÂüÁ¶µÇ¿©¼,
- ¸µÄ¿ ¿É¼Ç -R·Î Á÷Á¢ ÁöÁ¤ÇÏ¿´°Å³ª ȯ°æº¯¼ö
- LD_LIBRARY_PATH·Î ÁöÁ¤ÇÑ °æ·ÎÀÎ /usr/lib¿¡¼
- À¯´Ð½º ·Î´õ°¡ ÇÁ·Î±×·¥ÀÌ ½ÃÀÛÇÒ¶§ libfoo.so¸¦
- ãÀ»(resolve) ¼ö ÀÖ´Ù. ±×·¯¸é ½ÇÇàÇÁ·Î±×·¥ÀÇ (¾ÆÁ÷ ¸øÃ£Àº)
- ½Éº¼(symbol)À» DSO¿¡¼ ã°ÔµÈ´Ù.
º¸Åë µÎ°¡Áö ¹æ¹ýÀ¸·Î ÀоîµéÀÏ ¼ö ÀÖ´Ù. Çϳª´Â ½ÇÇàÇÁ·Î±×·¥ÀÌ
+ ½ÃÀÛÇÒ¶§ ld.so¶ó´Â ½Ã½ºÅÛ ÇÁ·Î±×·¥ÀÌ ÀÚµ¿À¸·Î
+ ÀоîµéÀÌ´Â °æ¿ì°í, ´Ù¸¥ Çϳª´Â ½ÇÇàÁßÀÎ ÇÁ·Î±×·¥ÀÌ
+ dlopen()/dlsym() ½Ã½ºÅÛÈ£Ãâ·Î À¯´Ð½º ·Î´õ(loader)ÀÇ
+ ½Ã½ºÅÛ ÀÎÅÍÆäÀ̽ºÀ» »ç¿ëÇÏ¿© Á÷Á¢ ÀоîµéÀÌ´Â °æ¿ì´Ù.
ù¹øÂ° °æ¿ì DSO¸¦ º¸Åë °øÀ¯¶óÀ̺귯¸®(shared libraries)
+ ȤÀº DSO ¶óÀ̺귯¸®¶ó°í ºÎ¸£¸ç, ÆÄÀÏÀº
+ libfoo.so³ª libfoo.so.1.2 °°Àº
+ À̸§À» °¡Áø´Ù. À̵éÀº ½Ã½ºÅÛ µð·ºÅ丮(º¸Åë /usr/lib)¿¡
+ ÀÖ°í, ÄÄÆÄÀϽà ¸µÄ¿ ¸í·É¾î¿¡ -lfoo¸¦ ÁÖ¾î
+ ½ÇÇàÆÄÀϰú ¿¬°áÇÑ´Ù. ÀÌ·¸°Ô Á÷Á¢ ½áÁØ ¶óÀ̺귯¸®´Â ½ÇÇàÆÄÀÏ¿¡
+ ÂüÁ¶µÇ¿©¼, ÇÁ·Î±×·¥ÀÌ ½ÃÀÛÇÒ¶§ ¸µÄ¿ ¿É¼Ç -R·Î
+ Á÷Á¢ ÁöÁ¤ÇÑ °æ·Î, ȯ°æº¯¼ö LD_LIBRARY_PATH·Î
+ ÁöÁ¤ÇÑ °æ·Î ȤÀº /usr/lib¿¡¼ À¯´Ð½º ·Î´õ°¡
+ libfoo.so¸¦ ãÀ» ¼ö ÀÖ´Ù. ±×·¯¸é ½ÇÇàÇÁ·Î±×·¥ÀÇ
+ (¾ÆÁ÷ ¸øÃ£Àº(unresolved)) ½Éº¼(symbol)À» DSO¿¡¼ ã°ÔµÈ´Ù.
DSO´Â º¸Åë ½ÇÇàÇÁ·Î±×·¥ÀÇ ½Éº¼À» ãÁö¾Ê±â ¶§¹®¿¡ (DSO°¡
- Àç»ç¿ë°¡´ÉÇÑ ÀϹÝÀûÀÎ ÄÚµåÀÇ ¶óÀ̺귯¸®À̹ǷÎ) ã±â´Â ¿©±â¼ ³¡³´Ù.
- À¯´Ð½º ·Î´õ°¡ ½Éº¼ ã±â¸¦ ¿ÏÀüÈ÷ ´ã´çÇϹǷΠ½ÇÇàÇÁ·Î±×·¥ÀÌ Á÷Á¢
- DSO¿¡¼ ½Éº¼À» ãÀ» Çʿ䰡 ¾ø´Ù. (»ç½Ç ld.so¸¦
+ Àç»ç¿ë°¡´ÉÇÑ ÀϹÝÀûÀÎ ÄÚµå ¶óÀ̺귯¸®À̹ǷÎ) ã±â´Â ¿©±â¼
+ ³¡³´Ù. À¯´Ð½º ·Î´õ°¡ ½Éº¼ ã±â¸¦ ¿ÏÀüÈ÷ ´ã´çÇϹǷΠ½ÇÇàÇÁ·Î±×·¥ÀÌ
+ Á÷Á¢ DSO¿¡¼ ½Éº¼À» ãÀ» Çʿ䰡 ¾ø´Ù. (»ç½Ç ld.so¸¦
ºÎ¸£´Â ÄÚµå´Â Á¤ÀûÀÌ ¾Æ´Ñ ¸ðµç ½ÇÇàÇÁ·Î±×·¥¿¡ ¸µÅ©µÇ´Â ½ÇÇà½Ã
½ÃÀÛÄÚµåÀÇ ÀϺδÙ.) °øÅëµÈ ¶óÀ̺귯¸® Äڵ带 µ¿ÀûÀ¸·Î ÀоîµéÀÌ´Â
- ÀåÁ¡Àº ¸íÈ®ÇÏ´Ù. ¶óÀ̺귯¸® Äڵ尡 ¸ðµç ÇÁ·Î±×·¥¿¡ ÀúÀåµÇ´Â ´ë½Å
- libc.so¿Í °°Àº ½Ã½ºÅÛ ¶óÀ̺귯¸®¿¡ Çѹø¸¸ ÀúÀåµÇ±â
- ¶§¹®¿¡ µð½ºÅ© °ø°£ÀÌ Àý¾àµÈ´Ù.
µÎ¹øÂ° °æ¿ì DSO´Â º¸Åë °øÀ¯°´Ã¼(shared objects) ȤÀº
- DSO ÆÄÀÏÀ̶ó°í ºÎ¸£°í, (±ÔÄ¢»ó À̸§Àº foo.soÀÌÁö¸¸)
- ÆÄÀÏÀÇ È®ÀåÀÚ´Â ÀÚÀ¯·Ó´Ù. ÀÌ ÆÄÀϵéÀº º¸Åë ÇÁ·Î±×·¥ ÀÚü µð·ºÅ丮¿¡
- À§Ä¡ÇÏ°í ½ÇÇàÇÁ·Î±×·¥¿¡ ÀÚµ¿À¸·Î ¿¬°áµÇÁö ¾Ê´Â´Ù. ´ë½Å ½ÇÇàÇÁ·Î±×·¥Àº
- dlopen()À» »ç¿ëÇÏ¿© DSO¸¦ ½ÇÇà½Ã ÁÖ¼Ò°ø°£¿¡ Á÷Á¢
- Àоîµé¿©¾ß ÇÑ´Ù. À̶§ ½ÇÇàÇÁ·Î±×·¥Àº DSO¿¡¼ ½Éº¼À» ãÁö ¾Ê´Â´Ù.
- ´ë½Å À¯´Ð½º ·Î´õ°¡ ÀÚµ¿À¸·Î ½ÇÇàÆÄÀϰú ½ÇÇàÆÄÀÏÀÌ ÀÌ¹Ì ÀоîµéÀÎ DSO
- ¶óÀ̺귯¸®(ƯÈ÷ Ç×»óÀÖ´Â libc.soÀÇ ¸ðµç ½Éº¼)¿¡¼
- DSOÀÇ (¾ÆÁ÷ ¸øÃ£Àº) ½Éº¼À» ã´Â´Ù. ±×·¡¼ DSO´Â ¸¶Ä¡ óÀ½ºÎÅÍ
- ½ÇÇàÇÁ·Î±×·¥¿¡ Á¤ÀûÀ¸·Î ¸µÅ©µÈ°Í°ú °°ÀÌ ½ÇÇàÆÄÀÏÀÇ ½Éº¼À»
- ¾Ë°ÔµÈ´Ù.
libc.so¿Í °°Àº ½Ã½ºÅÛ ¶óÀ̺귯¸®¿¡
+ Çѹø¸¸ ÀúÀåµÇ±â ¶§¹®¿¡ µð½ºÅ© °ø°£ÀÌ Àý¾àµÈ´Ù.
+
+ µÎ¹øÂ° °æ¿ì DSO¸¦ º¸Åë °øÀ¯°´Ã¼(shared objects)
+ ȤÀº DSO ÆÄÀÏÀ̶ó°í ºÎ¸£°í, (±ÔÄ¢»ó À̸§Àº
+ foo.soÀÌÁö¸¸) ÆÄÀÏÀÇ È®ÀåÀÚ´Â ÀÚÀ¯·Ó´Ù. ÀÌ
+ ÆÄÀϵéÀº º¸Åë ÇÁ·Î±×·¥ ÀÚü µð·ºÅ丮¿¡ À§Ä¡ÇÏ°í ½ÇÇàÇÁ·Î±×·¥¿¡
+ ÀÚµ¿À¸·Î ¿¬°áµÇÁö ¾Ê´Â´Ù. ´ë½Å ½ÇÇàÇÁ·Î±×·¥Àº ½ÇÇà½Ã
+ dlopen()À» »ç¿ëÇÏ¿© DSO¸¦ ÁÖ¼Ò°ø°£¿¡
+ Á÷Á¢ Àоîµé¿©¾ß ÇÑ´Ù. À̶§ ½ÇÇàÇÁ·Î±×·¥Àº DSO¿¡¼ ½Éº¼À»
+ ãÁö ¾Ê´Â´Ù. ´ë½Å ¾Õ¿¡¼ º» À¯´Ð½º ·Î´õ´Â ÀÚµ¿À¸·Î ½ÇÇàÆÄÀϰú
+ ½ÇÇàÆÄÀÏÀÌ ÀÌ¹Ì ÀоîµéÀÎ DSO ¶óÀ̺귯¸®(ƯÈ÷ Ç×»ó Á¸ÀçÇÏ´Â
+ libc.soÀÇ ¸ðµç ½Éº¼)¿¡¼ DSOÀÇ (¾ÆÁ÷ ¸øÃ£Àº)
+ ½Éº¼À» ã´Â´Ù. ±×·¡¼ DSO´Â ¸¶Ä¡ óÀ½ºÎÅÍ ½ÇÇàÇÁ·Î±×·¥¿¡
+ Á¤ÀûÀ¸·Î ¸µÅ©µÈ°Í°ú °°ÀÌ ½ÇÇàÆÄÀÏÀÇ ½Éº¼À» ¾Ë°ÔµÈ´Ù.
DSOÀÇ API¸¦ ÀÌ¿ëÇϱâÀ§Çؼ ¸¶Áö¸·À¸·Î ½ÇÇàÇÁ·Î±×·¥Àº
- dlsym()·Î DSO¿¡¼ ƯÁ¤ ½Éº¼À» ã¾Æ¼,
- ¾ÕÀ¸·Î »ç¿ëÇϱâÀ§ÇØ µð½ºÆÐÄ¡(dispatch) Ç¥ µî¿¡
- ÀúÀåÇÑ´Ù. ´Ù¸¥ ¸»·Î ½ÇÇàÇÁ·Î±×·¥Àº »ç¿ëÇÒ ¸ðµç ½Çº¼À» Á÷Á¢
- ã¾Æ¾ßÇÑ´Ù. ÀÌ·± ±¸Á¶ÀÇ ÀåÁ¡Àº ÇÁ·Î±×·¥ÀÇ ¼±ÅÃÀûÀÎ ÀϺÎÀ»
- ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇÒ¶§±îÁö ÀоîµéÀÌÁö ¾Ê¾Æµµ (±×·¡¼
- ¸Þ¸ð¸®¸¦ ³¶ºñÇÏÁö ¾Ê°Ô) µÈ´Ù´Â Á¡ÀÌ´Ù. ±âº» ÇÁ·Î±×·¥ÀÇ ±â´ÉÀ»
- È®ÀåÇϱâÀ§ÇØ ÇÊ¿äÇÒ¶§ ÀÌ ºÎºÐÀ» µ¿ÀûÀ¸·Î ÀоîµéÀÏ ¼ö ÀÖ´Ù.
dlsym()À¸·Î DSO¿¡¼ ƯÁ¤ ½Éº¼À» ã¾Æ¼, ¾ÕÀ¸·Î
+ »ç¿ëÇϱâÀ§ÇØ µð½ºÆÐÄ¡(dispatch) Ç¥ µî¿¡ ÀúÀåÇÑ´Ù.
+ ´Ù¸¥ ¸»·Î ½ÇÇàÇÁ·Î±×·¥Àº »ç¿ëÇÒ ¸ðµç ½Çº¼À» Á÷Á¢ ã¾Æ¾ßÇÑ´Ù.
+ ÀÌ·± ±¸Á¶ÀÇ ÀåÁ¡Àº ÇÁ·Î±×·¥ÀÇ ÀϺθ¦ ÇÁ·Î±×·¥ÀÌ
+ ÇÊ¿äÇÒ¶§±îÁö ÀоîµéÀÌÁö ¾Ê¾Æµµ (±×·¡¼ ¸Þ¸ð¸®¸¦ ³¶ºñÇÏÁö
+ ¾Ê°Ô) µÈ´Ù´Â Á¡ÀÌ´Ù. ±âº» ÇÁ·Î±×·¥ÀÇ ±â´ÉÀ» È®ÀåÇϱâÀ§ÇØ
+ ÇÊ¿äÇÑ °æ¿ì ÀÌ ºÎºÐÀ» µ¿ÀûÀ¸·Î ÀоîµéÀÏ ¼ö ÀÖ´Ù.
ÀÌ·± DSO ±¸Á¶°¡ ÀÚ¿¬½º·´°Ô º¸ÀÌÁö¸¸, ÃÖ¼ÒÇÑ ¾î·Á¿î Á¡ÀÌ - ÇϳªÀÖ´Ù. ÀÌ´Â ÇÁ·Î±×·¥À» È®ÀåÇϱâÀ§ÇØ DSO¸¦ »ç¿ëÇÒ¶§ - DSO°¡ ½ÇÇàÇÁ·Î±×·¥ÀÇ ½Éº¼À» ã´Â ÀÏÀÌ´Ù. ¿Ö? DSO°¡ ½ÇÇàÇÁ·Î±×·¥ÀÇ - ½Éº¼À» "¿ªÀ¸·Î ã´Â °Í"Àº (¶óÀ̺귯¸®´Â »ç¿ëµÇ´Â ÇÁ·Î±×·¥¿¡ ´ëÇØ - ¸ð¸¥´Ù´Â) ¶óÀ̺귯¸® ¼³°è¿¡ ¹ÝÇϸç, ¸ðµç Ç÷¡Æû¿¡¼ Áö¿øµÇÁö - ¾Ê°í Ç¥ÁØÈµÇÁöµµ ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù. ½ÇÁ¦·Î ½ÇÇàÆÄÀÏÀÇ - Àü¿ª½Éº¼(global symbol)Àº ÀÚÁÖ ÀͽºÆ÷Æ®(export)µÇÁö ¾Ê±â¶§¹®¿¡ + ÇѰ¡ÁöÀÖ´Ù. ÇÁ·Î±×·¥À» È®ÀåÇϱâÀ§ÇØ DSO¸¦ »ç¿ëÇÒ¶§ DSO°¡ + ½ÇÇàÇÁ·Î±×·¥ÀÇ ½Éº¼À» ã´Â ÀÏÀÌ´Ù. ¿Ö? DSO°¡ ½ÇÇàÇÁ·Î±×·¥ÀÇ + ½Éº¼À» "¿ªÀ¸·Î ã´Â °Í"Àº (¶óÀ̺귯¸®´Â ÀÚ½ÅÀ» »ç¿ëÇÏ´Â ÇÁ·Î±×·¥¿¡ + ´ëÇØ ¸ð¸¥´Ù´Â) ¶óÀ̺귯¸® ¼³°è¿¡ ¹ÝÇϸç, ¸ðµç Ç÷¡Æû¿¡¼ + Áö¿øµÇÁö¾Ê°í Ç¥ÁØÈµÇÁöµµ ¾Ê¾Ò±â ¶§¹®ÀÌ´Ù. ½ÇÁ¦·Î ½ÇÇàÆÄÀÏÀÇ + Àü¿ª½Éº¼(global symbol)Àº º¸Åë ÀͽºÆ÷Æ®(export)µÇÁö ¾Ê±â¶§¹®¿¡ DSO°¡ »ç¿ëÇÒ ¼ö ¾ø´Ù. DSO¸¦ »ç¿ëÇÏ¿© ½ÇÇàÁß ÇÁ·Î±×·¥À» È®ÀåÇÏ·Á¸é - ¸µÄ¿¿¡°Ô ¸ðµç Àü¿ª½Éº¼À» ÀͽºÆ÷Æ®Çϵµ·Ï °Á¦ÇÏ´Â °ÍÀÌ ÁÖ¿äÇÑ + ¸µÄ¿¿¡°Ô ¸ðµç Àü¿ª½Éº¼À» ÀͽºÆ÷Æ®Çϵµ·Ï °Á¦ÇÏ´Â °ÍÀÌ ÁÖµÈ ÇØ°áÃ¥ÀÌ´Ù.
-°øÀ¯¶óÀ̺귯¸®´Â DSO ±¸Á¶¸¦ À§ÇØ ¼³°èµÇ¾ú±â¶§¹®¿¡ ÀüÇüÀûÀ̰í, - ¿î¿µÃ¼Á¦°¡ Á¦°øÇÏ´Â °ÅÀÇ ¸ðµç Á¾·ùÀÇ ¶óÀ̺귯¸®¿¡ »ç¿ëµÈ´Ù. +
°øÀ¯¶óÀ̺귯¸®´Â DSO ¹æ½ÄÀÇ ¼³°è¿øÄ¢´ë·Î ÀüÇüÀûÀ̱⶧¹®¿¡ + ¿î¿µÃ¼Á¦°¡ Á¦°øÇÏ´Â °ÅÀÇ ¸ðµç Á¾·ùÀÇ ¶óÀ̺귯¸®°¡ »ç¿ëÇÑ´Ù. ¹Ý´ë·Î ¸¹Àº ÇÁ·Î±×·¥Àº ÇÁ·Î±×·¥À» È®ÀåÇϱâÀ§ÇØ °øÀ¯°´Ã¼¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù.
-1998³â ½ÇÇàÁß ½ÇÁ¦·Î ±â´ÉÀ» È®ÀåÇϱâÀ§ÇØ - DSO ±¸Á¶¸¦ »ç¿ëÇÑ ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁö´Â (XS ±¸Á¶¿Í DynaLoader ¸ðµâÀ» - »ç¿ëÇÑ) Perl 5, Netscape Server µîÀ¸·Î µå¹°¾ú´Ù. - ¾ÆÆÄÄ¡´Â ÀÌ¹Ì ±â´ÉÀ» È®ÀåÇϱâÀ§ÇØ ¸ðµâ °³³äÀ» »ç¿ëÇß°í ¿ÜºÎ - ¸ðµâÀ» ¾ÆÆÄÄ¡ Çٽɱâ´É¿¡ ¿¬°áÇϱâÀ§ÇØ ³»ºÎÀûÀ¸·Î µð½ºÆÐÄ¡¸ñ·ÏÀ» ÀÌ¿ëÇÑ - Á¢±Ù¹æ¹ýÀ» »ç¿ëÇ߱⶧¹®¿¡ 1.3 ¹öÀüºÎÅÍ ¿©±â¿¡ ÇÕ·ùÇß´Ù. ±×·¡¼ - ¾ÆÆÄÄ¡´Â ½ÇÇàÁß ¸ðµâÀ» ÀоîµéÀ̴µ¥ DSO¸¦ »ç¿ëÇϵµ·Ï ¿î¸íÁö¿öÁ³´Ù.
- -1998³â ½ÇÇàÁß ½ÇÁ¦·Î ±â´ÉÀ» È®ÀåÇϱâÀ§ÇØ DSO ±¸Á¶¸¦ »ç¿ëÇÑ + ¼ÒÇÁÆ®¿þ¾î ÆÐŰÁö´Â (XS ±¸Á¶¿Í DynaLoader ¸ðµâÀ» »ç¿ëÇÑ) + Perl 5, Netscape Server µîÀ¸·Î µå¹°¾ú´Ù. ¾ÆÆÄÄ¡´Â + ÀÌ¹Ì ±â´ÉÀ» È®ÀåÇϱâÀ§ÇØ ¸ðµâ °³³äÀ» »ç¿ëÇß°í ¿ÜºÎ ¸ðµâÀ» + ¾ÆÆÄÄ¡ Çٽɱâ´É¿¡ ¿¬°áÇϱâÀ§ÇØ ³»ºÎÀûÀ¸·Î µð½ºÆÐÄ¡¸ñ·ÏÀ» + ÀÌ¿ëÇÑ Á¢±Ù¹æ¹ýÀ» »ç¿ëÇ߱⶧¹®¿¡ 1.3 ¹öÀüºÎÅÍ ÀÌ ´ë¿¿¡ ÇÕ·ùÇß´Ù. + ±×·¡¼ ¾ÆÆÄÄ¡´Â ½ÇÇàÁß ¸ðµâÀ» ÀоîµéÀ̴µ¥ DSO¸¦ »ç¿ëÇϵµ·Ï + ¿î¸íÁö¿öÁ³´Ù.
+¾Õ¿¡¼ ¸»ÇÑ DSO¸¦ »ç¿ëÇÏ¸é ´ÙÀ½°ú °°Àº ÀåÁ¡ÀÌ ÀÖ´Ù:
configure
- ¿É¼Ç´ë½Å httpd.confÀÇ LoadModule·Î
- ½ÇÇàÁß¿¡ °áÇյǹǷΠ¼¹ö ÆÐŰÁö°¡ ½ÇÇà½Ã ´õ À¯¿¬ÇÏ´Ù. ¿¹¸¦ µé¾î
- ÇѹøÀÇ ¾ÆÆÄÄ¡ ¼³Ä¡¸¸À¸·Î ´Ù¸¥ ¼¹ö(Ç¥ÁØ ¹öÀü°ú SSL ¹öÀü, ÃÖ¼ÒÈ ¹öÀü°ú
- ±â´ÉÃß°¡ ¹öÀü [mod_perl, PHP3] µî)¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.apxs¸¦ °¡Áö°í ¾ÆÆÄÄ¡ ¼Ò½º Æ®¸®
- ¹Û¿¡¼ ÀÛ¾÷Çϰí apxs -i¿Í
- apachectl restart ¸í·É¾î¸¸À¸·Î ÇöÀç °³¹ßÇÑ
- ¸ðµâÀÇ »õ ¹öÀüÀ» ½ÇÇàÁßÀÎ ¾ÆÆÄÄ¡ ¼¹ö¿¡ ¹Ý¿µÇÒ ¼ö ÀÖ¾î¼ ´õ ½±°Ô
- ¾ÆÆÄÄ¡ ¸ðµâÀ» °³¹ßÇÒ ¼ö ÀÖ´Ù.httpd.confÀÇ LoadModuleÀ» »ç¿ëÇÏ¿© ½ÇÇàÁß¿¡
+ °áÇյǹǷΠ¼¹ö ÆÐŰÁö ½ÇÇàÀÌ ´õ À¯¿¬ÇÏ´Ù. ¿¹¸¦ µé¾î ÇѹøÀÇ
+ ¾ÆÆÄÄ¡ ¼³Ä¡¸¸À¸·Î ´Ù¸¥ ¼¹ö(Ç¥ÁØ ¹öÀü°ú SSL ¹öÀü, ÃÖ¼ÒÈ
+ ¹öÀü°ú ±â´ÉÃß°¡ ¹öÀü [mod_perl, PHP3] µî)¸¦ ½ÇÇàÇÒ
+ ¼ö ÀÖ´Ù.
+
+ apxs¸¦ °¡Áö°í ¾ÆÆÄÄ¡ ¼Ò½º Æ®¸® ¹Û¿¡¼
+ ÀÛ¾÷Çϰí apxs -i¿Í apachectl restart
+ ¸í·É¾î¸¸À¸·Î ÇöÀç °³¹ßÇÑ ¸ðµâÀÇ »õ ¹öÀüÀ» ½ÇÇàÁßÀÎ ¾ÆÆÄÄ¡
+ ¼¹ö¿¡ ¹Ý¿µÇÒ ¼ö ÀÖ¾î¼ ´õ ½±°Ô ¾ÆÆÄÄ¡ ¸ðµâÀ» °³¹ßÇÒ ¼ö
+ ÀÖ´Ù.DSO´Â ´ÙÀ½°ú °°Àº ´ÜÁ¡ÀÌ ÀÖ´Ù:
@@ -277,33 +241,30 @@ $ apxs -i -a -n foo mod_foo.la Áö¿øÇÏÁö¾Ê´Â ¿î¿µÃ¼Á¦°¡ Àֱ⠶§¹®¿¡ ¸ðµç Ç÷¡Æû¿¡¼ DSO¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù. -ld -lfoo)¿¡
- ¸µÅ©ÇÒ ¼ö ¾ø´Â Ç÷¡ÆûÀÌ Àֱ⶧¹®¿¡ (¿¹¸¦ µé¾î ELF±â¹Ý Ç÷¡ÆûÀº
- Áö¿øÇÏÁö¸¸ a.out±â¹Ý Ç÷¡ÆûÀº º¸Åë ÀÌ ±â´ÉÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù)
- ¸ðµç Á¾·ùÀÇ ¸ðµâ¿¡ DSO¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù. ´Ù¸¥ ¸»·Î
- DSO ÆÄÀÏ·Î ÄÄÆÄÀϵǴ ¸ðµâÀº ¾ÆÆÄÄ¡ Çٽɰú ¾ÆÆÄÄ¡ ÇÙ½ÉÀÌ
- »ç¿ëÇÏ´Â C ¶óÀ̺귯¸®(libc)¿Í ´Ù¸¥ µ¿Àû/Á¤Àû
- ¶óÀ̺귯¸®, À§Ä¡µ¶¸³Äڵ带 ´ã°í ÀÖ´Â Á¤Àû ¶óÀ̺귯¸®
+ ld -lfoo)¿¡
+ ¸µÅ©ÇÒ ¼ö ¾ø´Â Ç÷¡ÆûÀÌ Àֱ⶧¹®¿¡ (¿¹¸¦ µé¾î ELF±â¹Ý
+ Ç÷¡ÆûÀº Áö¿øÇÏÁö¸¸ a.out±â¹Ý Ç÷¡ÆûÀº º¸Åë ÀÌ ±â´ÉÀ»
+ Áö¿øÇÏÁö ¾Ê´Â´Ù) ¸ðµç Á¾·ùÀÇ ¸ðµâ¿¡ DSO¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù.
+ ´Ù¸¥ ¸»·Î DSO ÆÄÀÏ·Î ÄÄÆÄÀÏÇÏ´Â ¸ðµâÀº ¾ÆÆÄÄ¡ Çٽɰú ¾ÆÆÄÄ¡
+ ÇÙ½ÉÀÌ »ç¿ëÇÏ´Â C ¶óÀ̺귯¸®(libc)¿Í ´Ù¸¥
+ µ¿Àû/Á¤Àû ¶óÀ̺귯¸®, À§Ä¡µ¶¸³Äڵ带 ´ã°í ÀÖ´Â Á¤Àû ¶óÀ̺귯¸®
¾ÆÄ«À̺ê(libfoo.a)ÀÇ ½Éº¼¸¸À» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
- ´Ù¸¥ Äڵ带 »ç¿ëÇÏ´Â ¹æ¹ýÀº ¾ÆÆÄÄ¡ ÇÙ½ÉÀÌ ±×°ÍÀ» ÂüÁ¶ÇÏ´øÁö,
- dlopen()À¸·Î Á÷Á¢ Äڵ带 ÀоîµéÀÌ´Â °ÍÀÌ´Ù.dlopen()À¸·Î Á÷Á¢ Äڵ带 Àоîµé¿©¾ß ÇÑ´Ù.
-
-
-
-
-
-
+Apache HTTP Server Version 2.1
+
¾ÆÆÄÄ¡ À¥¼¹ö´Â ȯ°æº¯¼ö(environment variable)¶ó´Â + º¯¼ö¿¡ Á¤º¸¸¦ ÀúÀåÇÒ ¼ö ÀÖ´Ù. ÀÌ Á¤º¸¸¦ »ç¿ëÇÏ¿© ·Î±×³ª + Á¢±ÙÁ¦¾î µî ¿©·¯ ÀÛ¾÷À» Á¶ÀýÇÑ´Ù. ¶Ç, ȯ°æº¯¼ö´Â CGI ½ºÅ©¸³Æ®¿Í + °°Àº ¿ÜºÎ ÇÁ·Î±×·¥°ú Åë½ÅÇÏ´Â ¼ö´ÜÀÌ µÈ´Ù. ÀÌ ¹®¼´Â ȯ°æº¯¼ö¸¦ + ´Ù·ç°í »ç¿ëÇÏ´Â ´Ù¾çÇÑ ¹æ¹ýµéÀ» ¼³¸íÇÑ´Ù.
+ +ÀÌ º¯¼öµéÀ» ȯ°æº¯¼ö¶ó°í ºÎ¸£Áö¸¸, ¿î¿µÃ¼Á¦¿¡¼ + ¸»Çϴ ȯ°æº¯¼ö¿Í ´Ù¸£´Ù. ÀÌ º¯¼ö´Â ¾ÆÆÄÄ¡ ³»ºÎ¿¡ ÀúÀåµÇ°í + »ç¿ëµÈ´Ù. ȯ°æº¯¼ö´Â CGI ½ºÅ©¸³Æ®³ª Server Side Include + ½ºÅ©¸³Æ®·Î ³Ñ°ÜÁú¶§¸¸ ½ÇÁ¦ ¿î¿µÃ¼Á¦ ȯ°æº¯¼ö°¡ µÈ´Ù. ¼¹ö¸¦ + ½ÇÇàÇÏ´Â ¿î¿µÃ¼Á¦ ȯ°æÀ» ¼öÁ¤ÇÏ°í ½Í´Ù¸é ¿î¿µÃ¼Á¦ ½©¿¡¼ + ȯ°æÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù.
+| °ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
|---|---|
¾ÆÆÄÄ¡¿¡¼ ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÏ´Â °¡Àå ±âº»ÀûÀÎ ¹æ¹ýÀº
+ ¹«Á¶°ÇÀûÀÎ SetEnv Áö½Ã¾î¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. PassEnv Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©
+ ¼¹ö¸¦ ½ÃÀÛÇÑ ½©¿¡¼ ȯ°æº¯¼ö¸¦ °¡Á®¿Ã ¼öµµ ÀÖ´Ù.
´õ À¯¿¬ÇϰÔ, mod_setenvif°¡ Á¦°øÇÏ´Â Áö½Ã¾î´Â ¿äû¸¶´Ù
+ ¿äûÀÇ Æ¯Â¡¿¡ µû¶ó ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù. ¿¹¸¦ µé¾î, ƯÁ¤
+ ºê¶ó¿ìÀú·Î (User-Agent) ¿äûÇϰųª ƯÁ¤ Referer (¸ÂÃã¹ýÀÌ
+ Ʋ¸®Áö ¾Ê¾Ò´Ù) Çì´õ°¡ ÀÖ´Â °æ¿ì¿¡¸¸ º¯¼ö¸¦ ¼³Á¤ÇÒ ¼ö
+ ÀÖ´Ù. ½ÉÁö¾î mod_rewrite¿¡ ÀÖ´Â RewriteRuleÀÇ
+ [E=...] ¿É¼ÇÀ» »ç¿ëÇÏ¿© ´õ À¯¿¬ÇÏ°Ô È¯°æº¯¼ö¸¦
+ ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù.
¸¶Áö¸·À¸·Î mod_unique_id´Â °¢ ¿äû¿¡ ´ëÇØ ¾î¶² °æ¿ì¿¡µµ
+ "¸ðµç" ¿äûÁß¿¡ È®½ÇÈ÷ À¯ÀÏÇÑ(°ãÄ¡Áö¾ÊÀº) °ªÀ¸·Î
+ UNIQUE_ID ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù.
CGI ½ºÅ©¸³Æ®¿Í SSI ¹®¼´Â ¾ÆÆÄÄ¡ ¼³Á¤¿¡¼ ¼³Á¤ÇÏ¿´°Å³ª + ½©¿¡¼ °¡Á®¿Â ȯ°æº¯¼ö ¿Ü¿¡ Ãß°¡·Î CGI ±Ô¾àÀÌ ±ÔÁ¤ÇÑ + ¿äû¿¡ ´ëÇÑ Á¤º¸¸¦ ¾Ë·ÁÁִ ȯ°æº¯¼öµéÀ» ¹Þ´Â´Ù.
+ + +suexec.c¿¡ Á¤ÀǵȴÙ.| °ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
|---|---|
ȯ°æº¯¼öÀÇ ÁÖµÈ ¿ëµµÁß Çϳª´Â CGI ½ºÅ©¸³Æ®¿Í Á¤º¸¸¦ + ±³È¯ÇÏ´Â °ÍÀÌ´Ù. ¾Õ¿¡¼ ¼³¸íÇßµíÀÌ ¾ÆÆÄÄ¡ ¼³Á¤¿¡¼ ¼³Á¤ÇÑ + º¯¼ö¿Ü¿¡ ¿äû¿¡ ´ëÇÑ Ç¥ÁØ Á¤º¸¸¦ °¡Áø º¯¼ö°¡ CGI ½ºÅ©¸³Æ®·Î + ³Ñ¾î°£´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº CGI + ÅõÅ丮¾óÀ» Âü°íÇ϶ó.
+ + +mod_includeÀÇ INCLUDES ÇÊÅͰ¡ ó¸®ÇÏ´Â
+ ¼¹öÆÄ½Ì (SSI) ¹®¼´Â echo ¿ä¼Ò¸¦ »ç¿ëÇÏ¿©
+ ȯ°æº¯¼ö¸¦ Ãâ·ÂÇÒ ¼ö ÀÖ°í, ȯ°æº¯¼ö¸¦ »ç¿ëÇÏ¿© ¿äûÀÇ
+ Ư¡¿¡ µû¶ó È帧Á¦¾î ¿ä¼Ò·Î ÆäÀÌÁöÀÇ ÀϺθ¦ º¯°æÇÒ ¼ö
+ ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ¶Ç SSI ¹®¼¿¡°Ô À§¿¡¼ ¼³¸íÇÑ Ç¥ÁØ CGI
+ ȯ°æº¯¼ö¸¦ Á¦°øÇÑ´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ëÀº SSI ÅõÅ丮¾óÀ» Âü°íÇ϶ó.
allow from env=°ú deny from env=
+ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ȯ°æº¯¼ö °ª¿¡ µû¶ó ¼¹ö·ÎÀÇ Á¢±ÙÀ»
+ Á¶ÀýÇÒ ¼ö ÀÖ´Ù. SetEnvIf¿Í °°ÀÌ »ç¿ëÇϸé
+ Ŭ¶óÀ̾ðÆ®ÀÇ Æ¯Â¡¿¡ µû¶ó ÀÚÀ¯·Ó°Ô ¼¹ö·ÎÀÇ Á¢±ÙÀ» Á¦¾îÇÒ
+ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ƯÁ¤ ºê¶ó¿ìÀúÀÇ (User-Agent) Á¢±ÙÀ»
+ °ÅºÎÇÒ ¼ö ÀÖ´Ù.
LogFormatÀÇ
+ %e ¿É¼ÇÀ» »ç¿ëÇÏ¿© ȯ°æº¯¼ö¸¦ Á¢±Ù ·Î±×¿¡
+ ±â·ÏÇÒ ¼ö ÀÖ´Ù. ¶Ç, CustomLog Áö½Ã¾îÀÇ
+ Á¶°ÇºÎ Çü½ÄÀ» »ç¿ëÇϸé ȯ°æº¯¼öÀÇ »óȲ¿¡ µû¶ó ¿äûÀ»
+ ·Î±×ÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇÒ ¼ö ÀÖ´Ù. SetEnvIf¿Í °°ÀÌ »ç¿ëÇÏ¿©
+ ¾î¶² ¿äûÀ» ·Î±×ÇÒÁö ÀÚÀ¯·Ó°Ô °áÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î,
+ ÆÄÀϸíÀÌ gif·Î ³¡³ª´Â ¿äûÀº ·Î±×ÇÏÁö ¾Ê°Å³ª,
+ ¿ÜºÎ ³×Æ®¿÷¿¡ Àִ Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¸¸À» ·Î±×ÇÒ ¼ö ÀÖ´Ù.
Header
+ Áö½Ã¾î´Â Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ÀÀ´äÀ» º¸³¾¶§ ȯ°æº¯¼öÀÇ À¯¹«¿¡
+ µû¶ó ¾î¶² HTTP Çì´õ¸¦ Æ÷ÇÔÇÒÁö °áÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦
+ µé¾î, Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ƯÁ¤ Çì´õ°¡ ÀÖ´Â °æ¿ì¿¡¸¸
+ ¾î¶² ÀÀ´ä Çì´õ¸¦ º¸³¾ ¼ö ÀÖ´Ù.
mod_ext_filterÀÇ ExtFilterDefine
+ Áö½Ã¾î·Î ¼³Á¤ÇÑ ¿ÜºÎ ÇÊÅ͸¦ disableenv=¿Í
+ enableenv= ¿É¼ÇÀ» »ç¿ëÇÏ¿© ȯ°æº¯¼ö¿¡ µû¶ó
+ ¼±ÅÃÀûÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
RewriteCondÀÇ
+ TestString¿¡ %{ENV:...} Çü½ÄÀ»
+ »ç¿ëÇϸé mod_rewriteÀÇ ÀçÀÛ¼º ¿£ÁøÀÌ È¯°æº¯¼ö¿¡ µû¶ó
+ ´Ù¸£°Ô ÇൿÇÑ´Ù. mod_rewrite¿¡¼ ¾Õ¿¡ ENV:¸¦
+ ºÙÀÌÁö¾Ê°í Á¢±ÙÇÏ´Â º¯¼ö´Â ½ÇÁ¦ ȯ°æº¯¼ö°¡ ¾Æ´ÔÀ» ÁÖÀÇÇ϶ó.
+ ±×µéÀº ´Ù¸¥ ¸ðµâ¿¡¼ ÀÐÀ» ¼ö ¾ø´Â mod_rewrite¿¡ ÇÑÁ¤µÈ
+ º¯¼ö´Ù.
Ŭ¶óÀÌ¾ðÆ®¿Í ¿øÈ°ÇÑ µ¿ÀÛÇϱâÀ§ÇØ ¾ÆÆÄÄ¡´Â Ưº°ÇÑ
+ Ŭ¶óÀÌ¾ðÆ®¿¡ ´ëÇØ ÀÚ½ÅÀÇ ÇൿÀ» ¼öÁ¤ÇÑ´Ù. º¸Åë BrowserMatch¿¡¼
+ ȯ°æº¯¼ö¸¦ Á¤ÀÇÇÏ¿© ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇÑ´Ù. ±×·¯³ª SetEnv¿Í PassEnv·Îµµ °¡´ÉÇÏ´Ù.
¿äûÀÌ ÀÌÈÄ ¹öÀüÀ» »ç¿ëÇÏ´õ¶óµµ HTTP/1.0 ¿äûÀ¸·Î + ó¸®ÇÑ´Ù.
+ + +ÀÀ´äÀ» Ŭ¶óÀÌ¾ðÆ®¿¡°Ô º¸³»±â Àü¿¡ ÀÀ´ä Çì´õ¿¡¼
+ Vary Çʵ带 »«´Ù. ¾î¶² Ŭ¶óÀÌ¾ðÆ®´Â ÀÌ
+ Çʵ带 Á¦´ë·Î ÇØ¼®ÇÏÁö ¸øÇÑ´Ù. ÀÌ º¯¼ö´Â ÀÌ·± ¹®Á¦¸¦
+ ÇØ°áÇÑ´Ù. ¶ÇÇÑ, ÀÌ º¯¼ö´Â
+ force-response-1.0À» °¡Á¤ÇÑ´Ù.
HTTP/1.0 ¿äûÀ» Çϴ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô HTTP/1.0 ÀÀ´äÀ» + °Á¦ÇÑ´Ù. ¿ø·¡ AOL ÇÁ·Ï½Ã¿¡ ¹®Á¦°¡ ÀÖ¾î¼ ¸¸µé¾îÁ³´Ù. + ¾î¶² HTTP/1.0 Ŭ¶óÀÌ¾ðÆ®´Â HTTP/1.1 ÀÀ´äÀ» ¹ÞÀ¸¸é Á¦´ë·Î + µ¿ÀÛÇÏÁö ¾ÊÀ¸¹Ç·Î, ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâÀ§ÇØ »ç¿ëÇÑ´Ù.
+ + +°ªÀÌ "1"À̸é text/htmlÀÌ ¾Æ´Ñ content-type¿¡
+ ´ëÇØ mod_deflateÀÇ DEFALTE Ãâ·ÂÇÊÅ͸¦
+ »ç¿ëÇÏÁö ¾Ê´Â´Ù. (gzip »Ó¸¸ ¾Æ´Ï¶ó "identity"°¡ ¾Æ´Ñ ¸ðµç
+ ÀÎÄÚµùÀÇ) Á¤ÀûÀ¸·Î ¾ÐÃàÇÑ ÆÄÀÏÀÇ °æ¿ì¿¡µµ
+ mod_negotiationÀº ÀÌ º¯¼ö¸¦ Âü°íÇÑ´Ù.
ÀÌ ¿É¼ÇÀ» ¼³Á¤Çϸé mod_deflateÀÇ
+ DEFLATE ÇÊÅ͸¦ »ç¿ëÇÏÁö ¾Ê°í,
+ mod_negotiationÀº ÀÎÄÚµùµÈ ÀÚ¿øÀ»
+ º¸³»Áö ¾Ê´Â´Ù.
KeepAlive¸¦
+ ¹«½ÃÇÑ´Ù.
ÀÌ º¯¼ö´Â mod_negotiationÀÇ Çൿ¿¡
+ ¿µÇâÀ» ¹ÌÄ£´Ù. º¯¼ö°¡ (en, ja,
+ x-klingon µî) ¾ð¾îű׸¦ ´ã°íÀÖ´Ù¸é,
+ mod_negotiation´Â ±× ¾ð¾î·Î µÈ º¯ÇüÀ»
+ º¸³»±æ ½ÃµµÇÑ´Ù. ±×·± º¯ÇüÀÌ ¾ø´Ù¸é ÀϹÝÀûÀÎ Çù»ó °úÁ¤À» ½ÃÀÛÇÑ´Ù.
¼¹ö°¡ ´õ Á¶½ÉÈ÷ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¸®´ÙÀÌ·º¼ÇÀ» º¸³½´Ù. + º¸Åë ¸®´ÙÀÌ·º¼ÇÀ» ó¸®Çϴµ¥ ¹®Á¦°¡ Àִ Ŭ¶óÀ̾ðÆ®À» + À§ÇØ »ç¿ëÇÑ´Ù. ¿ø·¡ MicrosoftÀÇ WebFolders ¼ÒÇÁÆ®¿þ¾î°¡ + DAV ¸Þ½áµå¸¦ ÅëÇØ µð·ºÅ丮 ÀÚ¿øÀÇ ¸®´ÙÀÌ·º¼ÇÀ» ó¸®Çϴµ¥ + ¹®Á¦°¡ ÀÖ¾î¼ ¸¸µé¾îÁ³´Ù.
+ + + +2.0.40 ÀÌÈÄ ¹öÀü¿¡ ÀÖ´Ù
+ +¾ÆÆÄÄ¡°¡ Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î ¸®´ÙÀÌ·º¼ÇÀ» + º¸³¾¶§ Ŭ¶óÀÌ¾ðÆ®°¡ ÀÚµ¿À¸·Î ¸®´ÙÀÌ·º¼ÇÀ» µû¶ó°¡Áö ¸øÇÏ´Â(ȤÀº + ¾Ê´Â) °æ¿ì¿¡ ´ëºñÇÏ¿© ÀÀ´ä¿¡ »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÙ ¹®±¸¸¦ Æ÷ÇÔÇÑ´Ù. + ¾ÆÆÄÄ¡´Â º¸Åë ÀÌ ±ÛÀ» ¾ÆÆÄÄ¡°¡ »ç¿ëÇÏ´Â ¹®ÀÚÁýÇÕÀÎ ISO-8859-1·Î + Ç¥½ÃÇÑ´Ù.
+±×·¯³ª ¸®´ÙÀÌ·º¼ÇµÈ ÆäÀÌÁö°¡ ´Ù¸¥ ¹®ÀÚÁýÇÕÀ» »ç¿ëÇÒ °æ¿ì + ¾î¶² ÀÌ»óÇÑ ºê¶ó¿ìÀú ¹öÀüÀº ½ÇÁ¦ ÆäÀÌÁö°¡ ¾Æ´Ï¶ó ¸®´ÙÀÌ·º¼Ç + ÆäÀÌÁöÀÇ ¹®ÀÚÁýÇÕÀ» »ç¿ëÇÏ·Á°í ÇÑ´Ù. ¿¹¸¦ µé¾î, ±×¸®½º¾î°¡ + ÀÌ»óÇÏ°Ô º¸ÀÏ ¼ö ÀÖ´Ù.
+ÀÌ È¯°æº¯¼ö´Â ¾ÆÆÄÄ¡°¡ ¸®´ÙÀÌ·º¼Ç ÆäÀÌÁö¿¡ ¹®ÀÚÁýÇÕÀ» + ¼³Á¤ÇÏÁö¾Êµµ·Ï ÇÏ¿©, ÀÌ·± ºê¶ó¿ìÀú°¡ ½ÇÁ¦ ÆäÀÌÁöÀÇ ¹®ÀÚÁýÇÕÀ» + ¿Ã¹Ù·Î »ç¿ëÇÏ°Ô ¸¸µç´Ù.
+ + + +Ŭ¶óÀÌ¾ðÆ®µéÀÇ ÀÌ¹Ì ¾Ë·ÁÁø ¹®Á¦¸¦ ÇØ°áÇϱâÀ§ÇØ + httpd.conf¿¡ ´ÙÀ½ ³»¿ëÀ» Æ÷ÇÔÇÏ±æ ¹Ù¶õ´Ù.
++# +# ´ÙÀ½ Áö½Ã¾îµéÀº ÀϹÝÀûÀÎ HTTP ÀÀ´äÀ» º¯°æÇÑ´Ù. +# ù¹øÂ° Áö½Ã¾î´Â Netscape 2.x¿Í À̸¦ °¡ÀåÇÑ ºê¶ó¿ìÀú¿¡°Ô +# keepalive¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. ÀÌµé ºê¶ó¿ìÀú ±¸Çö¿¡ ¹®Á¦°¡ ÀÖ´Ù. +# µÎ¹øÂ° Áö½Ã¾î´Â HTTP/1.1 ±¸ÇöÀÌ À߸øµÇ¾ú°í 301À̳ª 302 +# (¸®´ÙÀÌ·º¼Ç) ÀÀ´ä¿¡ »ç¿ëÇÑ keepalive¸¦ Á¦´ë·Î Áö¿øÇÏÁö +# ¸øÇÏ´Â Microsoft Internet Explorer 4.0b2¸¦ À§ÇÑ °ÍÀÌ´Ù. +# +BrowserMatch "Mozilla/2" nokeepalive +BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 + +# +# ´ÙÀ½ Áö½Ã¾î´Â ±âº»ÀûÀÎ HTTP/1.1 ÀÀ´äÀ» ÀÌÇØÇÏÁö ¸øÇÏ¿© +# HTTP/1.0 ±Ô¾àÀ» ¾î±â´Â ºê¶ó¿ìÀú¿¡°Ô HTTP/1.1 ÀÀ´äÀ» º¸³»Áö ¾Ê´Â´Ù. +# +BrowserMatch "RealPlayer 4\.0" force-response-1.0 +BrowserMatch "Java/1\.0" force-response-1.0 +BrowserMatch "JDK/1\.0" force-response-1.0
ÀÌ ¿¹Á¦´Â À̹ÌÁö¿¡ ´ëÇÑ ¿äûÀ» Á¢±Ù ·Î±×¿¡ ±â·ÏÇÏÁö + ¾Ê´Â´Ù. ƯÁ¤ µð·ºÅ丮¿¡ ´ëÇÑ È¤Àº ƯÁ¤ È£½ºÆ®¿¡¼ ¿Â + ¿äûÀ» ·Î±×ÇÏÁö ¾Êµµ·Ï ½±°Ô ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.
++SetEnvIf Request_URI \.gif image-request +SetEnvIf Request_URI \.jpg image-request +SetEnvIf Request_URI \.png image-request +CustomLog logs/access_log common env=!image-request
ÀÌ ¿¹´Â ÇöÀç ¼¹ö¿ÜÀÇ »ç¿ëÀÚ°¡ ÆäÀÌÁö¿¡ ¼¹ö¿¡ ÀÖ´Â + À̹ÌÁö¸¦ Æ÷ÇÔÇÏÁö ¸øÇϵµ·Ï ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ÀÌ + ¼³Á¤À» ±ÇÀåÇÏÁö´Â ¾ÊÀ¸¸ç, Á¦ÇÑµÈ °æ¿ì¿¡¸¸ µ¿ÀÛÇÑ´Ù. + ¿ì¸®´Â ¸ðµç À̹ÌÁö°¡ /web/images µð·ºÅ丮 ¾È¿¡ ÀÖ´Ù°í + °¡Á¤ÇÑ´Ù.
++SetEnvIf Referer "^http://www.example.com/" local_referal +# Referer Á¤º¸¸¦ º¸³»Áö ¾Ê´Â ºê¶ó¿ìÀú¸¦ Çã¿ëÇÑ´Ù +SetEnvIf Referer "^$" local_referal +<Directory /web/images> + Order Deny,Allow + Deny from all + Allow from env=local_referal +</Directory>
ÀÌ ±â¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº ApacheToday ÅõÅ丮¾ó " + Keeping Your Images from Adorning Other Sites"¸¦ Âü°íÇ϶ó.
+ +Apache HTTP Server Version 2.1
+
| °ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
|---|---|
ÇÊÅÍ(filter)´Â ¼¹ö°¡ º¸³»°Å³ª ¹Þ´Â ÀÚ·á¿¡ + Àû¿ëµÇ´Â ÀÛ¾÷ÀÌ´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ ¼¹ö¿¡°Ô º¸³»´Â ÀÚ·á´Â + ÀÔ·ÂÇÊÅÍ(input filter)°¡ ó¸®Çϰí, ¼¹ö°¡ + Ŭ¶óÀÌ¾ðÆ®¿¡°Ô º¸³»´Â ÀÚ·á´Â Ãâ·ÂÇÊÅÍ(output filter)°¡ + ó¸®ÇÑ´Ù. ÀÚ·á¿¡ ¿©·¯ ÇÊÅ͸¦ »ç¿ëÇÒ ¼ö ÀÖ°í, Á÷Á¢ ÇÊÅÍÀÇ + ¼ø¼¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
+ +¾ÆÆÄÄ¡´Â À̾î¹Þ±â(byte-range) ¿äû µîÀ» ó¸®ÇϱâÀ§ÇØ
+ ³»ºÎÀûÀ¸·Î ÇÊÅ͸¦ »ç¿ëÇÑ´Ù. ¶Ç, ¼³Á¤ Áö½Ã¾î¸¦
+ »ç¿ëÇÏ¿© ¼±Åð¡´ÉÇÑ ÇÊÅ͸¦ Á¦°øÇÏ´Â ¸ðµâµµ ÀÖ´Ù.
+ SetInputFilter,
+ SetOutputFilter,
+ AddInputFilter,
+ AddOutputFilter,
+ RemoveInputFilter,
+ RemoveOutputFilter
+ Áö½Ã¾î·Î ÀڷḦ ó¸®ÇÏ´Â ÇÊÅ͸¦ Á¶ÀýÇÑ´Ù.
ÇöÀç ¾ÆÆÄÄ¡ À¥¼¹ö ¹èÆ÷º»Àº »ç¿ëÀÚ°¡ ¼±ÅÃÇÒ ¼ö ÀÖ´Â ´ÙÀ½°ú + °°Àº ÇÊÅ͸¦ Á¦°øÇÑ´Ù.
+ +mod_include°¡ ó¸®ÇÏ´Â Server-Side Includesmod_deflate¸¦ »ç¿ëÇÏ¿© Ãâ·ÂÀ»
+ Ŭ¶óÀÌ¾ðÆ®·Î º¸³»±â Àü¿¡ ¾ÐÃà
+ ¶Ç, mod_ext_filter ¸ðµâÀ» »ç¿ëÇÏ¿©
+ ¿ÜºÎ ÇÁ·Î±×·¥À» ÇÊÅÍ·Î »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
Apache HTTP Server Version 2.1
+
ÀÌ ¹®¼´Â À¥ ¼ºñ½º ÀϹݿ¡ ´ëÇÑ, ƯÈ÷ ¾ÆÆÄÄ¡¿Í °ü·ÃµÈ, ¿ë¾îµéÀ» +Á¤ÀÇÇÑ´Ù. °¢ °³³ä¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â ¸µÅ©¸¦ Âü°íÇ϶ó. +(¿ªÁÖ; ÇöÀç ´Ü¾îÀÇ ¼ø¼´Â ÇÑ±Û ¼ø¼°¡ ¾Æ´Ï¶ó, ¿µ¹®ÀÚ +¼ø¼ÀÔ´Ï´Ù. ¿ë¾î¹ø¿ªÇ¥´Â ¿©±â¸¦ +Âü°íÇÏ±æ ¹Ù¶ø´Ï´Ù.)
+INCLUDES Ãâ·ÂÇÊÅÍ´Â ¹®¼ÀÇ
+Server Side Includes¸¦ ó¸®ÇÑ´Ù. www°¡ È£½ºÆ®¸íÀ̰í
+example.comÀÌ µµ¸ÞÀθíÀ϶§,
+www.example.comÀº ¿ÏÀüÇÑ µµ¸ÞÀθíÀÌ´Ù.cgi-script Çڵ鷯´Â
+CGI·Î ó¸®ÇÒ ÆÄÀÏÀ» ÁöÁ¤ÇÑ´Ù./usr/local/apache2/conf/httpd.confÀÌÁö¸¸, ½ÇÇàÇÒ¶§
+ȤÀº ÄÄÆÄÀ϶§ ¼³Á¤À¸·Î º¯°æÇÒ ¼ö ÀÖ´Ù.GET,
+POST, PUT µîÀÌ ÀÖ´Ù.text/html, image/gif,
+application/octet-stream µîÀÌ´Ù. MIME-typeÀº HTTPÀÇ
+Content-Type Çì´õ (header)·Î
+Àü¼ÛÇÑ´Ù./images/.*(jpg|gif)$"·Î ÁöĪÇÒ ¼ö
+ÀÖ´Ù. ¾ÆÆÄÄ¡´Â PCRE ¶óÀ̺귯¸®¸¦
+»ç¿ëÇÏ¿© Perlȣȯ Á¤±ÔÇ¥Çö½ÄÀ» Áö¿øÇÑ´Ù.tar µµ±¸¸¦ »ç¿ëÇÏ¿© ÆÄÀϵéÀ» ¸ðÀº ¹À½. ¾ÆÆÄÄ¡´Â
+tar ÆÄÀÏÀ» ¾ÐÃàÇϰųª pkzipÀ¸·Î ¾ÐÃàÇÏ¿© ¹èÆ÷µÈ´Ù.http³ª https°°Àº ½ºÅ´(scheme), È£½ºÆ®¸í,
+°æ·Î·Î ±¸¼ºµÈ´Ù. ÀÌ ÆäÀÌÁöÀÇ URLÀº
+http://httpd.apache.org/docs-2.1/glossary.htmlÀÌ´Ù.Apache HTTP Server Version 2.1
+
ÀÌ ¹®¼´Â ¾ÆÆÄÄ¡¿¡¼ Çڵ鷯¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
+| °ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
|---|---|
ÆÄÀÏÀ» ¿äûÇÒ¶§ ¾ÆÆÄÄ¡°¡ ³»ºÎÀûÀ¸·Î ¼öÇàÇÒ ÀÛ¾÷À» + "Çڵ鷯(handler)"¶ó°í ÇÑ´Ù. ÀϹÝÀûÀ¸·Î ÆÄÀÏÀº ÆÄÀÏ Á¾·ù¿¡ + µû¶ó ¾Ï¹¬ÀûÀÎ Çڵ鷯¸¦ °¡Áö°í ÀÖ´Ù. ¸ðµç ÆÄÀÏÀº º¸Åë °£´ÜÈ÷ + ¼¹ö°¡ ¼ºñ½ºÇÏÁö¸¸, ¾î¶² ÆÄÀÏ Á¾·ù´Â µû·Î "󸮵ȴÙ(handled)".
+ +Apache 1.1ºÎÅÍ Çڵ鷯¸¦ ¸í½ÃÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. + ÆÄÀÏ Á¾·ù¿Í °ü°è¾øÀÌ Çڵ鷯¸¦ ÆÄÀÏÀÇ È®ÀåÀÚ³ª À§Ä¡¿¡ µû¶ó + ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ÀÌ´Â ´õ ÈǸ¢ÇÑ ¹æ¹ýÀÌ°í ÆÄÀÏÀ» Á¾·ù¿Í Çڵ鷯 + µÑ ¸ðµÎ¿Í ¿¬°èÇÒ ¼ö Àֱ⶧¹®¿¡ ÁÁ´Ù. (¿©·¯ È®ÀåÀÚ¸¦ °¡Áø ÆÄÀϵµ + Âü°í)
+ +Çڵ鷯´Â ¼¹ö³ª ¸ðµâ·Î ±¸ÇöÇÏ¿©, Action Áö½Ã¾î·Î Ãß°¡ÇÒ
+ ¼ö ÀÖ´Ù. Ç¥ÁØ ¹èÆ÷º»¿¡ ÀÖ´Â ±âº» Çڵ鷯´Â ´ÙÀ½°ú °°´Ù:
default_handler()¸¦ »ç¿ëÇÏ¿© ÆÄÀÏÀ» º¸³½´Ù.
+ (core)mod_asis)mod_cgi)mod_imap)mod_info)mod_status)mod_negotiation)´ÙÀ½ Áö½Ã¾î´Â È®ÀåÀÚ°¡ htmlÀÎ ÆÄÀÏÀ»
+ ¿äûÇÒ °æ¿ì footer.pl CGI ½ºÅ©¸³Æ®¸¦ ¶ç¿î´Ù.
+ Action add-footer /cgi-bin/footer.pl
+ AddHandler add-footer .html
+
CGI ½ºÅ©¸³Æ®´Â
+ (PATH_TRANSLATED ȯ°æº¯¼ö°¡ ÁöĪÇÏ´Â) ¿ø·¡
+ ¿äûÇÑ ¹®¼¸¦ ÀûÀýÈ÷ ¼öÁ¤ÇÑ ÈÄ º¸³½´Ù.
´ÙÀ½ Áö½Ã¾î´Â HTTP Çì´õ¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀÏ¿¡
+ send-as-is Çڵ鷯¸¦ Áö½ÃÇÑ´Ù.
+ /web/htdocs/asis/ µð·ºÅ丮 ¾È¿¡ ÀÖ´Â ¸ðµç
+ ÆÄÀÏÀº È®ÀåÀÚ¿Í °ü°è¾øÀÌ send-as-is Çڵ鷯°¡
+ ó¸®ÇÑ´Ù.
+ <Directory /web/htdocs/asis>
+ SetHandler send-as-is
+ </Directory>
+
Çڵ鷯 ±â´ÉÀ» ±¸ÇöÇϱâÀ§ÇØ »ç¿ëÇÔÁ÷ÇÑ
+ Apache API°¡ Ãß°¡µÇ¾ú´Ù.
+ ƯÈ÷ request_rec ±¸Á¶Ã¼¿¡ »õ·Î¿î Çʵ尡
+ Ãß°¡µÇ¾ú´Ù:
+ char *handler
+
¸ðµâÀÌ Çڵ鷯¸¦ »ç¿ëÇÏ·Á¸é, ¿äûÀÇ
+ invoke_handler ´Ü°è ÀÌÀü¿¡
+ r->handler¿¡ Çڵ鷯 À̸§À» ÁöÁ¤ÇØÁֱ⸸
+ ÇÏ¸é µÈ´Ù. Çڵ鷯´Â content type ´ë½Å Çڵ鷯 À̸§À» »ç¿ëÇÑ
+ °ÍÀ» Á¦¿ÜÇϰí´Â Àü°ú °°ÀÌ ±¸ÇöµÇ¾ú´Ù. ²À Áöų ÇÊ¿ä´Â ¾øÁö¸¸
+ Çڵ鷯 À̸§¿¡ ½½·¡½¬¸¦ »ç¿ëÇÏÁö ¾Ê°í, ´Ü¾îµé »çÀÌ¿¡ »©±â
+ ±âÈ£¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ÀϹÝÀûÀÌ´Ù. ±×·¡¼ Çڵ鷯 À̸§ÀÌ
+ media type°ú °ãÄ¡Áö ¾Ê´Â´Ù.
ÀÌ ÆäÀÌÁö°¡ º¸ÀÎ´Ù¸é ½Ã½ºÅÛ¿¡ -Apache À¥¼¹ö -¼ÒÇÁÆ®¿þ¾î°¡ ¼º°øÀûÀ¸·Î ¼³Ä¡µÇ¾úÀ½À» ÀǹÌÇÕ´Ï´Ù. ÀÌÁ¦ ÀÌ µð·ºÅ丮¿¡ -³»¿ëÀ» Ãß°¡Çϰí ÀÌ ÆäÀÌÁö¸¦ ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù.
- -»çÀÌÆ® °ü¸®ÀÚ°¡ À¥¼¹ö ¼³Á¤À» º¯°æÇ߱⠶§¹®¿¡ ÀÌ ÆäÀÌÁö°¡ -º¸ÀÌ´Â °Í ÀÔ´Ï´Ù. Áú¹®»çÇ×Àº ÀÌ ¼¹öÀÇ °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇϽñæ -¹Ù¶ø´Ï´Ù. Apache Software FoundationÀº ÀÌ »çÀÌÆ® °ü¸®ÀÚ°¡ -»ç¿ëÇÏ´Â À¥¼¹ö¸¦ ¸¸µç ´ÜüÀÏ »Ó, »çÀÌÆ® °ü¸®¿Í ¾Æ¹«·± °ü°è°¡ ¾ø°í -¼³Á¤¹®Á¦¿¡ °üÇÑ µµ¿òÀ» µå¸± ¼ö ¾ø½À´Ï´Ù.
- -¾ÆÆÄÄ¡ ¹®¼´Â ÀÌ ¹èÆ÷ÆÇ¿¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
- -¾ÆÆÄÄ¡¸¦ »ç¿ëÇÏ´Â À¥¼¹ö¿¡¼ ¾Æ·¡ À̹ÌÁö¸¦ »ç¿ëÇÏ´Â°Ç ¿©·¯ºÐÀÇ -ÀÚÀ¯ÀÔ´Ï´Ù. ¾ÆÆÄÄ¡¸¦ »ç¿ëÇØ Áּż °¨»çÇÕ´Ï´Ù!
- -
Apache HTTP Server Version 2.1
+
Apache HTTP Server Version 2.1
+
-
- ÀÌ ¹®¼´Â À¯´Ð½º¿Í À¯´Ð½º·ù ½Ã½ºÅÛ¿¡¼ ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇϰí - ¼³Ä¡ÇÏ´Â °Í¸¸À» ´Ù·é´Ù. À©µµ¿ìÁî¿¡¼ ÄÄÆÄÀϰú ¼³Ä¡¿¡ ´ëÇØ¼´Â ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ìÁî¿¡¼ - ¾ÆÆÄÄ¡ »ç¿ëÀ» Âü°íÇ϶ó. ´Ù¸¥ Ç÷¡Æû¿¡ ´ëÇØ¼´Â Ç÷¡Æû ¹®¼¸¦ Âü°íÇ϶ó.
+ ¼³Ä¡ÇÏ´Â °Í¸¸À» ´Ù·é´Ù. À©µµ¿ìÁî¿¡¼ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÏ´Â ¹æ¹ýÀº + ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® À©µµ¿ìÁî¿¡¼ + ¾ÆÆÄÄ¡ »ç¿ëÀ» Âü°íÇ϶ó. ´Ù¸¥ Ç÷¡Æû¿¡ ´ëÇØ¼´Â Ç÷¡Æû ¹®¼¸¦ Âü°íÇ϶ó.¾ÆÆÄÄ¡ 2.0ÀÇ ±¸¼º°ú ¼³Ä¡ ȯ°æÀº 1.3°ú ¸Å¿ì ´Ù¸£´Ù. ¾ÆÆÄÄ¡ 1.3Àº ½¬¿î ¼³Ä¡¸¦ À§ÇØ ÀÚü ½ºÅ©¸³Æ®¸¦ »ç¿ëÇß´Ù. ¾ÆÆÄÄ¡ 2.0Àº ÀÌÁ¦ ´Ù¸¥ ¿©·¯ ¿ÀǼҽº ÇÁ·ÎÁ§Æ®¿Í ºñ½ÁÇÑ È¯°æÀ» - ¸¸µé±âÀ§ÇØ libtool°ú autoconf¸¦ »ç¿ëÇÑ´Ù.
- -libtool°ú autoconf¸¦
+ »ç¿ëÇÑ´Ù.
+
+
¼º¹Ì ±ÞÇÑ »ç¶÷À» À§ÇÑ °³¿ä
¿ä±¸»çÇ×
´Ù¿î·Îµå
¾ÐÃà Ç®±â
¼Ò½º Æ®¸® ±¸¼ºÇϱâ
ÄÄÆÄÀÏ
¼³Ä¡
¼³Á¤
°Ë»çNNÀº ÇöÀç ÀÛÀº ¹öÀü ¼ýÀÚ·Î,
- PREFIX´Â ¼¹ö°¡ ¼³Ä¡µÉ ÆÄÀϽýºÅÛ °æ·Î·Î ´ëÃ¼ÇØ¾ß ÇÑ´Ù.
- PREFIX¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ±âº»°ªÀ¸·Î
- /usr/local/apache2°¡ »ç¿ëµÈ´Ù.
¾Æ·¡¿¡¼ ¾ÆÆÄÄ¡ À¥¼¹ö¸¦ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇϱâÀ§ÇÑ ¿ä±¸»çÇ׺ÎÅÍ - °¢ ÄÄÆÄÀϰú ¼³Ä¡ °úÁ¤À» ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù.
+NNÀº ÇöÀç ÀÛÀº ¹öÀü ¼ýÀÚ·Î, PREFIX´Â
+ ¼¹ö°¡ ¼³Ä¡µÉ ÆÄÀϽýºÅÛ °æ·Î·Î ´ëÃ¼ÇØ¾ß ÇÑ´Ù. PREFIX¸¦
+ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ±âº»°ªÀ¸·Î /usr/local/apache2¸¦
+ »ç¿ëÇÑ´Ù.
¾Æ·¡´Â ¾ÆÆÄÄ¡ À¥¼¹ö¸¦ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇϱâÀ§ÇÑ ¿ä±¸»çÇ׺ÎÅÍ + ÄÄÆÄÀϰú ¼³Ä¡ °úÁ¤À» °¢°¢ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù.
+¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇϱâÀ§ÇØ ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÇÊ¿äÇÏ´Ù:
-PATH ȯ°æº¯¼ö´Â make¿Í °°Àº
- ±âº»ÀûÀÎ ÄÄÆÄÀÏ µµ±¸¸¦ Æ÷ÇÔÇØ¾ß ÇÑ´Ù.PATH ȯ°æº¯¼ö´Â make¿Í
+ °°Àº ±âº»ÀûÀÎ ÄÄÆÄÀÏ µµ±¸¸¦ Æ÷ÇÔÇØ¾ß ÇÑ´Ù.
+
+ ntpdate³ª xntpd¸¦ »ç¿ëÇÑ´Ù.
+ NTP ¼ÒÇÁÆ®¿þ¾î¿Í °ø°³ ½Ã°£ ¼¹ö¿¡ ´ëÇÑ Á¤º¸´Â ´º½º±×·ì
+ comp.protocols.time.ntp¿Í
NTP ȨÆäÀÌÁö¸¦
- Âü°íÇ϶ó.¾ÆÆÄÄ¡´Â Apache Software - Foundation ´Ù¿î·Îµå »çÀÌÆ®³ª °¡±î¿î - ¹Ì·¯¿¡¼ ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ´Ù.
- -alpha·Î ³¡³ª´Â ¹öÀüÀº À̸¥ °Ë»çÀü ¹öÀüÀ¸·Î
- µ¿ÀÛÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù. beta·Î ³¡³ª´Â ¹öÀüÀº
- ´õ ¹ÏÀ»¸¸ ÇÏÁö¸¸ °Ë»ç¿Í ¹ö±× ¼öÁ¤À» ´õ ÇØ¾ßÇÒ ¹öÀüÀÌ´Ù.
- ½ÇÁ¦ »ç¿ëÇϱ⿡ °¡Àå ³ªÀº ¾ÆÆÄÄ¡ À¥¼¹ö¸¦ ¿øÇÑ´Ù¸é
- ÆÄÀÏ¸í¿¡¼ alpha³ª beta°¡ ¾ø´Â
- °¡Àå ÃÖ±Ù ¹öÀüÀ» ¼±ÅÃÇ϶ó.
configure' ½ºÅ©¸³Æ®°¡
+ ÀÌ ÀÎÅÍÇÁ¸®Å͸¦ ãÁö ¸øÇصµ ¹®Á¦¾øÀÌ ¾ÆÆÄÄ¡ 2.0À»
+ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. ´Ù¸¸ Áö¿ø ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏÁö
+ ¸øÇÒ »ÓÀÌ´Ù. ¿©·¯ Perl ÀÎÅÍÇÁ¸®ÅͰ¡ ¼³Ä¡µÇÀÖ´Ù¸é (¾Æ¸¶µµ
+ »ì¶§ Æ÷ÇÔµÈ Perl 4¿Í Á÷Á¢ ÄÄÆÄÀÏÇÑ Perl 5)
+ ./configure°¡ ¿Ã¹Ù¸¥ °ÍÀ» ã±âÀ§ÇØ
+ --with-perl ¿É¼ÇÀ» (¾Æ·¡ Âü°í) »ç¿ëÇÏ±æ ¹Ù¶õ´Ù.¾ÆÆÄÄ¡´Â ¿©·¯ ¹Ì·¯ ¸ñ·ÏÀÌ ÀÖ´Â ¾ÆÆÄÄ¡ À¥¼¹ö + ´Ù¿î·Îµå »çÀÌÆ®¿¡¼ ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ´Ù. ±×°÷¿¡¼ ÃֽŠ+ ¾ÈÁ¤ÆÇÀ» ãÀ» ¼ö ÀÖ´Ù.
´Ù¿î·ÎµåÈÄ, ƯÈ÷ ¹Ì·¯ »çÀÌÆ®¸¦ »ç¿ëÇß´Ù¸é, ¿ÏÀüÇϰí
º¯°æµÇÁö¾ÊÀº ¾ÆÆÄÄ¡ À¥¼¹öÀÓÀ» È®ÀÎÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù.
- PGP ¼¸íÀ» °¡Áö°í ´Ù¿î·ÎµåÇÑ Å¸º¼À» °Ë»çÇÏ¿© È®ÀÎÇÑ´Ù.
- ÀÌ´Â µÎ °úÁ¤À» °ÅÄ£´Ù. ¸ÕÀú Apache ¹èÆ÷
- »çÀÌÆ®¿¡¼ KEYS ÆÄÀÏÀ» ¾ò´Â´Ù.
- (KEYS ÆÄÀÏ ÀÚü°¡ ¼öÁ¤µÇÁö ¾Ê¾ÒÀ½À»
- È®ÀÎÇϱâÀ§ÇØ ÀÌÀü ¾ÆÆÄÄ¡ ¹öÀüÀÇ ÆÄÀÏÀ» »ç¿ëÇϰųª
- °ø°³ Ű ¼¹ö¿¡¼ ۸¦ °¡Á®¿À´Â °ÍÀº ÁÁÀº »ý°¢ÀÌ´Ù.)
- ۸¦ (pgp ¹öÀü¿¡ µû¶ó) ´ÙÀ½ ¸í·É¾î Áß Çϳª·Î
- °³ÀÎÀûÀΠŰ ¸µ¿¡ Æ÷ÇÔÇÑ´Ù:
- $ pgp < KEYS
-
- ȤÀº
-
-
- $ gpg --import KEYS
-
-
- ´ÙÀ½ °úÁ¤Àº Apache
- À¥»çÀÌÆ®¿¡¼ ¾òÀº PGP ¼¸íÀ» °¡Áö°í Ÿº¼À» °Ë»çÇÏ´Â ÀÏÀÌ´Ù.
- ¼¸í ÆÄÀÏ À̸§Àº ¼Ò½º Ÿº¼ ÆÄÀϸíµÚ¿¡ .asc°¡
- ºÙÀº °ÍÀÌ´Ù. (¶Ç, pgp ¹öÀü¿¡ µû¶ó) ´ÙÀ½ ¸í·É¾îÁß Çϳª·Î
- ¹èÆ÷º»À» È®ÀÎÇÒ ¼ö ÀÖ´Ù:
- $ pgp httpd-2_1_NN.tar.gz.asc
-
- ȤÀº
-
-
- $ gpg --verify httpd-2_1_NN.tar.gz.asc
-
- ´ÙÀ½°ú °°Àº ¸Þ¼¼Áö°¡ ³ª¿Í¾ß ÇÑ´Ù.
- Good signature from user "Martin Kraemer
- <martin@apache.org>".
-
+ PGP ¼¸íÀ» °¡Áö°í ´Ù¿î·ÎµåÇÑ Å¸º¼(tarball)À» °Ë»çÇÏ¿© È®ÀÎÇÑ´Ù.
+ ÀÌ °úÁ¤Àº µÎ ´Ü°è¸¦ °ÅÄ£´Ù. ¸ÕÀú ¾ÆÆÄÄ¡ À¥¼¹ö ´Ù¿î·Îµå
+ »çÀÌÆ®¿¡¼ KEYS
+ ÆÄÀÏÀ» ¾ò´Â´Ù. (KEYS ÆÄÀÏ ÀÚü°¡ ¼öÁ¤µÇÁö
+ ¾Ê¾ÒÀ½À» È®ÀÎÇϱâÀ§ÇØ ÀÌÀü ¾ÆÆÄÄ¡ ¹öÀüÀÇ ÆÄÀÏÀ» »ç¿ëÇϰųª
+ °ø°³ Ű ¼¹ö¿¡¼ ۸¦ °¡Á®¿À´Â °ÍÀÌ ÁÁ´Ù.) ۸¦ (pgp ¹öÀü¿¡
+ µû¶ó ´Ù¸§) ´ÙÀ½ ¸í·É¾î Áß Çϳª·Î °³ÀΠŰ ¸µ¿¡ Æ÷ÇÔÇÑ´Ù:
+
+$ pgp < KEYS
ȤÀº
+ +$ gpg --import KEYS
´ÙÀ½ ´Ü°è´Â ¾ÆÆÄÄ¡
+ À¥»çÀÌÆ®¿¡¼ ¾òÀº PGP ¼¸íÀ» °¡Áö°í Ÿº¼À» °Ë»çÇÏ´Â
+ ÀÏÀÌ´Ù. ¼¸í ÆÄÀÏ¿¡ ´ëÇÑ ¸µÅ©´Â ÇØ´ç ´Ù¿î·Îµå ¸µÅ© ¾Æ·¡³ª
+ ¾ÆÆÄÄ¡ ¹èÆ÷º»
+ »çÀÌÆ®ÀÇ Æ¯Á¤ µð·ºÅ丮¿¡¼ ãÀ» ¼ö ÀÖ´Ù. ¼¸íÆÄÀÏ À̸§Àº
+ ¼Ò½º Ÿº¼ ÆÄÀϸíµÚ¿¡ .asc°¡ ºÙÀº °ÍÀÌ´Ù. (¶Ç,
+ pgp ¹öÀü¿¡ µû¶ó ´Ù¸§) ´ÙÀ½ ¸í·É¾îÁß Çϳª·Î ¹èÆ÷º»À» È®ÀÎÇÒ
+ ¼ö ÀÖ´Ù:
$ pgp httpd-2_1_NN.tar.gz.asc
ȤÀº
+ +$ gpg --verify httpd-2_1_NN.tar.gz.asc
´ÙÀ½°ú °°Àº ¸Þ¼¼Áö°¡ ³ª¿Í¾ß ÇÑ´Ù.
+ +Good signature from user "Martin Kraemer
+ <martin@apache.org>".
Ű ¸µ¿¡ Æ÷ÇÔµÈ ½Å·Ú°ü°è¿¡ µû¶ó Ű¿Í Ű ¼¸íÀÚ »çÀÌÀÇ
- °ü°è¸¦ È®ÀÎÇÒ ¼ö ¾ø´Ù´Â ¸Þ¼¼Áö°¡ ³ª¿Ã ¼öµµ ÀÖ´Ù.
- ÀÌ´Â ´ç½ÅÀÌ KEYS ÆÄÀϸ¦ ½Å·ÚÇÑ´Ù¸é
- ¹®Á¦°¡ ¾Æ´Ï´Ù.
KEYS ÆÄÀϸ¦ ½Å·ÚÇÑ´Ù¸é ¹®Á¦°¡ ¾Æ´Ï´Ù.
- ¾ÆÆÄÄ¡ À¥¼¹ö Ÿº¼¿¡¼ ¼Ò½º¸¦ Ǫ´Â ÀÏÀº ´Ü¼øÈ÷ - ¾ÐÃà°ú tar¸¦ Ǫ´Â °ÍÀÌ´Ù:
+¾ÆÆÄÄ¡ À¥¼¹ö Ÿº¼¿¡¼ ¼Ò½º¸¦ Ǫ´Â ÀÛ¾÷Àº ´Ü¼øÈ÷ ¾ÐÃà°ú + tar¸¦ Ǫ´Â °ÍÀÌ´Ù:
-
- $ gzip -d httpd-2_1_NN.tar.gz
- $ tar xvf httpd-2_1_NN.tar
-
+
+ $ gzip -d httpd-2_1_NN.tar.gz
+ $ tar xvf httpd-2_1_NN.tar
+
±×·¯¸é ÇöÀç µð·ºÅ丮 ¾Æ·¡¿¡ ¹èÆ÷º»ÀÇ ¼Ò½ºÄڵ带 ´ãÀº
»õ·Î¿î µð·ºÅ丮°¡ »ý±ä´Ù. ¼¹ö¸¦ ÄÄÆÄÀÏÇϱâ Àü¿¡ ±×
µð·ºÅ丮·Î cdÇØ¾ß ÇÑ´Ù.
´ÙÀ½ °úÁ¤Àº ƯÁ¤ Ç÷¡Æû°ú °³ÀÎÀûÀÎ ¿ä±¸¿¡ µû¶ó
- ¾ÆÆÄÄ¡ ¼Ò½º Æ®¸®¸¦ ±¸¼ºÇÏ´Â ÀÏÀÌ´Ù. À̸¦ À§ÇØ ¹èÆ÷º»ÀÇ
- ·çÆ® µð·ºÅ丮¿¡ ÀÖ´Â configure ½ºÅ©¸³Æ®¸¦
- »ç¿ëÇÑ´Ù. (¾ÆÆÄÄ¡ ¼Ò½º Æ®¸®ÀÇ CVS ¹öÀüÀ» ´Ù¿î·Îµå¹ÞÀº
- °³¹ßÀÚ´Â autoconf¿Í libtool°¡
- ¼³Ä¡µÇÀÖ°í, ´ÙÀ½ °úÁ¤À¸·Î ³Ñ¾î°¡±â Àü¿¡
- buildconf¸¦ ½ÇÇàÇØ¾ß ÇÑ´Ù. ÀÌ´Â Á¤½Ä ¹öÀü¿¡¼´Â
- ÇÊ¿ä¾ø´Ù.)
¸ðµÎ ±âº» ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¼Ò½º Æ®¸®¸¦ ±¸¼ºÇÏ·Á¸é
- °£´ÜÈ÷ ./configure¸¦ Ä¡¸éµÈ´Ù. ±âº» ¿É¼ÇÀ»
- ¼öÁ¤ÇÏ·Á¸é ./configure¿¡ ¿©·¯ º¯¼ö¿Í ¸í·ÉÇà
- ¿É¼ÇÀ» »ç¿ëÇÑ´Ù. ´Ù¸¥ ¿É¼ÇÀº ./configure
- ¸í·É¾î µÚ¿¡ À§Ä¡ÇÏÁö¸¸, ȯ°æº¯¼ö´Â ÀϹÝÀûÀ¸·Î ¾Õ¿¡ ³ª¿Â´Ù.
- ¿©±â¼ °¡Àå Áß¿äÇÑ ¿É¼ÇÀº ¾ÆÆÄÄ¡°¡ Á¤»óÀûÀ¸·Î ÀÛµ¿ÇϱâÀ§ÇØ
- ±¸¼ºµÇ´Â Àå¼ÒÀÌÀÚ ¾ÆÆÄÄ¡°¡ ¼³Ä¡µÉ Àå¼ÒÀÎ prefix´Ù.
- ±×·¯³ª ÀÔ¸À¿¡ ¸Â´Â ´Ù¸¥ ´Ù¾çÇÑ ¿É¼ÇµéÀÌ ÀÖ´Ù.
´ÙÀ½ °úÁ¤Àº ƯÁ¤ Ç÷¡Æû°ú °³ÀÎÀûÀÎ Çʿ信 µû¶ó ¾ÆÆÄÄ¡
+ ¼Ò½º Æ®¸®¸¦ ±¸¼ºÇÏ´Â ÀÏÀÌ´Ù. À̸¦ À§ÇØ ¹èÆ÷º»ÀÇ ÃÖ»óÀ§ µð·ºÅ丮¿¡
+ ÀÖ´Â configure ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÑ´Ù. (¾ÆÆÄÄ¡
+ ¼Ò½º Æ®¸®ÀÇ CVS ¹öÀüÀ» ´Ù¿î·ÎµåÇÑ °³¹ßÀÚ´Â À̹Ì
+ autoconf¿Í libtool°¡ ¼³Ä¡µÇÀÖ°í,
+ ´ÙÀ½ °úÁ¤À¸·Î ³Ñ¾î°¡±â Àü¿¡ buildconf¸¦ ½ÇÇàÇØ¾ß
+ ÇÑ´Ù. ÀÌ´Â Á¤½Ä ¹öÀü¿¡¼´Â ÇÊ¿ä¾ø´Ù.)
¸ðµÎ ±âº» ¿É¼ÇÀ» »ç¿ëÇÏ¿© ¼Ò½º Æ®¸®¸¦ ±¸¼ºÇÏ·Á¸é °£´ÜÈ÷
+ ./configure¸¦ ÀÔ·ÂÇϸéµÈ´Ù. ±âº» ¿É¼ÇÀ» ¼öÁ¤ÇÏ·Á¸é
+ ./configure¿¡ ¿©·¯ º¯¼ö¿Í ¸í·ÉÇà ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.
+ ´Ù¸¥ ¿É¼ÇÀº ./configure ¸í·É¾î µÚ¿¡ À§Ä¡ÇÏÁö¸¸,
+ ȯ°æº¯¼ö´Â ÀϹÝÀûÀ¸·Î ¾Õ¿¡ ³ª¿Â´Ù. ¿©±â¼ °¡Àå Áß¿äÇÑ ¿É¼ÇÀº
+ ¾ÆÆÄÄ¡°¡ Á¤»óÀûÀ¸·Î ÀÛµ¿ÇϱâÀ§ÇØ ±¸¼ºµÇ´Â Àå¼ÒÀÌÀÚ ¾ÆÆÄÄ¡°¡
+ ¼³Ä¡µÉ Àå¼ÒÀÎ prefix´Ù. ±×·¯³ª ÀÔ¸À¿¡ ¸Â´Â ´Ù¸¥ ´Ù¾çÇÑ
+ ¿É¼ÇµéÀÌ ÀÖ´Ù.
¿©·¯ºÐÀÌ ¼±ÅÃÇÒ ¼ö ÀÖ´Â °¡´É¼ºÀ» º¸¿©ÁÖ±âÀ§ÇØ ´ÙÀ½Àº - ƯÁ¤ ÄÄÆÄÀÏ·¯¿Í Ç÷¡±×¸¦ »ç¿ëÇÏ°í ³ªÁß¿¡ DSO·Î ·ÎµåÇÒ - µÎ ¸ðµâ mod_rewrite¿Í mod_spelingÀ» Ãß°¡ÇÏ¿© - /sw/pkg/apache¿¡ ¼³Ä¡ÇÒ ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÏ´Â ÀüÇüÀûÀÎ ¿¹ÀÌ´Ù:
- -
- $ CC="pgcc" CFLAGS="-O2" \
+ ƯÁ¤ ÄÄÆÄÀÏ·¯¿Í Ç÷¡±×¸¦ »ç¿ëÇÏ°í ³ªÁß¿¡ DSO·Î ÀоîµéÀÏ
+ µÎ ¸ðµâ mod_rewrite¿Í
+ mod_spelingÀ» Ãß°¡ÇÏ¿©
+ /sw/pkg/apache¿¡ ¼³Ä¡ÇÒ ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÏ´Â
+ ÀüÇüÀûÀÎ ¿¹ÀÌ´Ù:
+
+
+ $ CC="pgcc" CFLAGS="-O2" \
./configure --prefix=/sw/pkg/apache \
--enable-rewrite=shared \
- --enable-speling=shared
-
+ --enable-speling=shared
+
- configure¸¦ ½ÇÇàÇÏ¸é ¸îºÐ°£ ½Ã½ºÅÛÀÇ ±â´ÉÀ» °Ë»çÇÏ¿©
- ³ªÁß¿¡ ¼¹ö¸¦ ÄÄÆÄÀÏÇϴµ¥ »ç¿ëÇÒ MakefileµéÀ» ¸¸µç´Ù.
+ configure¸¦ ½ÇÇàÇÏ¸é ¸îºÐ°£ ½Ã½ºÅÛÀÇ ±â´ÉÀ»
+ °Ë»çÇÏ¿© ³ªÁß¿¡ ¼¹ö¸¦ ÄÄÆÄÀÏÇÒ¶§ »ç¿ëÇÒ MakefileµéÀ»
+ ¸¸µç´Ù.
- ¾ÆÆÄÄ¡ÀÇ ¸ðµç ±¸¼º Ç÷¡±×¸¦ º¼ ¼ö ÀÖ´Â °¡Àå ½¬¿î ¹æ¹ýÀº
- ./configure --helpÀÌ´Ù. ´ÙÀ½Àº ´ëºÎºÐÀÇ ¾Æ±Ô¸ÕÆ®¿Í ȯ°æº¯¼ö¿¡
- ´ëÇÑ °£´ÜÇÑ ¼³¸íÀÌ´Ù.
+ ¾ÆÆÄÄ¡ÀÇ ¸ðµç ±¸¼º ¿É¼ÇµéÀ» º¼ ¼ö ÀÖ´Â °¡Àå ½¬¿î ¹æ¹ýÀº
+ ./configure --helpÀÌ´Ù. ´ÙÀ½Àº ´ëºÎºÐÀÇ ¾Æ±Ô¸ÕÆ®¿Í
+ ȯ°æº¯¼ö¿¡ ´ëÇÑ °£´ÜÇÑ ¼³¸íÀÌ´Ù.
- ȯ°æº¯¼ö
+ȯ°æº¯¼ö
- autoconfÀº ÄÄÆÄÀÏ È¯°æÀ» ±¸¼ºÇϱâÀ§ÇØ ¿©·¯ ȯ°æº¯¼ö¸¦
- »ç¿ëÇÑ´Ù. ÀϹÝÀûÀ¸·Î ÀÌ È¯°æº¯¼öµéÀº ¼¹öÀÇ ±â´ÉÀÌ ¾Æ´Ï¶ó
- ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÏ´Â ¹æ¹ý¿¡ ¿µÇâÀ» ¹ÌÄ£´Ù. ÀÌ º¯¼ö¸¦
- configure¸¦ ½ÇÇàÇϱâ Àü¿¡ ȯ°æ¿¡ À§Ä¡½Ãų ¼öµµ ÀÖÁö¸¸,
- À§ÀÇ ¿¹¿Í °°ÀÌ configure ¸í·ÉÇà¿¡ ½áÁÖ´Â °ÍÀÌ ´õ
- ½±´Ù.
+ autoconf´Â ÄÄÆÄÀÏ È¯°æÀ» ±¸¼ºÇϱâÀ§ÇØ ¿©·¯
+ ȯ°æº¯¼ö¸¦ »ç¿ëÇÑ´Ù. ÀϹÝÀûÀ¸·Î ÀÌ È¯°æº¯¼öµéÀº ¼¹öÀÇ ±â´ÉÀÌ
+ ¾Æ´Ï¶ó ¾ÆÆÄÄ¡¸¦ ÄÄÆÄÀÏÇÏ´Â ¹æ¹ý¿¡ ¿µÇâÀ» ¹ÌÄ£´Ù. ÀÌ º¯¼ö¸¦
+ configure¸¦ ½ÇÇàÇϱâ Àü¿¡ ȯ°æ¿¡ ³ÖÀ» ¼öµµ
+ ÀÖÁö¸¸, À§ÀÇ ¿¹¿Í °°ÀÌ configure ¸í·ÉÇà¿¡ ½áÁÖ´Â
+ °ÍÀÌ ´õ ½±´Ù.
CC=...
@@ -329,13 +282,14 @@
LIBS=...
- - ¸µÄ¿¿¡ ³Ñ°ÜÁÙ ¶óÀ̺귯¸® À§Ä¡ Á¤º¸ ("-L"°ú "-l" ¿É¼Ç).
+ - ¸µÄ¿¿¡ ³Ñ°ÜÁÙ ¶óÀ̺귯¸® À§Ä¡ Á¤º¸ ("
-L"°ú
+ "-l" ¿É¼Ç).
INCLUDES=...
- - Çì´õÆÄÀϸ¦ ãÀ» µð·ºÅ丮µé ("-Idir").
+ - Çì´õÆÄÀÏÀ» ãÀ» µð·ºÅ丮µé ("
-Idir").
- TARGET=... [±âº»°ª: apache]
+ TARGET=... [±âº»°ª: apache]
- ¸¸µé ½ÇÇàÆÄÀÏ À̸§.
@@ -347,59 +301,65 @@
NOTEST_LIBS=...
- - ÀÌ º¯¼öµéÀº NOTEST°¡ ¾ÈºÙÀº °Íµé°ú °°Àº ±â´ÉÀ» ÇÑ´Ù.
- ´Ü, ÀÌ º¯¼öµéÀº autoconf°¡ ±â´É °Ë»ç¸¦ ¸¶Ä£ÈÄ ÄÄÆÄÀÏ °úÁ¤¿¡¸¸
- ¿µÇâÀ» ¹ÌÄ£´Ù. ±×·¡¼ ±â´É °Ë»çÁß¿¡´Â ¹®Á¦¸¦ ÀÏÀ¸Å°Áö¸¸
- ¸¶Áö¸· ÄÄÆÄÀ϶§´Â »ç¿ëÇØ¾ßÇÒ Ç÷¡±×¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù.
+ - ÀÌ º¯¼öµéÀº
NOTEST°¡ ¾ÈºÙÀº °Íµé°ú °°Àº
+ ±â´ÉÀ» ÇÑ´Ù. ´Ü, ÀÌ º¯¼öµéÀº autoconf°¡ ±â´É °Ë»ç¸¦ ¸¶Ä£ÈÄ
+ ÄÄÆÄÀÏ °úÁ¤¿¡¸¸ ¿µÇâÀ» ¹ÌÄ£´Ù. ±×·¡¼ ±â´É °Ë»çÁß¿¡´Â
+ ¹®Á¦¸¦ ÀÏÀ¸Å°Áö¸¸ ¸¶Áö¸· ÄÄÆÄÀ϶§´Â »ç¿ëÇØ¾ßÇÒ ¿É¼ÇÀ»
+ Æ÷ÇÔÇÑ´Ù.
SHLIB_PATH=...
- - ÄÄÆÄÀÏ·¯¿Í ¸µÄ¿¿¡ °øÀ¯¶óÀ̺귯¸® °æ·Î¸¦ ÁöÁ¤ÇÏ´Â ¿É¼Ç.
+ - ÄÄÆÄÀÏ·¯¿Í ¸µÄ¿°¡ »ç¿ëÇÒ °øÀ¯¶óÀ̺귯¸® °æ·Î¸¦ ÁöÁ¤ÇÏ´Â
+ ¿É¼Ç.
- autoconf Ãâ·Â ¿É¼Ç
+
+autoconf Ãâ·Â ¿É¼Ç
--help
- - ¸ðµç ¿É¼Ç°ú °°ÀÌ »ç¿ë¹ýÀ» Ãâ·ÂÇÑ´Ù.
- ½ÇÁ¦ ±¸¼ºÀ» ÇÏÁö´Â ¾Ê´Â´Ù.
+ - ¸ðµç ¿É¼Ç°ú »ç¿ë¹ýÀ» Ãâ·ÂÇÑ´Ù. ½ÇÁ¦ ±¸¼ºÀ»
+ ÇÏÁö´Â ¾Ê´Â´Ù.
--quiet
- - ÀϹÝÀûÀÎ "checking..." ¹®±¸¸¦ Ãâ·ÂÇÏÁö ¾Ê´Â´Ù.
+ - ÀϹÝÀûÀÎ "
checking..." ¹®±¸¸¦ Ãâ·ÂÇÏÁö
+ ¾Ê´Â´Ù.
--verbose
- - ±¸¼º °úÁ¤Áß »ç¿ëÇÏ´Â ¸ðµç ÆÄÀϸíÀ» Æ÷ÇÔÇÑ
- ¸Å¿ì ¸¹Àº Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù.
+ - ±¸¼º °úÁ¤Áß »ç¿ëÇÏ´Â ¸ðµç ÆÄÀϸíÀ» Æ÷ÇÔÇÏ¿© ¸Å¿ì ÀÚ¼¼ÇÑ
+ Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù.
- °æ·Î¸í
- ¾ÆÆÄÄ¡°¡ ¼³Ä¡µÉ °æ·Î¸íÀ» ±¸¼ºÇÏ´Â ¹æ¹ýÀº ÇöÀç µÎ°¡Áö´Ù.
- Çϳª´Â µð·ºÅ丮¸¦ ÁöÁ¤Çϰí, ¾ÆÆÄÄ¡°¡ ±× ±âº» Àå¼Ò ¹Ø¿¡
- ¼³Ä¡µÇ´Â °æ¿ì´Ù.
+°æ·Î¸í
+
+ ¾ÆÆÄÄ¡°¡ ¼³Ä¡µÉ °æ·Î¸íÀ» ÁöÁ¤ÇÏ´Â ¹æ¹ýÀº ÇöÀç µÎ°¡Áö´Ù.
+ ù¹øÂ°´Â µð·ºÅ丮¸¦ ÁöÁ¤Çϰí, ¾ÆÆÄÄ¡°¡ ±× Àå¼Ò ¹Ø¿¡
+ ¼³Ä¡ÇÏ´Â ¹æ¹ýÀÌ´Ù.
--prefix=PREFIX [±âº»°ª:
- /usr/local/apache2]
+ /usr/local/apache2]
- ¾ÆÆÄÄ¡ ÆÄÀϵéÀÌ ¼³Ä¡µÉ µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù.
- ¾ÆÅ°ÅØÃÄ Æ¯À¯ÀÇ ÆÄÀϵéÀ» ´Ù¸¥ µð·ºÅ丮¿¡ ¼³Ä¡ÇÒ ¼öµµ ÀÖ´Ù.
+ ¾ÆÅ°ÅØÃÄ Æ¯À¯ÀÇ ÆÄÀϵéÀ» ´Ù¸¥ µð·ºÅ丮¿¡ ¼³Ä¡ÇÒ ¼öµµ
+ ÀÖ´Ù.
--exec-prefix=EPREFIX [±âº»°ª:
- PREFIX]
+ PREFIX]
- ¾ÆÅ°ÅØÃÄ Æ¯À¯ÀÇ ÆÄÀϵéÀÌ À§Ä¡ÇÒ µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù.
µÎ¹øÂ°·Î ¾ÆÆÄÄ¡ ¼³Ä¡ °æ·Î À§Ä¡¸¦ ±¸¼ºÇÏ´Â ´õ À¯¿¬ÇÑ
¹æ¹ýÀº config.layout ÆÄÀÏÀ» »ç¿ëÇÏ´Â °ÍÀÌ´Ù.
- ÀÌ ¹æ¹ýÀ» »ç¿ëÇÏ¿© ÆÄÀϵéÀÇ Á¾·ù¸¶´Ù À§Ä¡¸¦ µû·Î ÁöÁ¤ÇÒ ¼ö
+ ÀÌ ¹æ¹ýÀ» »ç¿ëÇÏ¸é ÆÄÀÏÀÇ Á¾·ù¸¶´Ù À§Ä¡¸¦ µû·Î ÁöÁ¤ÇÒ ¼ö
ÀÖ´Ù. config.layout ÆÄÀÏÀº ¿©·¯ ±¸¼º ¿¹¸¦
´ã°íÀÖ°í, À̸¦ Âü°íÇÏ¿© ÀڽŸ¸ÀÇ ±¸¼ºÀ» ¸¸µé ¼öµµ ÀÖ´Ù.
ÀÌ ÆÄÀÏ ³»¿ëÀº <Layout FOO>...</Layout>·Î
@@ -412,90 +372,84 @@
¼³Ä¡ °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù.
-
ÇöÀç --enable-layout°ú --prefix
- ¿É¼ÇÀ» °°ÀÌ »ç¿ëÇÏÁö ¸øÇÑ´Ù. ¶Ç configure ¸í·ÉÇà¿¡
- °³º°ÀûÀ¸·Î ÀÚ¼¼ÇÑ °æ·Î¸íÀ» ÁöÁ¤ÇÒ ¼ö ¾ø´Ù. ±âº»ÀûÀÎ ¼³Ä¡¸¦
- ¿øÇÑ´Ù¸é °£´ÜÈ÷ --prefix ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.
- ¼³Ä¡ Àå¼Ò¸¦ ±¸Ã¼ÀûÀ¸·Î ¼³Á¤ÇÏ°í ½Í´Ù¸é config.layout
- ÆÄÀÏÀ» ÆíÁýÇÏ¿© --enable-layout ¿É¼ÇÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.
-
- ¸ðµâ
-
- ¾ÆÆÄÄ¡´Â ¸ðµâ·Î ±¸¼ºµÈ ¼¹ö´Ù. ¼¹ö Çٽɿ¡´Â °¡Àå ±âº»ÀûÀÎ ±â´É¸¸ÀÌ
- Æ÷ÇÔµÇÀÖ´Ù. ¿©·¯ ¸ðµâ¿¡¼ È®Àå ±â´ÉÀ» Á¦°øÇÑ´Ù. ±¸¼º °úÁ¤¿¡¼
- ¼¹ö¿¡ »ç¿ëÇϱâÀ§ÇØ ÄÄÆÄÀÏÇÒ ¸ðµâÀ» ¼±ÅÃÇØ¾ß ÇÑ´Ù. ¹®¼¿¡ Æ÷ÇÔµÈ
- ¸ðµâ ¸ñ·ÏÀ» º¼ ¼ö ÀÖ´Ù.
- »óŰ¡ "Base"ÀÎ
- ¸ðµâÀº ±âº»ÀûÀ¸·Î Æ÷ÇԵǹǷÎ, ¿øÇÏÁö ¾Ê´Â´Ù¸é ¸í½ÃÀûÀ¸·Î »©Áà¾ß
- ÇÑ´Ù. ´Ù¸¥ »óÅÂÀÎ ¸ðµâÀº »ç¿ëÇÏ±æ ¿øÇÑ´Ù¸é ¸í½ÃÀûÀ¸·Î ³Ö¾îÁà¾ß
- ÇÑ´Ù.
+
+
+¸ðµâ
+
+ ¾ÆÆÄÄ¡´Â ¸ðµâ·Î ±¸¼ºµÈ ¼¹ö´Ù. ¼¹ö Çٽɿ¡´Â °¡Àå ±âº»ÀûÀÎ
+ ±â´É¸¸ÀÌ Æ÷ÇÔµÇÀÖ´Ù. ¿©·¯ ¸ðµâÀº È®Àå ±â´ÉÀ» Á¦°øÇÑ´Ù.
+ ±¸¼º °úÁ¤Áß¿¡ ¼¹ö¿¡¼ »ç¿ëÇϱâÀ§ÇØ ÄÄÆÄÀÏÇÒ ¸ðµâÀ» ¼±ÅÃÇØ¾ß
+ ÇÑ´Ù. ¹®¼¿¡ Æ÷ÇÔµÈ ¸ðµâ ¸ñ·ÏÀ»
+ Âü°íÇ϶ó. »óŰ¡
+ "Base"ÀÎ ¸ðµâÀº (¿¹, mod_userdir) ¼¹ö¿¡ ±âº»ÀûÀ¸·Î
+ Æ÷ÇԵǹǷÎ, ¿øÇÏÁö ¾Ê´Â´Ù¸é ¸í½ÃÀûÀ¸·Î »©Áà¾ß ÇÑ´Ù. ´Ù¸¥
+ »óÅÂÀÇ ¸ðµâÀº (¿¹, mod_expires) »ç¿ëÇϱæ
+ ¿øÇÑ´Ù¸é ¸í½ÃÀûÀ¸·Î ³Ö¾îÁà¾ß ÇÑ´Ù.
¸ðµâÀ» ÄÄÆÄÀÏÇÏ°í »ç¿ëÇÏ´Â ¹æ¹ýÀº µÎ °¡Áö´Ù. Á¤ÀûÀ¸·Î
ÄÄÆÄÀÏµÈ ¸ðµâÀº ¾ÆÆÄÄ¡ ½ÇÇàÆÄÀÏ¿¡ ¿µ±¸È÷ Æ÷ÇԵȴÙ.
À̿ܿ¡ ¿î¿µÃ¼Á¦°¡ µ¿Àû°øÀ¯°´Ã¼(Dynamic Shared Objects, DSO)¸¦
- Áö¿øÇϰí autoconf°¡ ÀÌ »ç½ÇÀ» ¾Ë¾Æ³½´Ù¸é ¸ðµâÀ» µ¿ÀûÀ¸·Î ÄÄÆÄÀÏÇÒ
- ¼öµµ ÀÖ´Ù. DSO ¸ðµâÀº ¾ÆÆÄÄ¡ ½ÇÇàÆÄÀÏ¿¡ Æ÷ÇÔµÇÁö ¾ÊÁö¸¸,
- mod_soÀÌ Á¦°øÇÏ´Â ½ÇÇàÁß ±¸¼º
- Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¼¹ö¿¡ Æ÷ÇÔÇϰųª »¬ ¼ö ÀÖ´Ù.
- mod_so´Â ÄÄÆÄÀÏ¿¡ µ¿Àû ¸ðµâÀÌ Æ÷ÇԵǸé ÀÚµ¿À¸·Î ¼¹ö¿¡ Æ÷ÇԵȴÙ.
- µ¿Àû ¸ðµâÀ» ÄÄÆÄÀÏÇÏÁö ¾Ê°í ¼¹ö°¡ DSO¸¦ ÀоîµéÀÏ ¼ö ÀÖ°Ô
+ Áö¿øÇϰí autoconf°¡ ÀÌ »ç½ÇÀ» ¾Ë¾Æ³½´Ù¸é ¸ðµâÀ»
+ µ¿ÀûÀ¸·Î ÄÄÆÄÀÏÇÒ ¼öµµ ÀÖ´Ù. DSO ¸ðµâÀº ¾ÆÆÄÄ¡
+ ½ÇÇàÆÄÀÏ¿¡ Á÷Á¢ Æ÷ÇÔµÇÁö´Â ¾ÊÁö¸¸, mod_so°¡ Á¦°øÇÏ´Â
+ ¼³Á¤ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ½ÇÇàÁß¿¡ ¼¹ö¿¡ Æ÷ÇÔÇϰųª »¬ ¼ö ÀÖ´Ù.
+ ÄÄÆÄÀ϶§ µ¿Àû ¸ðµâÀ» Æ÷ÇÔÇϸé mod_so´Â ÀÚµ¿À¸·Î ¼¹ö¿¡ Æ÷ÇԵȴÙ.
+ µ¿Àû ¸ðµâÀ» °°ÀÌ ÄÄÆÄÀÏÇÏÁö ¾Ê°í ¼¹ö°¡ DSO¸¦ ÀоîµéÀÏ ¼ö ÀÖ°Ô
ÇÏ·Á¸é --enable-so ¿É¼ÇÀ» Á÷Á¢ »ç¿ëÇØ¾ß ÇÑ´Ù.
--enable-MODULE[=shared]
- - ¸ðµâ MODULEÀ» ÄÄÆÄÀÏÇÏ¿© Æ÷ÇÔÇÑ´Ù. MODULEÀº
- ¸ðµâ ¹®¼Áß¿¡ ¸ðµâÀνÄÀÚ¿¡¼ "_module"À» »« À̸§ÀÌ´Ù.
- ¸ðµâÀ» DSO·Î ÄÄÆÄÀÏÇÏ·Á¸é
=shared ¿É¼ÇÀ» ºÙÀδÙ.
+ - ¸ðµâ MODULEÀ» ÄÄÆÄÀÏÇÏ¿© Æ÷ÇÔÇÑ´Ù.
+ MODULEÀº ¸ðµâ ¹®¼¿¡¼ ³ª¿Â ¸ðµâ¸í¿¡¼
+ "_module"À» »« À̸§ÀÌ´Ù. ¸ðµâÀ» DSO·Î ÄÄÆÄÀÏÇÏ·Á¸é
+
=shared ¿É¼ÇÀ» ºÙÀδÙ.
--disable-MODULE
- - ÀÌ ¿É¼ÇÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¸é ÄÄÆÄÀÏµÇ¾î Æ÷Ç﵃ ¸ðµâ MODULEÀ»
- Á¦°ÅÇÑ´Ù.
+ - ÀÌ ¿É¼ÇÀ» »ç¿ëÇÏÁö ¾ÊÀ¸¸é ÄÄÆÄÀÏÇÏ¿© Æ÷ÇԵǾúÀ» ¸ðµâ
+ MODULEÀ» Á¦°ÅÇÑ´Ù.
--enable-modules=MODULE-LIST
- - °ø¹éÀ¸·Î ±¸ºÐµÈ MODULE-LIST¿¡ ³ª¿Â ¸ðµâµéÀ»
+
- °ø¹éÀ¸·Î ±¸ºÐÇÑ MODULE-LIST¿¡ ³ª¿Â ¸ðµâµéÀ»
ÄÄÆÄÀÏÇÏ¿© Æ÷ÇÔÇÑ´Ù.
-
--enable-mods-shared=MODULE-LIST
- - °ø¹éÀ¸·Î ±¸ºÐµÈ MODULE-LIST¿¡ ³ª¿Â ¸ðµâµéÀ»
- µ¿ÀûÀ¸·Î ·Îµå°¡´ÉÇÑ (DSO) ¸ðµâ·Î ÄÄÆÄÀÏÇÏ¿© Æ÷ÇÔÇÑ´Ù.
+ - °ø¹éÀ¸·Î ±¸ºÐÇÑ MODULE-LIST¿¡ ³ª¿Â ¸ðµâµéÀ»
+ µ¿ÀûÀ¸·Î ÀоîµéÀÏ ¼ö ÀÖ´Â (DSO) ¸ðµâ·Î ÄÄÆÄÀÏÇÏ¿© Æ÷ÇÔÇÑ´Ù.
- --enable-modules¿Í --enable-mods-shared
- ¿É¼Ç¿¡¼ MODULE-LISTÀº ¸ðµâ¸íµéÀ» °ø¹éÀ¸·Î ±¸ºÐÇÑ ¸ñ·ÏÀÌ´Ù.
- ¿¹¸¦ µé¾î mod_dav¿Í mod_info¸¦ Æ÷ÇÔÇÏ·Á¸é ¾Æ·¡ µÎ °¡Áö ¸ðµÎ °¡´ÉÇÏ´Ù.
+ --enable-modules¿Í
+ --enable-mods-shared ¿É¼Ç¿¡¼ MODULE-LIST´Â
+ ¸ðµâ¸íµéÀ» °ø¹éÀ¸·Î ±¸ºÐÇÑ ¸ñ·ÏÀÌ´Ù. ¿¹¸¦ µé¾î
+ mod_dav¿Í mod_info¸¦
+ Æ÷ÇÔÇÏ·Á¸é ¾Æ·¡ µÎ °¡Áö ¸ðµÎ °¡´ÉÇÏ´Ù.
-
- ./configure --enable-dav --enable-info
-
+./configure --enable-dav --enable-info
³ª
-
- ./configure --enable-modules="dav info"
-
+./configure --enable-modules="dav info"
- Ãß°¡·Î Ưº°ÇÑ Å°¿öµå allÀ̳ª most·Î
- Çѹø¿¡ ¸ðµç ȤÀº ´ëºÎºÐÀÇ ¸ðµâÀ» Æ÷ÇÔ½Ãų ¼ö ÀÖ´Ù.
+
¶Ç, Ưº°ÇÑ Å°¿öµå allÀ̳ª most¸¦
+ »ç¿ëÇÏ¿© Çѹø¿¡ ¸ðµç ȤÀº ´ëºÎºÐÀÇ ¸ðµâÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù.
±×·±ÈÄ ¿øÇÏÁö ¾Ê´Â ¸ðµâÀº --disable-MODULE
- ¿É¼ÇÀ¸·Î Á¦°ÅÇÑ´Ù. ¿¹¸¦ µé¾î mod_info¸¦ Á¦¿ÜÇÑ ¸ðµç ¸ðµâÀ»
- DSO·Î Æ÷ÇÔÇÑ´Ù¸é,
+ ¿É¼ÇÀ¸·Î Á¦°ÅÇÑ´Ù. ¿¹¸¦ µé¾î mod_info¸¦
+ Á¦¿ÜÇÑ ¸ðµç ¸ðµâÀ» DSO·Î Æ÷ÇÔÇÏ·Á¸é,
-
- ./configure --enable-mods-shared=all
- --disable-info
-
+
+ ./configure --enable-mods-shared=all
+ --disable-info
+
- Ç¥ÁØ ¸ðµâµé¿Ü¿¡ ¾ÆÆÄÄ¡ 2.0Àº Multi-Processing
- Modules (MPM)À» ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ¿ÀÁ÷ ÇÑ MPM¸¸À» ÄÄÆÄÀÏ °úÁ¤¿¡
- Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. °¢ Ç÷¡ÆûÀÇ ±âº» MPMÀº
- MPM ¹®¼ ÆäÀÌÁö¿¡ ¾²¿©ÀÖÀ¸³ª,
- configure ¸í·ÉÇà¿¡¼ ±³Ã¼ÇÒ ¼ö ÀÖ´Ù.
+ Ç¥ÁØ ¸ðµâµé¿Ü¿¡ ¾ÆÆÄÄ¡ 2.0Àº ´ÙÁßó¸®
+ ¸ðµâ (MPM)À» ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ¿ÀÁ÷ ÇÑ MPM¸¸À» ÄÄÆÄÀÏ
+ °úÁ¤¿¡ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. °¢ Ç÷¡ÆûÀÇ ±âº» MPMÀº
+ MPM ¹®¼ ÆäÀÌÁö¿¡ ³ª¿ÍÀÖÀ¸³ª,
+ configure ¸í·ÉÇà¿¡¼ º¯°æÇÒ ¼ö ÀÖ´Ù.
--with-mpm=NAME
@@ -503,79 +457,102 @@
- mpm NAMEÀ» ¼±ÅÃÇÑ´Ù.
- Suexec
-
- ¾ÆÆÄÄ¡´Â »ç¿ëÀÚ CGI ÇÁ·Î±×·¥À» °Ý¸®½Ã۴µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â suexec¶ó´Â Áö¿ø ÇÁ·Î±×·¥À» Æ÷ÇÔÇÑ´Ù.
- ±×·¯³ª suexec¸¦ À߸ø ¼³Á¤ÇÏ¸é ½É°¢ÇÑ º¸¾È ¹®Á¦¸¦ ¸¸µé ¼ö ÀÖ´Ù.
- ±×·¯¹Ç·Î ÀÌ ±â´ÉÀ» »ç¿ëÇϱâ Àü¿¡ suexec
- ¹®¼¸¦ ÁÖÀÇÀÖ°Ô ÀÐ°í »ý°¢ÇØ¾ß ÇÑ´Ù.
+ mpm_nameÀ̶ó´Â MPMÀ» »ç¿ëÇÑ´Ù¸é, ´ÙÀ½°ú °°´Ù.
- ÄÄÆÄÀÏ
+
+ ./configure --with-mpm=mpm_name
+
- ´ÙÀ½ ¸í·É¾î Çϳª·Î ¾ÆÆÄÄ¡ÀÇ ¿©·¯ ºÎºÐÀ» ÄÄÆÄÀÏÇÑ´Ù:
-
- $ make
-
- ¿©±â¼ Á» ±â´Ù·Á¶ó. ÆæÆ¼¾ö III/¸®´ª½º 2.2 ½Ã½ºÅÛ¿¡¼
- ±âº» ±¸¼ºÀ» ÄÄÆÄÀÏÇϴµ¥ ¾à 3ºÐ Á¤µµ °É¸°´Ù. ÀÌ ½Ã°£Àº
- Çϵå¿þ¾î¿Í Æ÷ÇÔÇÑ ¸ðµâ¼ö¿¡ µû¶ó Å©°Ô º¯ÇÑ´Ù.
-
- ¼³Ä¡
+DBM
- ÀÌÁ¦ ´ÙÀ½ ¸í·É¾î·Î ÆÐŰÁö¸¦ (À§ÀÇ --prefix ¿É¼Ç Âü°í)
- ±¸¼ºÇÑ ¼³Ä¡ À§Ä¡ PREFIX¿¡ ¼³Ä¡ÇÑ´Ù:
+
+ mod_authn_dbm°ú mod_rewriteÀÇ
+ DBM RewriteMap°°Àº
+ ¿©·¯ ¾ÆÆÄÄ¡ ±â´ÉÀº Á¤º¸¸¦ »¡¸® ã¾Æº¸±âÀ§ÇØ Å°¿Í °ªÀ¸·ÎµÈ
+ °£´ÜÇÑ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÑ´Ù. ¾ÆÆÄÄ¡´Â ¼Ò½ºÄڵ忡 SDBMÀ»
+ Æ÷ÇÔÇÏ¿©, ÀÌ µ¥ÀÌÅͺ£À̽º´Â Ç×»ó »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ´Ù¸¥
+ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ·Á¸é ´ÙÀ½ configure ¿É¼ÇÀ»
+ »ç¿ëÇÑ´Ù:
-
- $ make install
-
+
+--with-gdbm[=path]
+--with-ndbm[=path]
+--with-berkeley-db[=path]
- ¾÷±×·¹À̵åÇÑ´Ù¸é ¼³Ä¡´Â ¼³Á¤ÆÄÀÏÀ̳ª ¹®¼¸¦ µ¤¾î¾²Áö ¾Ê´Â´Ù.
+- path¸¦ ÁöÁ¤ÇÏÁö¾ÊÀ¸¸é ¾ÆÆÄÄ¡´Â ÀÏ»óÀûÀÎ °Ë»ö °æ·Î¿¡¼
+Çì´õÆÄÀϰú ¶óÀ̺귯¸®¸¦ ã´Â´Ù. Á÷Á¢ path¸¦ ¾Ë·ÁÁÖ¸é
+¾ÆÆÄÄ¡°¡ path
/lib¿Í
+path/include¿¡¼ ÇÊ¿äÇÑ ÆÄÀÏÀ» ã°Ô µÈ´Ù.
+¸¶Áö¸·À¸·Î path¿¡ Çì´õÆÄÀÏ °æ·Î¿Í ¶óÀ̺귯¸® °æ·Î¸¦
+ÄÝ·ÐÀ¸·Î ±¸ºÐÇÏ¿© ÀûÀ» ¼öµµ ÀÖ´Ù.
+
- ¼³Á¤
- ´ÙÀ½À¸·Î PREFIX/conf/¿¡ ÀÖ´Â
- ¼³Á¤ ÆÄÀÏÀ» ÆíÁýÇÏ¿©
- ¾ÆÆÄÄ¡ À¥¼¹ö¸¦ ¼³Á¤ÇÑ´Ù.
-
- $ vi PREFIX/conf/httpd.conf
-
+Suexec
- »ç¿ë°¡´ÉÇÑ ¼³Á¤ Áö½Ã¾î¿¡ ´ëÇÑ ¿ÏÀüÇÑ ¼³¸íÀº
- docs/manual/À̳ª http://httpd.apache.org/docs/¿¡
- ÀÖ´Â ¾ÆÆÄÄ¡ ¸Å´º¾óÀ» Âü°íÇ϶ó.
+ ¾ÆÆÄÄ¡´Â »ç¿ëÀÚ CGI ÇÁ·Î±×·¥À» °Ý¸®ÇÏ¿© ½ÇÇàÇÒ ¼ö
+ ÀÖ´Â suexec¶ó´Â Áö¿ø ÇÁ·Î±×·¥À»
+ Æ÷ÇÔÇÑ´Ù. ±×·¯³ª suexec¸¦ À߸ø ¼³Á¤ÇÏ¸é ½É°¢ÇÑ º¸¾È ¹®Á¦°¡
+ »ý±æ ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î ÀÌ ±â´ÉÀ» »ç¿ëÇϱâ Àü¿¡ suexec ¹®¼¸¦ ÁÖÀÇÀÖ°Ô ÀÐ°í °í¹ÎÇØ¾ß
+ ÇÑ´Ù.
- °Ë»ç
+ÀÌÁ¦ ´ÙÀ½°ú °°ÀÌ ¾ÆÆÄÄ¡ À¥¼¹ö¸¦ ½ÃÀÛÇÒ +
ÀÌÁ¦ ´ÙÀ½ ¸í·É¾î Çϳª·Î ¾ÆÆÄÄ¡ÀÇ ¿©·¯ ºÎºÐÀ» ÄÄÆÄÀÏÇÒ ¼ö ÀÖ´Ù:
-
- $ PREFIX/bin/apachectl start
-
-
- ±×¸®°í URL http://localhost/·Î ù¹øÂ° ¹®¼¸¦ ¿äûÇÑ´Ù.
- º¸°ÔµÇ´Â À¥ÆäÀÌÁö´Â ¾Æ¸¶µµ
- PREFIX/htdocs/ÀÏ
- DocumentRoot
- ¾Æ·¡¿¡ ÀÖ´Ù. ±×¸®°í ´ÙÀ½ ¸í·É¾î·Î ´Ù½Ã ¼¹ö¸¦
- Áß´ÜÇÑ´Ù:
- $ PREFIX/bin/apachectl stop
-
-
-
-
-
-
-
+$ make
¿©±â¼ Á» ±â´Ù·Á¶ó. ÆæÆ¼¾ö III/¸®´ª½º 2.2 ½Ã½ºÅÛ¿¡¼ + ±âº» ±¸¼ºÀ» ÄÄÆÄÀÏÇϴµ¥ ¾à 3ºÐ Á¤µµ °É¸°´Ù. ÀÌ ½Ã°£Àº + Çϵå¿þ¾î¿Í Æ÷ÇÔÇÑ ¸ðµâ¼ö¿¡ µû¶ó Å©°Ô º¯ÇÑ´Ù.
+ÀÌÁ¦ ´ÙÀ½ ¸í·É¾î·Î ÆÐŰÁö¸¦ (À§ÀÇ --prefix
+ ¿É¼Ç Âü°í) ÁöÁ¤ÇÑ ¼³Ä¡ À§Ä¡ PREFIX¿¡ ¼³Ä¡ÇÑ´Ù:
$ make install
¾÷±×·¹À̵åÇÑ´Ù¸é ÀÌ ¼³Ä¡ °úÁ¤ÀÌ ±âÁ¸ ¼³Á¤ÆÄÀÏÀ̳ª ¹®¼¸¦ + µ¤¾î¾²Áö ¾Ê´Â´Ù.
+´ÙÀ½À¸·Î PREFIX/conf/¿¡ ÀÖ´Â
+ ¼³Á¤ÆÄÀÏÀ» ÆíÁýÇÏ¿© ¾ÆÆÄÄ¡
+ À¥¼¹ö¸¦ ¼³Á¤ÇÑ´Ù.
$ vi PREFIX/conf/httpd.conf
»ç¿ë°¡´ÉÇÑ ¼³Á¤ Áö½Ã¾î¿¡ + ´ëÇÑ ¿ÏÀüÇÑ ¼³¸í°ú ÀÌ ¹®¼ÀÇ °¡Àå ÃÖ±Ù ÆÇÀº docs/manual/À̳ª http://httpd.apache.org/docs-2.1/¿¡ ÀÖ´Â ¾ÆÆÄÄ¡ ¼³¸í¼¸¦ + Âü°íÇ϶ó.
+ÀÌÁ¦ ´ÙÀ½°ú °°ÀÌ ¾ÆÆÄÄ¡ À¥¼¹ö¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ´Ù:
+ +$ PREFIX/bin/apachectl start
±×¸®°í URL http://localhost/·Î ù ¹®¼¸¦
+ ¿äûÇÑ´Ù. º¸°ÔµÉ À¥ÆäÀÌÁö´Â ¾Æ¸¶µµ
+ PREFIX/htdocs/ÀÏ DocumentRoot ¾Æ·¡¿¡ ÀÖ´Ù. ±×¸®°í
+ ´ÙÀ½ ¸í·É¾î·Î ´Ù½Ã ¼¹ö¸¦ Áß´ÜÇÑ´Ù:
$ PREFIX/bin/apachectl stop
Apache HTTP Server Version 2.1
+
º¸Åë ¾ÆÆÄÄ¡´Â Windows NT, 2000, XP¿¡¼´Â ¼ºñ½º·Î, + Windows 95°ú ME¿¡¼´Â ÄÜ¼Ö ÇÁ·Î±×·¥À¸·Î ½ÇÇàµÈ´Ù. ÀÚ¼¼ÇÑ + ³»¿ëÀº ¼ºñ½º·Î + ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇϱâ¿Í ÄÜ¼Ö ÇÁ·Î±×·¥À¸·Î + ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇϱâ.
+ +À¯´Ð½º¿¡¼ httpd
+ ÇÁ·Î±×·¥Àº ¹é±×¶ó¿îµå¿¡¼ °è¼Ó ¿äûÀ» ó¸®ÇÏ´Â µ¥¸óÀ¸·Î
+ ½ÇÇàµÈ´Ù. ÀÌ ¹®¼´Â httpd¸¦ ½ÃÀÛÇÏ´Â ¹æ¹ýÀ»
+ ¼³¸íÇÑ´Ù.
¼³Á¤ÆÄÀÏ¿¡¼ ListenÀÌ ±âº»°ªÀÎ 80(ȤÀº
+ 1024ÀÌÇÏÀÇ ´Ù¸¥ Æ÷Æ®)À̶ó¸é ÀÌ Æ¯±Ç Æ÷Æ®¿¡ ¿¬°áÇϱâÀ§ÇØ
+ root ±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù. ¼¹ö´Â ½ÃÀÛÇÏ¿© ·Î±×ÆÄÀÏÀ» ¿©´Â µîÀÇ
+ ¸î¸î ±âÃÊÀûÀÎ ÀÛ¾÷À» ¸¶Ä£ÈÄ, Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ±â´Ù¸®°í
+ ÀÀ´äÇÏ´Â ÀÚ½Ä(child) ÇÁ·Î¼¼½º¸¦ ¿©·¯°³ ¶ç¿î´Ù.
+ ÁÖ httpd ÇÁ·Î¼¼½º´Â °è¼Ó root »ç¿ëÀÚ·Î ½ÇÇàµÇÁö¸¸,
+ ÀÚ½Ä ÇÁ·Î¼¼½ºµéÀº ´õ ±ÇÇÑÀÌ ÀÛÀº »ç¿ëÀÚ·Î ½ÇÇàµÈ´Ù. ÀÌ´Â
+ ¼±ÅÃÇÑ ´ÙÁßó¸® ¸ðµâ·Î Á¶Á¤ÇÑ´Ù.
apachectl
+ ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¿© httpd ½ÇÇàÆÄÀÏÀ» ½ÃÀÛÇϱæ
+ ±ÇÀåÇÑ´Ù. ÀÌ ½ºÅ©¸³Æ®´Â httpd°¡ ¸î¸î
+ ¿î¿µÃ¼Á¦¿¡¼ Á¤»óÀûÀ¸·Î µ¿ÀÛÇϱâÀ§ÇØ ÇÊ¿äÇÑ È¯°æº¯¼öµéÀ»
+ ¼³Á¤Çϰí httpd ½ÇÇàÆÄÀÏÀ» ½ÃÀÛÇÑ´Ù.
+ apachectlÀº ¸í·ÉÇà ¾Æ±Ô¸ÕÆ®¸¦ ±×´ë·Î ³Ñ±â±â¶§¹®¿¡,
+ httpdÀÇ ¾î¶² ¿É¼ÇÀÌ¶óµµ apachectl¿¡
+ »ç¿ë°¡´ÉÇÏ´Ù. ¶Ç, apachectl ½ºÅ©¸³Æ®ÀÇ ¾ÕºÎºÐ¿¡
+ ³ª¿À´Â HTTPD º¯¼ö¸¦ httpd ½ÇÇàÆÄÀÏÀÌ
+ ÀÖ´Â À§Ä¡¿Í Ç×»ó »ç¿ëÇÒ ¸í·ÉÇà ¾Æ±Ô¸ÕÆ®·Î Á÷Á¢
+ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.
httpd¸¦ ½ÇÇàÇÏ¸é ¸ÕÀú ¼³Á¤ÆÄÀÏ httpd.conf¸¦
+ ã¾Æ¼ Àд´Ù. ÀÌ ÆÄÀÏÀÇ À§Ä¡´Â ÄÄÆÄÀÏ Áß¿¡ ÁöÁ¤Çϳª, ½ÇÇà½Ã
+ ´ÙÀ½°ú °°ÀÌ -f ¸í·ÉÇà ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù.
/usr/local/apache2/bin/apachectl -f
+ /usr/local/apache/conf/httpd.conf
½ÃÀÛÇÏ´Â °úÁ¤¿¡¼ ¹®Á¦°¡ ¾ø´Ù¸é, ¼¹ö´Â Å͹̳ο¡¼
+ ¶³¾îÁö°í ¸í·É ÇÁ·ÒÇÁÆ®°¡ °ÅÀÇ Áï½Ã ³ª¿À°ÔµÈ´Ù. ÀÌ´Â ¼¹ö°¡
+ ½ÇÇàµÊÀ» ÀǹÌÇÑ´Ù. ºê¶ó¿ìÀú·Î ¼¹ö¿¡ ¿¬°áÇÏ¿© DocumentRoot µð·ºÅ丮¿¡ ÀÖ´Â
+ Å×½ºÆ® ÆäÀÌÁö¿Í ±× ÆäÀÌÁö¿¡ ¸µÅ©µÈ (·ÎÄÃÄ«ÇÇ) ¼³¸í¼¸¦ º¼
+ ¼ö ÀÖ´Ù.
¾ÆÆÄÄ¡°¡ ½ÃÀÛÇÏ´Â °úÁ¤Áß¿¡ ½É°¢ÇÑ ¹®Á¦°¡ ¹ß»ýÇϸé,
+ Á¾·áÇϱâ Àü¿¡ ¹®Á¦¸¦ ¾Ë¸®´Â ¹®±¸¸¦ ÄܼÖÀ̳ª ErrorLog¿¡ ¾´´Ù. °¡Àå ÈçÇÑ ¿À·ù¹® Áß
+ Çϳª´Â "Unable to bind to Port ..."ÀÌ´Ù.
+ ÀÌ ¸Þ¼¼Áö´Â º¸Åë ´ÙÀ½ µÎ °æ¿ì¿¡ ¹ß»ýÇÑ´Ù:
±âŸ ¹®Á¦ÇØ°á ¹æ¹ýÀº ¾ÆÆÄÄ¡ FAQ¸¦ + Âü°íÇ϶ó.
+½Ã½ºÅÛÀÌ Àç½ÃÀÛÇÑ ÈÄ¿¡µµ ¼¹ö°¡ °è¼Ó ½ÇÇàµÇ±æ ¹Ù¶õ´Ù¸é,
+ ½Ã½ºÅÛ ½ÃÀÛÆÄÀÏ(º¸Åë rc.localÀ̳ª rc.N
+ µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀÏ)¿¡ apachectlÀ» Ãß°¡Çؾß
+ ÇÑ´Ù. ÀÌ °æ¿ì ¾ÆÆÄÄ¡´Â root·Î ½ÃÀ۵ȴÙ. ÀÌÀü¿¡ ¼¹öÀÇ º¸¾ÈÀ̳ª
+ Á¢±Ù Á¦ÇÑ(ÆÄÀϱÇÇÑ)ÀÌ ¿Ã¹Ù·Î ¼³Á¤µÇ¾ú´ÂÁö È®ÀÎÇ϶ó.
apachectlÀº Ç¥ÁØ SysV init ½ºÅ©¸³Æ®¿Í ºñ½ÁÇϰÔ
+ µ¿ÀÛÇϵµ·Ï ¸¸µé¾îÁ³´Ù. ½ºÅ©¸³Æ®´Â ¾Æ±Ô¸ÕÆ®·Î start,
+ restart, stopÀ» ¹ÞÀ¸¸é °¢°¢ ÀûÀýÇÑ
+ ½Ã±×³ÎÀ» httpd¿¡ º¸³½´Ù. ±×·¡¼ º¸ÅëÀº
+ apachectlÀ» ÀûÀýÇÑ init µð·ºÅ丮·Î ¸µÅ©¸¦ °É¸éµÈ´Ù.
+ ±×·¯³ª »ç¿ëÇÏ´Â ½Ã½ºÅÛÀÇ Á¤È®ÇÑ ¿ä±¸»çÇ×À» È®ÀÎÇ϶ó.
Apache HTTP Server Version 2.1
+
È¿À²ÀûÀ¸·Î À¥¼¹ö¸¦ °ü¸®ÇÏ·Á¸é ¹ß»ýÇÏ´Â ¹®Á¦¿Í ÇÔ²² ¼¹öÀÇ + Ȱµ¿°ú ¼º´É¿¡ ´ëÇØ ¾Ë¾Æ¾ß ÇÑ´Ù. ¾ÆÆÄÄ¡ À¥¼¹ö´Â ¸Å¿ì Á¾ÇÕÀûÀ̰í + À¯¿¬ÇÑ ·Î±× ±â´ÉÀ» Á¦°øÇÑ´Ù. ÀÌ ¹®¼´Â ·Î±× ±â´ÉÀ» ¼³Á¤ÇÏ´Â + ¹æ¹ý°ú ·Î±×¿¡ µé¾î°¥ ³»¿ëÀ» ¼³¸íÇÑ´Ù.
+´©±º°¡¿¡°Ô ¾ÆÆÄÄ¡ÀÇ ·Î±×ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮¿¡ ¾²±â±ÇÇÑÀÌ + ÀÖ´Ù¸é (º¸Åë root) ¼¹ö¸¦ ½ÇÇàÇÏ´Â uid¸¦ °ÅÀÇ È®½ÇÈ÷ ¾òÀ» + ¼ö ÀÖ´Ù. À̸¦ °í·ÁÇÏÁö¾Ê°í ·Î±×°¡ ÀúÀåµÈ µð·ºÅ丮¿¡ ¾²±â±ÇÇÑÀ» + ÁÖÁö ¸¶¶ó. ÀÚ¼¼ÇÑ ³»¿ëÀº º¸¾È ÆÁ ¹®¼¸¦ Âü°íÇ϶ó.
+ +¶Ç, Ŭ¶óÀÌ¾ðÆ®°¡ Á¦°øÇÑ Á¤º¸´Â ·Î±×ÆÄÀÏ¿¡ °ÅÀÇ ±×´ë·Î + ±â·ÏµÈ´Ù. ±×·¡¼ ¾ÇÀǰ¡ Àִ Ŭ¶óÀÌ¾ðÆ®°¡ ·Î±×ÆÄÀÏ¿¡ Á¦¾î¹®ÀÚ¸¦ + ³ÖÀ» ¼ö ÀÖÀ¸¹Ç·Î, ·Î±×¸¦ ´Ù·ê¶§´Â ÁÖÀÇÇØ¾ß ÇÑ´Ù.
+| °ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
|---|---|
ErrorLog Áö½Ã¾î´Â
+ °¡Àå Áß¿äÇÑ ·Î±×ÆÄÀÏÀÎ ¼¹ö ¿À·ù ·Î±×ÀÇ À̸§°ú À§Ä¡¸¦ ÁöÁ¤ÇÑ´Ù.
+ ¾ÆÆÄÄ¡ À¥¼¹ö´Â ÀÌ ÆÄÀÏ¿¡ Áø´ÜÁ¤º¸¿Í ¿äûÀ» ó¸®ÇÏ´Â µµÁß
+ ¹ß»ýÇÑ ¿À·ù¸¦ ±â·ÏÇÑ´Ù. ¼¹ö°¡ ½ÃÀÛÇϰųª µ¿ÀÛÇϴµ¥ ¹®Á¦°¡
+ ÀÖ´Ù¸é ¹«¾ùÀÌ À߸øµÇ¾ú°í ¶§¶§·Î ¾î¶»°Ô °íÄ¡´ÂÁö¸¦ ¾Ë·ÁÁÖ´Â
+ À̰÷À» °¡Àå ¸ÕÀú »ìÆìºÁ¾ß ÇÑ´Ù.
¿À·ù ·Î±×´Â º¸Åë (ÀüÇüÀûÀ¸·Î À¯´Ð½º ½Ã½ºÅÛ¿¡¼´Â
+ error_log, À©µµ¿ìÁî¿Í OS/2¿¡¼´Â
+ error.log) ÆÄÀÏ¿¡ ±â·ÏµÈ´Ù. À¯´Ð½º ½Ã½ºÅÛ¿¡¼
+ ¼¹ö´Â ¿À·ù¸¦ syslog³ª ÆÄÀÌÇÁ¸¦
+ »ç¿ëÇÏ¿© ´Ù¸¥ ÇÁ·Î±×·¥À¸·Î º¸³¾ ¼öµµ ÀÖ´Ù.
¿À·ù ·Î±×ÀÇ Çü½ÄÀº »ó´ëÀûÀ¸·Î ÀÚÀ¯·Ó°í ÀÚ¼¼ÇÏ´Ù. ±×·¯³ª + ´ëºÎºÐÀÇ ¿À·ù ·Î±× Ç׸ñ¿¡ °øÅëÀûÀ¸·Î ³ª¿À´Â Á¤º¸°¡ ÀÖ´Ù. + ¿¹¸¦ µé¾î, Ç׸ñÀº º¸Åë ´ÙÀ½°ú °°´Ù.
+ +
+ [Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1]
+ client denied by server configuration:
+ /export/home/live/ap/htdocs/test
+
·Î±× Ç׸ñ¿¡¼ ù¹øÂ° Ç׸ñÀº ³¯Â¥¿Í ½Ã°£ÀÌ´Ù. µÎ¹øÂ°
+ Ç׸ñÀº º¸°íÇÏ´Â ¿À·ùÀÇ ½É°¢¼ºÀ» ³ªÅ¸³½´Ù. LogLevel Áö½Ã¾î·Î ¿À·ù ·Î±×¿¡
+ ±â·ÏµÇ´Â ¿À·ùÀÇ ½É°¢¼ºÀ» Á¦ÇÑÇÒ ¼ö ÀÖ´Ù. ¼¼¹øÂ° Ç׸ñÀº
+ ¿À·ù¸¦ ¹ß»ýÇÑ Å¬¶óÀ̾ðÆ®ÀÇ IP ÁÖ¼ÒÀÌ´Ù. ÀÌ ´ÙÀ½ºÎÅÍ ¿À·ù¹®ÀÌ
+ ³ª¿À¸ç, ÀÌ °æ¿ì ¼¹ö°¡ Ŭ¶óÀ̾ðÆ®ÀÇ Á¢±ÙÀ» °ÅºÎÇϵµ·Ï
+ ¼³Á¤µÇ¾ú´Ù°í ³ª¿ÍÀÖ´Ù. ¿äûÇÑ ¹®¼ÀÇ (À¥ °æ·Î°¡ ¾Æ´Ñ)
+ ÆÄÀϽýºÅÛ °æ·Îµµ º¸ÀδÙ.
¿À·ù ·Î±×¿¡´Â ¸Å¿ì ´Ù¾çÇÑ Á¾·ùÀÇ ¹®±¸°¡ ³ª¿Ã ¼ö ÀÖ´Ù.
+ ´ëºÎºÐÀº À§¿Í ºñ½ÁÇÏ´Ù. CGI ½ºÅ©¸³Æ®ÀÇ µð¹ö±ë Ãâ·Âµµ ¿À·ù
+ ·Î±×¿¡ ±â·ÏµÈ´Ù. CGI ½ºÅ©¸³Æ®°¡ stderr¿¡ ¾´
+ Á¤º¸´Â ±×´ë·Î ¿À·ù ·Î±×·Î º¹»çµÈ´Ù.
¿À·ù ·Î±×¿¡ Á¤º¸¸¦ Ãß°¡Çϰ¡³ª »ý·«ÇÒ ¼ö ¾ø´Ù. ±×·¯³ª + ¿äû¿¡ ´ëÇÑ ¿À·ù ·Î±×ÀÇ °æ¿ì Á¢±Ù + ·Î±×¿¡µµ ´ëÀÀÇÏ´Â Ç׸ñÀÌ »ý±ä´Ù. ¿¹¸¦ µé¾î, À§ÀÇ °æ¿ì + »óÅÂÄڵ尡 403ÀÎ Á¢±Ù ·Î±× Ç׸ñÀÌ »ý±ä´Ù. Á¢±Ù ·Î±×´Â + »ç¿ëÀÚÁ¤ÀÇÇÒ ¼ö ÀÖÀ¸¹Ç·Î ÀÌ ÆÄÀÏÀ» Âü°íÇÏ¿© ¿À·ù »óȲ¿¡ + ´ëÇÑ Ãß°¡Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
+ +°Ë»çÇÒ¶§ ¾î¶² ¹®Á¦°¡ »ý±â´ÂÁö ¿À·ù ·Î±×¸¦ °è¼Ó »ìÆìº¸´Â + °ÍÀÌ ÁÁ´Ù. À¯´Ð½º ½Ã½ºÅÛ¿¡¼ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù:
+ +
+ tail -f error_log
+
| °ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
|---|---|
¼¹ö Á¢±Ù ·Î±×´Â ¼¹ö°¡ ó¸®ÇÏ´Â ¸ðµç ¿äûÀ» ±â·ÏÇÑ´Ù.
+ CustomLog
+ Áö½Ã¾î´Â Á¢±Ù ·Î±×ÀÇ À§Ä¡¿Í ³»¿ëÀ» ÁöÁ¤ÇÑ´Ù. LogFormat Áö½Ã¾î¸¦
+ »ç¿ëÇÏ¿© ·Î±×¿¡ Æ÷ÇÔÇÒ ³»¿ëÀ» ½±°Ô ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ÀÌ ÀýÀº
+ ¼¹ö°¡ Á¢±Ù ·Î±×¿¡ ¾µ ³»¿ëÀ» ¼³Á¤ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
¹°·Ð Á¢±Ù ·Î±×¿¡ Á¤º¸¸¦ ±â·ÏÇÏ´Â °ÍÀº ·Î±× °ü¸®ÀÇ ½ÃÀÛÀÏ + »ÓÀÌ´Ù. ´ÙÀ½ ´Ü°è´Â ÀÌ Á¤º¸¸¦ ºÐ¼®ÇÏ¿© À¯¿ëÇÑ Åë°è¸¦ ¸¸µå´Â + °ÍÀÌ´Ù. ÀÌ ¹®¼´Â ÀϹÝÀûÀÎ ·Î±× ºÐ¼®¿¡ ´ëÇØ¼ ´Ù·çÁö ¾ÊÀ¸¸ç, + ·Î±× ºÐ¼®Àº ½ÇÁ¦ À¥¼¹ö°¡ ÇÒ ÀÏÀÌ ¾Æ´Ï´Ù. ·Î±× ºÐ¼®¿¡ ´ëÇÑ + Á¤º¸¿Í ·Î±×¸¦ ºÐ¼®ÇÏ´Â ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇØ¼´Â Open Directory³ª + Yahoo¸¦ + Âü°íÇ϶ó.
+ +¾ÆÆÄÄ¡ À¥¼¹ö´Â ÀÌÀüºÎÅÍ mod_log_referer, mod_log_agent,
+ CustomLog
+ °°Àº ¸ðµâ°ú Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© Á¢±Ù ·Î±×¸¦ ´Ù·ç¾ú´Ù. Áö±ÝÀº
+ CustomLog
+ Áö½Ã¾î°¡ ¿À·¡µÈ Áö½Ã¾îµéÀÇ ¸ðµç ±â´ÉÀ» À̾î¹Þ¾Ò´Ù.
Á¢±Ù ·Î±×ÀÇ Çü½ÄÀº ¸Å¿ì »ç¿ëÀÚÁ¤ÀÇ °¡´ÉÇÏ´Ù. Çü½ÄÀº CÀÇ
+ printf(1) Çü½Ä¹®ÀÚ¿°ú ¸Å¿ì À¯»çÇÑ Çü½Ä¹®ÀÚ¿À» »ç¿ëÇÏ¿©
+ ÁöÁ¤ÇÑ´Ù. ´ÙÀ½ Àý¿¡ ¿¹¸¦ µé¾ú´Ù. Çü½Ä¹®ÀÚ¿¿¡ »ç¿ë°¡´ÉÇÑ
+ ¸ðµç ³»¿ëÀ» ¾Ë·Á¸é mod_log_config Çü½Ä¹®ÀÚ¿À»
+ Âü°íÇ϶ó.
Á¢±Ù ·Î±×ÀÇ ÀüÇüÀûÀÎ ¼³Á¤Àº ´ÙÀ½°ú °°´Ù.
+ +
+ LogFormat "%h %l %u %t \"%r\" %>s %b" common
+ CustomLog logs/access_log common
+
±×·¯¸é ÁöÁ¤ÇÑ ·Î±× Çü½Ä¹®ÀÚ¿À» º°¸í
+ commonÀ¸·Î Á¤ÀÇÇÑ´Ù. Çü½Ä¹®ÀÚ¿Àº ÆÛ¼¾Æ®
+ Áö½Ã¾îµé·Î ±¸¼ºµÇ¸ç, °¢°¢Àº ¾î¶² Á¤º¸¸¦ ±â·ÏÇÒÁö ¾Ë¸°´Ù.
+ Çü½Ä¹®ÀÚ¿¿¡ ÀÏ¹Ý ¹®ÀÚ¸¦ ÀûÀ¸¸é ±×´ë·Î ·Î±×¿¡ Ãâ·ÂµÈ´Ù.
+ µû¿ÈÇ¥ ¹®ÀÚ(")¸¦ Ãâ·ÂÇÏ°í ½Í´Ù¸é ¹é½½·¡½¬¸¦
+ ¾Õ¿¡ ºÙ¿©¼ Çü½Ä¹®ÀÚ¿ÀÇ ³¡ÀÌ ¾Æ´ÔÀ» Ç¥½ÃÇÑ´Ù. Çü½Ä¹®ÀÚ¿¿¡
+ ÁÙ¹Ù²Þ "\n", ÅÇ "\t"¿Í °°Àº
+ Ư¼ö Á¶Àý¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
CustomLog
+ Áö½Ã¾î´Â Á¤ÀÇÇÑ º°¸íÀ» »ç¿ëÇÏ´Â »õ·Î¿î ·Î±×ÆÄÀÏÀ»
+ ¸¸µç´Ù. Á¢±Ù ·Î±×ÀÇ ÆÄÀϸíÀÌ ½½·¡½¬·Î ½ÃÀÛÇÏÁö¾ÊÀ¸¸é
+ ServerRootÀÇ »ó´ë°æ·ÎÀÌ´Ù.
¾ÕÀÇ ¼³Á¤Àº °øÅë·Î±×Çü½Ä(Common Log Format, CLF)À̶ó´Â + Çü½ÄÀ¸·Î ·Î±× Ç׸ñÀ» ±â·ÏÇÑ´Ù. ¿©·¯ ´Ù¸¥ À¥¼¹öµéµµ ÀÌ·± + Ç¥ÁØ Çü½ÄÀ¸·Î ·Î±×¸¦ ¸¸µé¸ç, ¿©·¯ ·Î±× ºÐ¼® ÇÁ·Î±×·¥¿¡¼ + ÀÐÀ» ¼ö ÀÖ´Ù. CLF·Î ¸¸µç ·Î±×ÆÄÀÏ Ç׸ñÀº ´ÙÀ½°ú °°´Ù:
+ +
+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
+ /apache_pb.gif HTTP/1.0" 200 2326
+
ÀÌÁ¦ ·Î±× Ç׸ñÀÇ °¢ ºÎºÐÀ» ¼³¸íÇÑ´Ù.
+ +127.0.0.1 (%h)HostnameLookups°¡
+ OnÀ̶ó¸é È£½ºÆ®¸íÀ» ã¾Æ¼ IP ÁÖ¼Ò ÀÚ¸®¿¡
+ ´ë½Å ¾´´Ù. ±×·¯³ª ÀÌ ¼³Á¤Àº ¼¹ö¸¦ ¸Å¿ì ´À¸®°Ô ÇÒ ¼ö
+ ÀÖÀ¸¹Ç·Î ÃßõÇÏÁö ¾Ê´Â´Ù. È£½ºÆ®¸íÀ» ¾Ë·Á¸é ´ë½Å ³ªÁß¿¡
+ logresolve¿Í
+ °°Àº ·Î±×¸¦ ó¸®ÇÏ´Â ÇÁ·Î±×·¥À» »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù.
+ ¿©±â¿¡ ³ª¿Â IP ÁÖ¼Ò´Â »ç¿ëÀÚ°¡ »ç¿ëÇÏ´Â ÄÄÇ»ÅÍ ÁÖ¼Ò°¡
+ ¾Æ´Ò ¼ö ÀÖ´Ù. ÇÁ·Ï½Ã ¼¹ö°¡ »ç¿ëÀÚ¿Í ¼¹ö»çÀÌ¿¡ Á¸ÀçÇÑ´Ù¸é,
+ ¿ø·¡ ÄÄÇ»ÅÍ ÁÖ¼Ò°¡ ¾Æ´Ï¶ó ÇÁ·Ï½ÃÀÇ ÁÖ¼Ò°¡ ±â·ÏµÉ °ÍÀÌ´Ù.- (%l)identd°¡ Á¦°øÇÒ Å¬¶óÀ̾ðÆ®ÀÇ RFC 1413
+ ½Å¿øÀÌ´Ù. ÀÌ Á¤º¸´Â ¸Å¿ì ¹ÏÀ» ¼ö ¾ø±â¶§¹®¿¡, ±ä¹ÐÈ÷
+ °ü¸®µÇ´Â ³»ºÎ ³×Æ®¿÷ÀÌ ¾Æ´Ï¶ó¸é Àý´ë·Î ÀÌ Á¤º¸¸¦ »ç¿ëÇϸé
+ ¾ÈµÈ´Ù. IdentityCheck°¡
+ OnÀÌ ¾Æ´Ï¶ó¸é ¾ÆÆÄÄ¡ À¥¼¹ö´Â ÀÌ Á¤º¸¸¦
+ ¾Ë¾Æº¸·Á°í ½ÃµµÇÏÁöµµ ¾Ê´Â´Ù.frank (%u)REMOTE_USER ȯ°æº¯¼ö·Î ³Ñ°ÜÁø´Ù. ¿äûÀÇ
+ »óÅÂÄڵ尡 401À̶ó¸é (¾Æ·¡ Âü°í) »ç¿ëÀÚ°¡ ¾ÆÁ÷ ÀÎÁõÀ»
+ °ÅÄ¡Áö ¾Ê¾ÒÀ¸¹Ç·Î ÀÌ °ªÀ» ¹ÏÀ¸¸é ¾ÈµÈ´Ù. ¹®¼¸¦ ¾ÏÈ£·Î
+ º¸È£ÇÏÁö ¾Ê´Â´Ù¸é ÀÌ Ç׸ñÀº ÀÌÀü Ç׸ñ°ú °°ÀÌ
+ "-"ÀÌ´Ù.[10/Oct/2000:13:55:36 -0700]
+ (%t)
+ [day/month/year:hour:minute:second zone]
+
+ day = ¼ýÀÚ 2°³
+ month = ¼ýÀÚ 3°³
+ year = ¼ýÀÚ 4°³
+ hour = ¼ýÀÚ 2°³
+ minute = ¼ýÀÚ 2°³
+ second = ¼ýÀÚ 2°³
+ zone = (`+' | `-') ¼ýÀÚ 4°³
%{format}t¸¦ »ç¿ëÇÏ¿©
+ ´Ù¸¥ Çü½ÄÀ¸·Î ½Ã°£À» Ãâ·ÂÇÒ ¼ö ÀÖ´Ù. formatÀº
+ C Ç¥ÁØ ¶óÀ̺귯¸®ÀÇ strftime(3)°ú °°´Ù.
+ "GET /apache_pb.gif HTTP/1.0"
+ (\"%r\")GETÀÌ´Ù. µÑ°, Ŭ¶óÀÌ¾ðÆ®´Â ÀÚ¿ø
+ /apache_pb.gif¸¦ ¿äûÇÑ´Ù. ¼¼¹øÂ°, Ŭ¶óÀÌ¾ðÆ®´Â
+ HTTP/1.0 ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÑ´Ù. ¿äûÁÙÀÇ
+ ¿©·¯ ºÎºÐÀ» µû·Î ·Î±×ÇÒ ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î, Çü½Ä¹®ÀÚ¿
+ "%m %U%q %H"Àº "%r"°ú ¶È°°ÀÌ
+ ¸Þ½áµå, °æ·Î, ÁúÀǹ®ÀÚ¿, ÇÁ·ÎÅäÄÝÀ» ·Î±×ÇÑ´Ù.200 (%>s)2326 (%b)-"ÀÌ´Ù. ³»¿ëÀÌ
+ ¾ø´Â °æ¿ì "0"À» ·Î±×ÇÏ·Á¸é ´ë½Å
+ %B¸¦ »ç¿ëÇÑ´Ù.ÀÚÁÖ »ç¿ëµÇ´Â ´Ù¸¥ Çü½Ä¹®ÀÚ¿Àº °áÇյȷα×Çü½Ä(Combined + Log Format)ÀÌ´Ù. ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù.
+ +
+ LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
+ \"%{User-agent}i\"" combined
+ CustomLog log/access_log combined
+
ÀÌ Çü½ÄÀº µÎ Ç׸ñÀ» ´õ Ãß°¡ÇÑ °ÍÀ» Á¦¿ÜÇϰí´Â Common
+ ·Î±× Çü½Ä°ú ¿ÏÀüÈ÷ °°´Ù. Ãß°¡µÈ Ç׸ñµéÀº ÆÛ¼¾Æ® Áö½Ã¾î
+ %{header}i¸¦ »ç¿ëÇÑ´Ù. ¿©±â¼
+ header ÀÚ¸®¿¡ HTTP ¿äû Çì´õ À̸§ÀÌ ³ª¿Ã ¼ö
+ ÀÖ´Ù. ÀÌ Çü½ÄÀÇ Á¢±Ù ·Î±×´Â ´ÙÀ½°ú °°´Ù:
+ 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
+ /apache_pb.gif HTTP/1.0" 200 2326
+ "http://www.example.com/start.html" "Mozilla/4.08 [en]
+ (Win98; I ;Nav)"
+
Ãß°¡µÈ Ç׸ñÀº:
+ +"http://www.example.com/start.html"
+ (\"%{Referer}i\")/apache_pb.gif¸¦ ¸µÅ©ÇÏ¿´°Å³ª Æ÷ÇÔÇÑ
+ »çÀÌÆ®ÀÌ´Ù.)"Mozilla/4.08 [en] (Win98; I ;Nav)"
+ (\"%{User-agent}i\")¼³Á¤ÆÄÀÏ¿¡ ¿©·¯ CustomLog Áö½Ã¾î¸¦
+ »ç¿ëÇϸé Á¢±Ù ·Î±×°¡ ¿©·¯°³ ¸¸µé¾îÁø´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½
+ ¼³Á¤Àº ¼¼°¡Áö Á¢±Ù ·Î±×¸¦ ¸¸µç´Ù. ù¹øÂ°´Â ±âº» CLF Á¤º¸¸¦
+ ±â·ÏÇϰí, µÎ¹øÂ°¿Í ¼¼¹øÂ°´Â referer¿Í ºê¶ó¿ìÀú Á¤º¸¸¦
+ ±â·ÏÇÑ´Ù. ¸¶Áö¸· µÎ CustomLog ÁÙÀº ¾î¶»°Ô
+ ÀÌÀü ReferLog¿Í AgentLog Áö½Ã¾îÀÇ
+ ±â´ÉÀ» Èä³»³¾ ¼ö ÀÖ´ÂÁö º¸¿©ÁØ´Ù.
+ LogFormat "%h %l %u %t \"%r\" %>s %b" common
+ CustomLog logs/access_log common
+ CustomLog logs/referer_log "%{Referer}i -> %U"
+ CustomLog logs/agent_log "%{User-agent}i"
+
¶Ç, ÀÌ ¿¹´Â LogFormatÀ¸·Î ¹Ýµå½Ã
+ º°¸íÀ» Á¤ÀÇÇÒ ÇÊ¿ä´Â ¾øÀ½À» º¸¿©ÁØ´Ù. ´ë½Å CustomLog Áö½Ã¾î¿¡
+ Á÷Á¢ ·Î±× Çü½ÄÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
Ŭ¶óÀÌ¾ðÆ® ¿äûÀÇ ¼º°Ý¿¡ µû¶ó ÇØ´ç Ç׸ñÀ» Á¢±Ù ·Î±×¿¡
+ ±â·ÏÇÏÁö¾Ê°í ½ÍÀ» ¶§°¡ ÀÖ´Ù. ȯ°æº¯¼ö¸¦
+ »ç¿ëÇÏ¸é ½±°Ô ÇØ°áµÈ´Ù. ¸ÕÀú, Ŭ¶óÀÌ¾ðÆ®°¡ ƯÁ¤ Á¶°ÇÀ»
+ ¸¸Á·Çϸé ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù. ÀÌ ÀÛ¾÷¿¡´Â º¸Åë SetEnvIf¸¦ »ç¿ëÇÑ´Ù.
+ ±×¸®°í CustomLog
+ Áö½Ã¾î¿¡ env=À» »ç¿ëÇÏ¿© ȯ°æº¯¼ö À¯¹«¿¡
+ µû¶ó ¿äûÀ» Áý¾î³Ö°Å³ª »«´Ù. ¿¹¸¦ µé¸é:
+ # loop-back ÀÎÅÍÆäÀ̽º¿¡¼ ¿äûÀ» Ç¥½ÃÇÑ´Ù
+ SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog
+ # robots.txt ÆÄÀÏ¿¡ ´ëÇÑ ¿äûÀ» Ç¥½ÃÇÑ´Ù
+ SetEnvIf Request_URI "^/robots\.txt$" dontlog
+ # ³ª¸ÓÁö¸¦ ·Î±×¿¡ ³²±ä´Ù
+ CustomLog logs/access_log common env=!dontlog
+
´Ù¸¥ ¿¹·Î ¿µ¾î±Ç »ç¿ëÀÚÀÇ ¿äû¸¸À» ÇÑ ·Î±×ÆÄÀÏ¿¡ ±â·ÏÇϰí, + ºñ¿µ¾î±Ç »ç¿ëÀÚÀÇ ¿äûÀº ´Ù¸¥ ·Î±×ÆÄÀÏ¿¡ ±â·ÏÇÏ´Â °æ¿ì¸¦ + »ý°¢Çغ¸ÀÚ.
+ +
+ SetEnvIf Accept-Language "en" english
+ CustomLog logs/english_log common env=english
+ CustomLog logs/non_english_log common env=!english
+
Á¶°ÇºÎ ·Î±×´Â ¸Å¿ì °·ÂÇϰí À¯¿¬ÇÏÁö¸¸, À̰ÍÀÌ ·Î±× + ³»¿ëÀ» Á¶ÀýÇÏ´Â À¯ÀÏÇÑ ¹æ¹ýÀº ¾Æ´Ï´Ù. ·Î±×ÆÄÀÏÀº ¼¹öÀÇ + ¸ðµç ÇൿÀ» ±â·ÏÇÒ¶§ ´õ À¯¿ëÇÏ´Ù. ³ªÁß¿¡ ¿øÇÏÁö¾Ê´Â ¿äûÀ» + Á¦¿ÜÇÏ°í ·Î±×ÆÄÀÏÀ» ºÐ¼®ÇÏ´Â °ÍÀÌ ´õ ½±´Ù.
+ +Á¶±Ý ¹Ù»Û ¼¹öÁ¶Â÷µµ ·Î±×ÆÄÀÏ¿¡ ÀúÀåµÇ´Â Á¤º¸·®Àº ¸Å¿ì + ¸¹´Ù. Á¢¼Ó ·Î±×´Â º¸Åë ¸¸¹ø ¿äû´ç 1MB ÀÌ»ó Áõ°¡ÇÑ´Ù. °á°úÀûÀ¸·Î + ±âÁ¸ÀÇ ·Î±×¸¦ ¿Å±â°Å³ª Áö¿ì´Â ¹æ¹ýÀ¸·Î ·Î±×¸¦ ÁÖ±âÀûÀ¸·Î + ¼øÈ°ÇÒ Çʿ䰡 ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ÆÄÀÏÀ» ¿°íÀÖ´Â µ¿¾È¿¡´Â °è¼Ó + ÀÌÀü ·Î±×ÆÄÀÏ¿¡ ¾²±â¶§¹®¿¡ ¼¹ö°¡ ½ÇÇàÁßÀ϶§ ·Î±×¸¦ ¼øÈ¯ÇÒ + ¼ö ¾ø´Ù. ´ë½Å ·Î±×ÆÄÀÏÀ» ¿Å±â°Å³ª Áö¿îÈÄ ¼¹ö¸¦ Àç½ÃÀÛÇÏ¿©, ·Î±×ÆÄÀÏÀ» »õ·Î ¿¾î¾ß + ÇÑ´Ù.
+ +Á¡ÀÝÀº Àç½ÃÀÛÀ» »ç¿ëÇÏ¸é ¼¹ö´Â Ŭ¶óÀÌ¾ðÆ®¿Í + ±âÁ¸ÀÇ È¤Àº ´ë±âµÈ ¿¬°áÀ» ÀÒÁö¾Ê°í »õ ·Î±×ÆÄÀÏÀ» ¿ ¼ö ÀÖ´Ù. + ±×·¯³ª À̸¦ À§ÇØ ¼¹ö´Â ¿À·¡µÈ ¿äûÀÇ ¼ºñ½º¸¦ ³¡³»´Â µ¿¾È + ÀÌÀü ·Î±×ÆÄÀÏÀ» °è¼Ó »ç¿ëÇØ¾ß ÇÑ´Ù. ±×·¯¹Ç·Î Àç½ÃÀÛÇÑÈÄ + ·Î±×ÆÄÀÏÀ» ó¸®Çϱâ Àü¿¡ ¾ó¸¶°£ ±â´Ù¸± Çʿ䰡 ÀÖ´Ù. ÀϹÝÀûÀ¸·Î + ´ÙÀ½°ú °°ÀÌ ·Î±×¸¦ ¼øÈ¯Çϰí, µð½ºÅ©°ø°£À» Àý¾àÇϱâÀ§ÇØ ÀÌÀü + ·Î±×¸¦ ¾ÐÃàÇÑ´Ù:
+ +
+ mv access_log access_log.old
+ mv error_log error_log.old
+ apachectl graceful
+ sleep 600
+ gzip access_log.old error_log.old
+
·Î±×¸¦ ¼øÈ¯ÇÏ´Â ´Ù¸¥ ¹æ¹ýÀº ´ÙÀ½ Àý¿¡¼ ¼³¸íÇÒ ÆÄÀÌÇÁ ·Î±×¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù.
+¾ÆÆÄÄ¡ À¥¼¹ö´Â ¿À·ù ·Î±×¿Í Á¢±Ù ·Î±×¸¦ ÆÄÀÏ¿¡ Á÷Á¢
+ ¾²Áö¾Ê°í ÆÄÀÌÇÁ¸¦ ÅëÇØ ´Ù¸¥ ÇÁ·Î¼¼½º·Î º¸³¾ ¼ö ÀÖ´Ù. ÀÌ
+ ±â´ÉÀ» »ç¿ëÇÏ¸é ¼¹ö¿¡ Äڵ带 Ãß°¡ÇÏÁö¾Ê°íµµ ¸Å¿ì À¯¿¬ÇϰÔ
+ ·Î±×¸¦ ó¸®ÇÒ ¼ö ÀÖ´Ù. ·Î±×¸¦ ÆÄÀÌÇÁ¿¡ ¾²±âÀ§ÇØ ÆÄÀϸí
+ ÀÚ¸®¿¡ ÆÄÀÌÇÁ¹®ÀÚ "|"¿Í µÚ¿¡ Ç¥ÁØÀÔ·ÂÀ¸·Î
+ ·Î±× Ç׸ñÀ» ÀÐÀ» ½ÇÇàÆÄÀϸíÀ» ÀûÀ¸¸é µÈ´Ù. ¾ÆÆÄÄ¡´Â ¼¹ö°¡
+ ½ÃÀÛÇÒ¶§ ÆÄÀÌÇÁ·Î ¿¬°áÇÒ ·Î±× ÇÁ·Î¼¼½º¸¦ ½ÃÀÛÇϰí, ¼¹ö°¡
+ ½ÇÇàµÇ´Â µ¿¾È ÇÁ·Î¼¼½º°¡ Á×À¸¸é ´Ù½Ã ½ÃÀÛÇÑ´Ù. (ÀÌ ¸¶Áö¸·
+ ±â´É¶§¹®¿¡ ¿ì¸®´Â ÀÌ ¹æ¹ýÀ» "¹ÏÀ» ¼ö ÀÖ´Â ÆÄÀÌÇÁ ·Î±×"¶ó°í
+ ºÎ¸¥´Ù.)
ÆÄÀÌÇÁ·Î ¿¬°áµÈ ·Î±× ÇÁ·Î¼¼½º´Â ºÎ¸ð ¾ÆÆÄÄ¡ httpd ÇÁ·Î¼¼½º°¡ + ¶ç¿ì°í, ÇÁ·Î¼¼½ºÀÇ useridµµ °°´Ù. Áï, ÆÄÀÌÇÁ·Î ¿¬°áµÈ ·Î±× + ÇÁ·Î±×·¥Àº º¸Åë root·Î ½ÇÇàµÈ´Ù. ±×·¯¹Ç·Î ÇÁ·Î±×·¥À» °£´ÜÇϰí + ¾ÈÀüÇÏ°Ô ¸¸µå´Â °ÍÀÌ ¸Å¿ì Áß¿äÇÏ´Ù.
+ +ÆÄÀÌÇÁ·Î ºÎ¸£´Â Àüü ¸í·É¾î¸¦ µû¿ÈÇ¥·Î ¹À½À» ¸í½ÉÇ϶ó. + ÀÌ ¿¹´Â Á¢±Ù ·Î±×¿¡ ´ëÇÑ °ÍÀÌÁö¸¸, ¿À·ù ·Î±×µµ ¸¶Âù°¡Áö´Ù.
+ +¼¹ö¸¦ Àç½ÃÀÛÇÏÁö¾Ê°í ·Î±×¸¦ ¼øÈ¯ÇÒ ¼ö ÀÖ´Â °ÍÀÌ ÆÄÀÌÇÁ + ·Î±×¸¦ »ç¿ëÇÏ´Â Áß¿äÇÑ ÀÌÀ¯´Ù. ¾ÆÆÄÄ¡ À¥¼¹ö´Â À̸¦ À§ÇØ + rotatelogs¶ó´Â °£´ÜÇÑ + ÇÁ·Î±×·¥À» Æ÷ÇÔÇÑ´Ù. ¿¹¸¦ µé¾î 24½Ã°£¸¶´Ù ·Î±×¸¦ ¼øÈ¯ÇÑ´Ù¸é:
+ +
+ CustomLog "|/usr/local/apache/bin/rotatelogs
+ /var/log/access_log 86400" common
+
´Ù¸¥ »çÀÌÆ®¿¡ cronolog¶ó´Â ºñ½ÁÇÏÁö¸¸ + ÈξÀ ´õ À¯¿¬ÇÑ ·Î±× ¼øÈ¯ ÇÁ·Î±×·¥ÀÌ ÀÖ´Ù.
+ +Á¶°ÇºÎ ·Î±×¿Í °°ÀÌ ÆÄÀÌÇÁ ·Î±×´Â ¸Å¿ì °·ÂÇÑ µµ±¸Áö¸¸, + ³ªÁß¿¡ ó¸®ÇÏ´Â µîÀÇ ´õ °£´ÜÇÑ ¹æ¹ýÀÌ °¡´ÉÇÑ °æ¿ì »ç¿ëÇØ¼´Â + ¾ÈµÈ´Ù.
+¸¹Àº °¡»óÈ£½ºÆ®°¡ ÀÖ´Â ¼¹ö¸¦
+ ¿î¿µÇÒ¶§ ¿©·¯°¡Áö ¹æ¹ýÀ¸·Î ·Î±×ÆÄÀÏÀ» ´Ù·ê ¼ö ÀÖ´Ù. ¸ÕÀú,
+ È£½ºÆ®°¡ ÇѰ³ÀÎ ¼¹ö¿Í °°ÀÌ ·Î±×¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. <VirtualHost> ¼½¼ÇÀÌ
+ ¾Æ´Ñ ÁÖ¼¹ö ¼³Á¤¿¡ ·Î±× Áö½Ã¾î¸¦ µÎ¸é ¸ðµç ¿äûÀÌ °°Àº Á¢±Ù
+ ·Î±×¿Í ¿À·ù ·Î±×·Î ±â·ÏµÈ´Ù. ÀÌ ¹æ¹ýÀº °¡»óÈ£½ºÆ®º°·Î ½±°Ô
+ Åë°è󸮸¦ ÇÒ ¼ö ¾ø´Ù.
<VirtualHost>
+ ¼½¼Ç ¾È¿¡ CustomLog³ª
+ ErrorLog Áö½Ã¾î¸¦
+ »ç¿ëÇϸé ÇØ´ç °¡»óÈ£½ºÆ®¿¡ ´ëÇÑ ¿äû°ú ¿À·ù¸¸ÀÌ ÁöÁ¤µÈ
+ ÆÄÀÏ¿¡ ±â·ÏµÈ´Ù. ·Î±× Áö½Ã¾î°¡ ¾ø´Â ´Ù¸¥ °¡»óÈ£½ºÆ®´Â °è¼Ó
+ ÁÖ¼¹ö ·Î±×¿¡ ·Î±×¸¦ ±â·ÏÇÑ´Ù. ÀÌ ¹æ¹ýÀº °¡»óÈ£½ºÆ® °³¼ö°¡
+ ÀûÀ» °æ¿ì ¸Å¿ì À¯¿ëÇÏÁö¸¸, È£½ºÆ® ¼ö°¡ ¸¹´Ù¸é °ü¸®Çϱâ
+ Èûµé¾îÁø´Ù. ¶Ç, ÆÄÀϱâ¼úÀÚ°¡
+ ºÎÁ·ÇÑ ¹®Á¦°¡ ÀÚÁÖ ¹ß»ýÇÑ´Ù.
Á¢±Ù ·Î±×ÀÇ °æ¿ì ¸Å¿ì ÁÁÀº ÇØ°áÃ¥ÀÌ ÀÖ´Ù. ·Î±× Çü½Ä¹®ÀÚ¿¿¡ + °¡»óÈ£½ºÆ®¿¡ ´ëÇÑ Á¤º¸¸¦ Ãß°¡ÇÏ¸é ¸ðµç È£½ºÆ®°¡ °°Àº ·Î±×¸¦ + »ç¿ëÇϰí, ³ªÁß¿¡ ·Î±×¸¦ °¡»óÈ£½ºÆ®º°·Î ³ª´ ¼ö ÀÖ´Ù. ¿¹¸¦ + µé¾î, ´ÙÀ½ Áö½Ã¾î¸¦ ºÁ¶ó.
+ +
+ LogFormat "%v %l %u %t \"%r\" %>s %b"
+ comonvhost
+ CustomLog logs/access_log comonvhost
+
%v´Â ¿äûÀ» ¼ºñ½ºÇÏ´Â °¡»óÈ£½ºÆ® À̸§À»
+ ±â·ÏÇÑ´Ù. ³ªÁß¿¡ split-logfile
+ °°Àº ÇÁ·Î±×·¥À¸·Î Á¢±Ù ·Î±×¸¦ °¡»óÈ£½ºº°·Î ³ª´ ¼ö ÀÖ´Ù.
| °ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
|---|---|
¾ÆÆÄÄ¡ À¥¼¹ö´Â ½ÃÀÛÇÒ¶§ logs/httpd.pid
+ ÆÄÀÏ¿¡ ºÎ¸ð httpd ÇÁ·Î¼¼½ºÀÇ process id¸¦ ÀúÀåÇÑ´Ù. ÀÌ
+ ÆÄÀϸíÀº PidFile
+ Áö½Ã¾î·Î º¯°æÇÒ ¼ö ÀÖ´Ù. process-id´Â °ü¸®ÀÚ°¡ ºÎ¸ð ÇÁ·Î¼¼½º¿¡
+ ½Ã±×³ÎÀ» º¸³» ¼¹ö¸¦ Àç½ÃÀÛÇϰųª Á×À϶§ »ç¿ëÇÑ´Ù.
+ À©µµ¿ìÁî¿¡¼´Â ´ë½Å -k ¸í·ÉÇà¿É¼ÇÀ» »ç¿ëÇÑ´Ù. ´õ ÀÚ¼¼ÇÑ
+ Á¤º¸´Â Áߴܰú Àç½ÃÀÛ ÆäÀÌÁö¸¦
+ Âü°íÇ϶ó.
µð¹ö±ëÀ» µ½±âÀ§ÇØ ScriptLog Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©
+ CGI ½ºÅ©¸³Æ®ÀÇ ÀԷ°ú Ãâ·ÂÀ» ±â·ÏÇÒ ¼ö ÀÖ´Ù. ÀÌ Áö½Ã¾î´Â
+ ¿ÀÁ÷ Å×½ºÆ®¿ëÀ¸·Î¸¸ »ç¿ëÇØ¾ß ÇÑ´Ù. ½ÇÁ¦ »ç¿ëÇÏ´Â ¼¹ö¿¡¼
+ »ç¿ëÇÏ¸é ¾ÈµÈ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â mod_cgi ¹®¼¸¦ Âü°íÇ϶ó.
mod_rewriteÀÇ °·ÂÇϰí
+ º¹ÀâÇÑ ±â´ÉÀ» »ç¿ëÇÑ´Ù¸é µð¹ö±ëÀ» À§ÇØ °ÅÀÇ Ç×»ó RewriteLog¸¦ »ç¿ëÇÒ Çʿ䰡
+ ÀÖ´Ù. ÀÌ ·Î±×ÆÄÀÏÀº ÀçÀÛ¼º ¿£ÁøÀÌ ¾î¶»°Ô ¿äûÀ» º¯È¯ÇÏ´ÂÁö¿¡
+ ´ëÇØ ÀÚ¼¼È÷ ¾Ë·ÁÁØ´Ù. ÀÚ¼¼ÇÑ Á¤µµ´Â RewriteLogLevel Áö½Ã¾î·Î
+ Á¶ÀýÇÑ´Ù.
-
- ¾ÆÆÄÄ¡ À¥¼¹ö´Â ´Ù¾çÇÑ È¯°æÀÇ ´Ù¾çÇÑ Ç÷¡Æû¿¡¼ µ¿ÀÛÇÒ ¼ö ÀÖµµ·Ï - °·ÂÇϰí À¯¿¬ÇÏ°Ô ¼³°èµÇ¾ú´Ù. ´Ù¸¥ Ç÷¡Æû°ú ´Ù¸¥ ȯ°æÀº º¸Åë - ´Ù¸¥ ±â´ÉÀ» ¿ä±¸Çϸç, ¾î¶² ±â´ÉÀ» °¡Àå È¿À²ÀûÀ¸·Î ±¸ÇöÇÏ´Â - ¹æ¹ýÀÌ ´Ù¸¦ ¼öµµ ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ¸ðµâÈµÈ ¼³°è·Î ÀÌ·± ´Ù¾çÇÑ - ȯ°æ¿¡ Ç×»ó ÀûÀÀÇØ¿Ô´Ù. ±×·¡¼ À¥¸¶½ºÅÍ´Â ÄÄÆÄÀϽà ȤÀº - ½ÇÇà½Ã ¾î¶² ¸ðµâÀ» ÀоîµéÀÏÁö ¼±ÅÃÇÏ¿© ¾î¶² ±â´ÉÀ» ¼¹ö¿¡ - Æ÷ÇÔÇÒÁö °áÁ¤ÇÒ ¼ö ÀÖ´Ù.
- -Apache 2.0´Â ÀÌ·± ¸ðµâÈµÈ ¼³°è¸¦ À¥¼¹öÀÇ °¡Àå ±âº»ÀûÀÎ - ±â´É¿¡±îÁö È®ÀåÇß´Ù. ¼¹ö´Â ½Ã½ºÅÛ¿¡¼ ³×Æ®¿÷ Æ÷Æ®¿¡ ¿¬°áÇϰí, - ¹Þ¾ÆµéÀÎ ¿äûÀ» ó¸®ÇÒ Àڽĵ鿡°Ô ºÐ¹èÇÏ´Â - ´ÙÁßó¸® ¸ðµâ (Multi-Processing Modules, MPMs)À» ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.
- -¼¹ö¸¦ ÀÌ Á¤µµ·Î ¸ðµâÈÇÏ¸é µÎ°¡Áö Áß¿äÇÑ ÀåÁ¡ÀÌ ÀÖ´Ù:
+ + +Apache HTTP Server Version 2.1
+
ÀÌ ¹®¼´Â ´ÙÁßó¸® ¸ðµâ (Multi-Processing Module)ÀÌ ¹«¾ùÀ̸ç, +¾ÆÆÄÄ¡ À¥¼¹ö°¡ À̸¦ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö ¼³¸íÇÑ´Ù.
+
¼Ò°³
MPM ¼±ÅÃÇϱâ
MPM ±âº»°ª¾ÆÆÄÄ¡ À¥¼¹ö´Â ´Ù¾çÇÑ È¯°æÀÇ ´Ù¾çÇÑ Ç÷¡Æû¿¡¼ µ¿ÀÛÇÒ + ¼ö ÀÖµµ·Ï °·ÂÇϰí À¯¿¬ÇÏ°Ô ¼³°èµÇ¾ú´Ù. ´Ù¸¥ Ç÷¡Æû°ú ´Ù¸¥ + ȯ°æÀº º¸Åë ´Ù¸¥ ±â´ÉÀ» ¿ä±¸Çϸç, ¾î¶² ±â´ÉÀ» °¡Àå È¿À²ÀûÀ¸·Î + ±¸ÇöÇÏ´Â ¹æ¹ýÀÌ ´Ù¸¦ ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ¸ðµâÈµÈ ¼³°è·Î ÀÌ·± + ´Ù¾çÇÑ È¯°æ¿¡ Ç×»ó ÀûÀÀÇØ¿Ô´Ù. ±×·¡¼ À¥¸¶½ºÅÍ´Â ÄÄÆÄÀϽà + ȤÀº ½ÇÇà½Ã ¾î¶² ¸ðµâÀ» ÀоîµéÀÏÁö ¼±ÅÃÇÏ¿© ¼¹ö¿¡ Æ÷ÇÔÇÒ + ±â´ÉÀ» °áÁ¤ÇÒ ¼ö ÀÖ´Ù.
+ +Apache 2.0Àº ÀÌ·± ¸ðµâÈµÈ ¼³°è¸¦ À¥¼¹öÀÇ °¡Àå ±âº»ÀûÀÎ + ºÎºÐ¿¡±îÁö È®ÀåÇß´Ù. ¼¹ö´Â ½Ã½ºÅÛÀÇ ³×Æ®¿÷ Æ÷Æ®¿¡ ¿¬°áÇϰí, + ¿äûÀ» ¹Þ¾ÆµéÀ̸ç, ¹Þ¾ÆµéÀÎ ¿äûÀ» ó¸®ÇϱâÀ§ÇØ Àڽĵ鿡°Ô + ºÐ¹èÇÏ´Â ´ÙÁßó¸® ¸ðµâ (Multi-Processing Modules, MPMs)À» + ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.
+ +¼¹ö¸¦ ÀÌ Á¤µµ·Î ¸ðµâÈÇÏ¸é µÎ°¡Áö Áß¿äÇÑ ÀåÁ¡ÀÌ + ÀÖ´Ù:
mpm_winnt°¡ Apache 1.3¿¡¼ »ç¿ëÇÑ
+ POSIXÃþ ´ë½Å ÀÚü ³×Æ®¿÷ ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â µî,
¾ÆÆÄÄ¡´Â ¿©·¯ ´Ù¾çÇÑ ¿î¿µÃ¼Á¦¸¦ ´õ ±ò²ûÇϰí È¿À²ÀûÀ¸·Î
- Áö¿øÇÒ ¼ö ÀÖ´Ù. ÀÌ ÀåÁ¡Àº Ư¼öÈµÈ MPMs¸¦ ±¸ÇöÇÏ´Â ´Ù¸¥
+ Áö¿øÇÒ ¼ö ÀÖ´Ù. ÀÌ ÀåÁ¡Àº Æ¯ÈµÈ MPMÀ» ±¸ÇöÇÑ ´Ù¸¥
¿î¿µÃ¼Á¦¿¡µµ Àû¿ëµÈ´Ù.worker¿Í °°Àº ¾²·¹µå MPMÀ» »ç¿ëÇϰí,
+ ¾ÈÁ¤¼º°ú ¿À·¡µÈ ¼ÒÇÁÆ®¿þ¾î¿ÍÀÇ È£È¯¼ºÀÌ ÇÊ¿äÇÑ »çÀÌÆ®´Â
+ preforking MPMÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
+ Ãß°¡·Î ´Ù¸¥ »ç¿ëÀÚ¾ÆÀ̵ð·Î ¿©·¯ È£½ºÆ®¸¦ ¼ºñ½ºÇÏ´Â
+ °Í(perchild)°ú °°Àº Ưº°ÇÑ ±â´Éµµ
+ Á¦°øµÈ´Ù.»ç¿ëÀÚ°¡ º¸±â¿¡ MPMs´Â ´Ù¸¥ ¾ÆÆÄÄ¡ ¸ðµâ°ú °ÅÀÇ ºñ½ÁÇØ º¸ÀδÙ. - ÁÖµÈ Â÷ÀÌ´Â Çѹø¿¡ ¿ÀÁ÷ ÇÑ MPM¸¸ÀÌ ¼¹ö¿¡ ·ÎµåµÇ¾ß ÇÑ´Ù´Â Á¡ÀÌ´Ù. - °¡´ÉÇÑ MPMs ¸ñ·ÏÀº ¸ðµâ ¸ñ·Ï ÆäÀÌÁö¿¡ ÀÖ´Ù.
+»ç¿ëÀÚ°¡ º¸±â¿¡ MPMÀº ´Ù¸¥ ¾ÆÆÄÄ¡ ¸ðµâ°ú °ÅÀÇ ºñ½ÁÇØ + º¸ÀδÙ. ÁÖµÈ Â÷ÀÌ´Â ¼¹ö´Â Çѹø¿¡ ¿ÀÁ÷ ÇÑ MPM¸¸À» »ç¿ëÇØ¾ß + ÇÑ´Ù´Â Á¡ÀÌ´Ù. »ç¿ë°¡´ÉÇÑ MPM ¸ñ·ÏÀº ¸ðµâ + ¸ñ·Ï ÆäÀÌÁö¿¡ ÀÖ´Ù.
-MPMs´Â ±¸¼ºÁß¿¡ ¼±ÅÃÇÏ¿© ¼¹ö¿¡ ÄÄÆÄÀÏµÇ¾ß ÇÑ´Ù. - ÄÄÆÄÀÏ·¯´Â ¾²·¹µå¸¦ »ç¿ëÇÑ´Ù´Â °ÍÀ» ¾Ë¸é ¸¹Àº ÇÔ¼ö¸¦ - ÃÖÀûÈÇÒ ¼ö ÀÖ´Ù. À¯´Ð½º¿¡¼ ¸î¸î MPMs´Â ¾²·¹µå¸¦ ¾²°í ³ª¸ÓÁö´Â - ¾Æ´Ï¹Ç·Î, MPMÀÌ ±¸¼ºÁß¿¡ ¼±ÅÃµÇ¾î ¾ÆÆÄÄ¡¿¡ ÄÄÆÄÀϵɶ§ ¾ÆÆÄÄ¡´Â - ´õ ºü¸¥ ¼Óµµ¸¦ ³½´Ù.
+ ¾²·¹µå¸¦ »ç¿ëÇÏ´Â °ÍÀ» ÄÄÆÄÀÏ·¯°¡ ¾Ë¸é ¸¹Àº ÇÔ¼ö¸¦ + ÃÖÀûÈÇÒ ¼ö ÀÖ´Ù. À¯´Ð½º¿¡¼ ¸î¸î MPMÀº ¾²·¹µå¸¦ ¾²°í + ³ª¸ÓÁö´Â ¾Æ´Ï¹Ç·Î, MPMÀÌ ±¸¼ºÁß¿¡ ¼±ÅÃµÇ¾î ¾ÆÆÄÄ¡¿¡ + ÄÄÆÄÀϵɶ§ ¾ÆÆÄÄ¡´Â ´õ ºü¸¥ ¼Óµµ¸¦ ³½´Ù.¿øÇÏ´Â MPMÀ» ¼±ÅÃÇÏ·Á¸é ./configure ½ºÅ©¸³Æ®¿¡ with-mpm= NAME ¾Æ±Ô¸ÕÆ®¸¦ »ç¿ëÇ϶ó. NAMEÀº ¿øÇÏ´Â MPM À̸§ÀÌ´Ù.
-¼¹ö°¡ ÄÄÆÄÀϵÈÈÄ ./httpd -l·Î ¼±ÅÃµÈ MPMÀ»
- ¾Ë ¼ö ÀÖ´Ù. ÀÌ ¸í·É¾î´Â MPMÀ» Æ÷ÇÔÇÏ¿© ¼¹ö¿¡ ÄÄÆÄÀÏµÈ ¸ðµç
- ¸ðµâÀ» ¾Ë·ÁÁØ´Ù.
-
-
-
-
-
-
+ ¼¹ö¸¦ ÄÄÆÄÀÏÇÑÈÄ ./httpd -l ¸í·É¾î·Î ¼±ÅÃÇÑ
+ MPMÀ» ¾Ë ¼ö ÀÖ´Ù. ÀÌ ¸í·É¾î´Â MPMÀ» Æ÷ÇÔÇÏ¿© ¼¹ö¿¡ ÄÄÆÄÀϵÈ
+ ¸ðµç ¸ðµâÀ» ¾Ë·ÁÁØ´Ù.
´ÙÀ½ Ç¥´Â ¿©·¯ ¿î¿µÃ¼Á¦ÀÇ ±âº» MPMÀ» º¸¿©ÁØ´Ù. ÄÄÆÄÀϽà +´Ù¸£°Ô ¼±ÅÃÇÏÁö ¾ÊÀ¸¸é ÀÌ MPMÀÌ ¼±ÅõȴÙ.
+ +| BeOS | beos |
| Netware | mpm_netware |
| OS/2 | mpmt_os2 |
| À¯´Ð½º | prefork |
| À©µµ¿ìÁî | mpm_winnt |
-
- Apache HTTP Server Version 2.1
+
ÀÌ ¹®¼´Â ¾ÆÆÄÄ¡ À¥¼¹ö 1.3 ¹öÀü°ú 2.0¹öÀü°£ÀÇ ÁÖµÈ Â÷ÀÌÁ¡À» + ¼³¸íÇÑ´Ù.
+autoconf¿Í libtoolÀ»
+ »ç¿ëÇϵµ·Ï ÀçÀÛ¼ºµÇ¾ú´Ù. ±×·¡¼ ¾ÆÆÄÄ¡ ±¸¼º ½Ã½ºÅÛÀÌ ´Ù¸¥
+ ÆÐŰÁöµé°ú Á»´õ ºñ½ÁÇØÁ³´Ù.mod_echo°¡ ±× ¿¹·Î ÀÛ¼ºµÇ¾ú´Ù.
- Listen,
+ NameVirtualHost,
+ VirtualHost Áö½Ã¾î°¡
+ IPv6 ¼ýÀÚ ÁÖ¼Ò¸¦ Áö¿øÇÑ´Ù. (¿¹,
+ "Listen [fe80::1]:8080").
- mod_includeÀÇ
+ INCLUDES ÇÊÅ͸¦ »ç¿ëÇÏ¿© CGI ½ºÅ©¸³Æ® Ãâ·Â¿¡¼
+ Server Side Include Áö½Ã¾î¸¦ ó¸®ÇÒ ¼ö ÀÖ´Ù.
+ mod_ext_filter ¸ðµâÀº CGI ÇÁ·Î±×·¥À»
+ Çڵ鷯·Î »ç¿ëÇÏ´Â °Í°ú °°ÀÌ ¿ÜºÎ ÇÁ·Î±×·¥À» ÇÊÅÍ·Î
+ »ç¿ëÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.Port¿Í BindAddress Áö½Ã¾î´Â
+ ¾ø¾îÁö°í IP ÁÖ¼Ò ¿¬°á¿¡
+ Listen Áö½Ã¾î¸¸À»
+ »ç¿ëÇÑ´Ù. ServerName
+ Áö½Ã¾î´Â ¸®´ÙÀÌ·º¼Ç°ú °¡»óÈ£½ºÆ® ÀνĿ¡¸¸ »ç¿ëµÉ ¼¹ö¸í°ú
+ Æ÷Æ®¸¦ ÁöÁ¤ÇÑ´Ù.mod_sslmod_davmod_deflatemod_auth_ldapmod_ldap ¸ðµâÀº
+ ¿¬°áÇ®(connection pool)À» Á¦°øÇϰí, °á°ú¸¦ ij½ÌÇÑ´Ù.mod_auth_digestmod_charset_litemod_file_cachemod_mmap_static ±â´É¿¡ ´õ ³ªÀº ij½¬ ±â´ÉÀ»
+ Ãß°¡Çß´Ù.
- mod_headersmod_proxy°¡ »ç¿ëÇÏ´Â ¿äû Çì´õ¸¦ ¼öÁ¤ÇÒ
+ ¼ö ÀÖ°í, °æ¿ì¿¡ µû¶ó¼ ÀÀ´ä Çì´õ¸¦ ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù.mod_proxy<Proxy>
+ ¼³Á¤ ¼½¼ÇÀº ÇÁ·Ï½Ã ¼³Á¤À» ´õ ½±°Ô (±×¸®°í ³»ºÎÀûÀ¸·Î ´õ
+ ºü¸£°Ô) ¸¸µç´Ù. °ú°Å <Directory "proxy:...">
+ ¼³Á¤Àº ÀÌÁ¦ Áö¿øÇÏÁö ¾Ê´Â´Ù. ¸ðµâÀº proxy_connect,
+ proxy_ftp, proxy_http¿Í °°ÀÌ
Áö¿øÇÏ´Â ÇÁ·ÎÅäÄÝ º°·Î ³ª´²Á³´Ù.mod_negotiationForceLanguagePriority
+ Áö½Ã¾î´Â Ŭ¶óÀÌ¾ðÆ®°¡ NOT ACCEPTABLEÀ̳ª MULTIPLE CHOICES
+ ÀÀ´ä ´ë½Å ¸ðµç °æ¿ì ÇÑ ¹®¼¸¦ ¹ÞÀ½À» º¸ÀåÇÑ´Ù. Ãß°¡·Î
+ Çù»ó ¾Ë°í¸®Áò°ú MultiViews ¾Ë°í¸®ÁòÀÌ ´õ ÀϰüµÈ °á°ú¸¦
³»µµ·Ï ¼öÁ¤µÇ¾ú°í, ¹®¼ ³»¿ëÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ´Â »õ·Î¿î Çü½ÄÀÇ
type mapÀÌ Ãß°¡µÇ¾ú´Ù.mod_autoindexmod_includemod_includeÀÇ $0
+ ... $9 º¯¼ö·Î ¾òÀ» ¼ö ÀÖ´Ù.mod_auth_dbmAuthDBMType
Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¿©·¯ DBM·ù µ¥ÀÌÅͺ£À̽º¸¦ Áö¿øÇÑ´Ù.
-
-
-
-
-
-
+ Apache HTTP Server Version 2.1
+
¼³Á¤ÆÄÀÏ¿¡ ÀÖ´Â
+Áö½Ã¾î´Â ¼¹ö Àüü¿¡ Àû¿ëµÇ°Å³ª, ƯÁ¤ µð·ºÅ丮, ÆÄÀÏ, È£½ºÆ®,
+URL¿¡¸¸ Àû¿ëµÉ ¼ö ÀÖ´Ù. ÀÌ ¹®¼´Â ´Ù¸¥ Áö½Ã¾îÀÇ Àû¿ë¹üÀ§¸¦
+Á¦ÇÑÇϱâÀ§ÇØ ¼³Á¤ ¼½¼ÇÀ̳ª .htaccess ÆÄÀÏÀ»
+»ç¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
| °ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
|---|---|
¼½¼Ç¿¡´Â µÎ°¡Áö Á¾·ù°¡ ÀÖ´Ù. ´ëºÎºÐÀº ¸Å¿äû¸¶´Ù 󸮵ȴÙ.
+ÇØ´çÇÏ´Â ¿äû¿¡¸¸ ¾È¿¡ Æ÷ÇÔÇÑ Áö½Ã¾î¸¦ Àû¿ëÇÑ´Ù. ¹Ý´ë·Î, <IfDefine>°ú <IfModule>Àº ¼¹ö°¡
+½ÃÀÛÇÒ¶§¿Í ²¨Áú¶§¸¸ ó¸®ÇÑ´Ù. ½ÃÀÛÇÒ¶§ »óŰ¡ ÂüÀÌ¸é ¾È¿¡ ÀÖ´Â
+Áö½Ã¾î°¡ ¸ðµç ¿äû¿¡ Àû¿ëµÈ´Ù. ÂüÀÌ ¾Æ´Ï¸é ¾È¿¡ ÀÖ´Â Áö½Ã¾î´Â
+¹«½ÃÇÑ´Ù.
<IfDefine>
+Áö½Ã¾î´Â httpd ¸í·ÉÇà¿¡ ÀûÀýÇÑ ÆÄ¶ó¹ÌÅͰ¡ ÀÖ´Â
+°æ¿ì¿¡¸¸ ¾È¿¡ Æ÷ÇÔÇÑ Áö½Ã¾î¸¦ Àû¿ëÇÑ´Ù. ´ÙÀ½ ¼³Á¤À» ¿¹·Î µé¸é,
+¼¹ö¸¦ httpd -DClosedForNow·Î ½ÃÀÛÇÒ °æ¿ì¿¡¸¸
+¸ðµç ¿äûÀÌ ´Ù¸¥ »çÀÌÆ®·Î ¸®´ÙÀÌ·º¼ÇµÈ´Ù:
+<IfDefine ClosedForNow>
+Redirect / http://otherserver.example.com/
+</IfDefine>
+
<IfModule>
+Áö½Ã¾îµµ ƯÁ¤ ¸ðµâÀÌ ¼¹ö¿¡ Æ÷ÇÔµÈ °æ¿ì¿¡¸¸ ¾È¿¡ µç Áö½Ã¾î¸¦
+Àû¿ëÇÑ´Ù´Â Á¡À» Á¦¿ÜÇϰí´Â ¸Å¿ì ºñ½ÁÇÏ´Ù. ¸ðµâÀ» ¼¹ö¿¡ Á¤ÀûÀ¸·Î
+ÄÄÆÄÀÏÇϰųª µ¿ÀûÀ¸·Î ÄÄÆÄÀÏÇÑÈÄ ¼³Á¤ÆÄÀÏ ¾Õ¿¡ LoadModule ÁÙÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ
+Áö½Ã¾î´Â ƯÁ¤ ¸ðµâÀÇ ¼³Ä¡À¯¹«¿¡ µû¶ó ¼³Á¤ÆÄÀÏÀÌ ´Ù¸¦ Çʿ䰡
+ÀÖÀ»¶§¸¸ »ç¿ëÇØ¾ß ÇÑ´Ù. ¸ðµâÀÌ ¾ø´Â °æ¿ì À¯¿ëÇÑ ¿À·ù¹®ÀÌ ³ª¿ÀÁö¾ÊÀ»
+¼ö Àֱ⠶§¹®¿¡ ¾ðÁ¦³ª »ç¿ëÇÏ±æ ¿øÇÏ´Â Áö½Ã¾î¸¦ ¾È¿¡ µÎ¸é ¾ÈµÈ´Ù.
´ÙÀ½ ¿¹¿¡¼ mod_mime_magicÀÌ ÀÖÀ»¶§¸¸ MimeMagicFiles Áö½Ã¾î¸¦
+ó¸®ÇÑ´Ù.
+<IfModule mod_mime_magic.c>
+MimeMagicFile conf/magic
+</IfModule>
+
<IfDefine>°ú
+<IfModule>ÀÇ
+°Ë»ç ¾Õ¿¡ "!"À» ºÙ¿© Á¶°ÇÀ» ¿ªÀ¸·Î ÇÒ ¼ö ÀÖ´Ù. ¶Ç, ¿©·¯ ¼½¼ÇµéÀ»
+°ãÃļ »ç¿ëÇÏ¿© ´õ º¹ÀâÇÑ È¿°ú¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
°¡Àå ÀÚÁÖ »ç¿ëµÇ´Â ¼³Á¤ ¼½¼ÇÀº ÆÄÀϽýºÅÛ°ú À¥°ø°£(webspace)ÀÇ
+ƯÁ¤ Àå¼Ò¿¡ ´ëÇÑ ¼³Á¤À» º¯°æÇÏ´Â °ÍµéÀÌ´Ù. ¸ÕÀú ÀÌ µÑÀÇ Â÷À̸¦
+ÀÌÇØÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù. ÆÄÀϽýºÅÛÀº ¿î¿µÃ¼Á¦ ÀÔÀå¿¡¼ µð½ºÅ©¸¦
+º¸´Â °üÁ¡ÀÌ´Ù. ¿¹¸¦ µé¾î, ±âº»°ªÀ¸·Î ¾ÆÆÄÄ¡¸¦ ¼³Ä¡¸¦ Çϸé À¯´Ð½º
+ÆÄÀϽýºÅÛÀÇ °æ¿ì /usr/local/apache2, À©µµ¿ìÁî
+ÆÄÀϽýºÅÛÀÇ °æ¿ì "c:/Program Files/Apache
+Group/Apache2"¿¡ ¼³Ä¡µÈ´Ù. (¾ÆÆÄÄ¡´Â À©µµ¿ìÁî¿¡¼ Á¶Â÷
+Ç×»ó, ¿ª½½·¡½¬°¡ ¾Æ´Ñ, ½½·¡½¬¸¦ »ç¿ëÇÔÀ» ÁÖÀÇÇ϶ó.) ¹Ý´ë·Î
+À¥°ø°£Àº À¥¼¹ö°¡ Á¦°øÇϰí Ŭ¶óÀÌ¾ðÆ®°¡ º¸°ÔµÉ »çÀÌÆ®ÀÇ °üÁ¡ÀÌ´Ù.
+±×·¡¼ À¯´Ð½º¿¡¼ ±âº» ¾ÆÆÄÄ¡ ¼³Ä¡¸¦ ÇÑ °æ¿ì À¥°æ·ÎÀÇ °æ·Î
+/dir/Àº ÆÄÀϽýºÅÛ °æ·Î
+/usr/local/apache2/htdocs/dir/¿¡ ÇØ´çÇÑ´Ù. À¥°ø°£Àº
+µ¥ÀÌŸº£À̽º µî¿¡¼ µ¿ÀûÀ¸·Î »ý¼ºµÉ ¼ö Àֱ⶧¹®¿¡ ¹Ýµå½Ã
+ÆÄÀϽýºÅÛ¿¡ Á÷Á¢ ´ëÀÀµÉ ÇÊ¿ä´Â ¾ø´Ù.
<Directory>¿Í
+<Files> Áö½Ã¾î¿Í
+Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ´Â Áö½Ã¾î´Â ÆÄÀϽýºÅÛÀÇ Æ¯Á¤ ºÎºÐ¿¡ Áö½Ã¾î¸¦
+Àû¿ëÇÑ´Ù. <Directory> Áö½Ã¾î¿¡ Æ÷ÇÔµÈ Áö½Ã¾îµéÀº
+ÁöÁ¤ÇÑ ÆÄÀϽýºÅÛ µð·ºÅ丮¿Í ±× ÇÏÀ§ µð·ºÅ丮¿¡ Àû¿ëµÈ´Ù. .htaccess ÆÄÀÏÀ» »ç¿ëÇØµµ °á°ú´Â
+°°´Ù. ´ÙÀ½ ¼³Á¤À» ¿¹·Î µé¸é, µð·ºÅ丮 ¸ñ·Ï(index)ÀÌ
+/var/web/dir1 ÀÌÇÏ µð·ºÅ丮¿¡¼ µð·ºÅ丮 ¸ñ·Ï(index)ÀÌ
+°¡´ÉÇÏ´Ù.
+<Directory /var/web/dir1>
+Options +Indexes
+</Directory>
+
<Files> ¼½¼Ç¿¡ Æ÷ÇÔµÈ Áö½Ã¾îµéÀº ¾î¶²
+µð·ºÅ丮¿¡ ÀÖ´ÂÁö °ü°è¾øÀÌ ÁöÁ¤ÇÑ À̸§À» °¡Áø ÆÄÀÏ¿¡ Àû¿ëµÈ´Ù.
+¼³Á¤ÆÄÀÏÀÇ ÁÖ¼³Á¤ºÎºÐ¿¡ ÀÖ´Â ´ÙÀ½ ¼³Á¤À» ¿¹·Î µé¸é, Àå¼Ò¿Í
+°ü°è¾øÀÌ private.htmlÀ̶õ À̸§À» ÇÑ ÆÄÀÏÀÇ Á¢±ÙÀ»
+°ÅºÎÇÑ´Ù.
+<Files private.html>
+Order allow,deny
+Deny from all
+</Files>
+
ÆÄÀϽýºÅÛÀÇ Æ¯Á¤ ºÎºÐ¿¡ ÀÖ´Â ÆÄÀÏÀ» ÁöĪÇϱâÀ§ÇØ <Files>¿Í <Directory> ¼½¼ÇÀ» °°ÀÌ
+»ç¿ëÇÑ´Ù. ´ÙÀ½ ¼³Á¤À» ¿¹·Î µé¸é,
+/var/web/dir1/private.html,
+/var/web/dir1/subdir2/private.html,
+/var/web/dir1/subdir3/private.html °°ÀÌ
+/var/web/dir1/ µð·ºÅ丮 ¾Æ·¡¿¡ ÀÖ´Â À̸§ÀÌ
+private.htmlÀÎ ÆÄÀÏÀÇ Á¢±ÙÀ» °ÅºÎÇÑ´Ù.
+<Directory /var/web/dir1>
+<Files private.html>
+Order allow,deny
+Deny from all
+</Files>
+</Directory>
+
<Location>
+Áö½Ã¾î¿Í ÀÌ¿¡ ÇØ´çÇÏ´Â Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ´Â Áö½Ã¾î´Â ¹Ý´ë·Î
+ƯÁ¤ À¥°ø°£ÀÇ ¼³Á¤À» ¹Ù²Û´Ù. ´ÙÀ½ ¼³Á¤À» ¿¹·Î µé¸é, /privateÀ¸·Î
+½ÃÀÛÇÏ´Â URL-°æ·ÎÀÇ Á¢±ÙÀÌ °ÅºÎµÈ´Ù. ¿©±â¿¡´Â
+http://yoursite.example.com/private,
+http://yoursite.example.com/private123,
+http://yoursite.example.com/private/dir/file.html
+°°ÀÌ /private ¹®ÀÚ¿·Î ½ÃÀÛÇÏ´Â ¿äûÀÌ ÇØ´çµÈ´Ù.
+<Location /private>
+Order Allow,Deny
+Deny from all
+</Location>
+
<Location>
+Áö½Ã¾î´Â ÆÄÀϽýºÅÛ¿¡ ´ëÀÀÇÒ Çʿ䰡 ¾ø´Ù. ´ÙÀ½ ¿¹´Â ¾î¶»°Ô ƯÁ¤
+URLÀ» mod_status°¡ Á¦°øÇÏ´Â ¾ÆÆÄÄ¡ ³»ºÎ Çڵ鷯·Î
+´ëÀÀ½ÃŰ´ÂÁö¸¦ º¸¿©ÁØ´Ù. ÆÄÀϽýºÅÛ¿¡ server-status¶ó´Â
+ÆÄÀÏÀº ÇÊ¿ä¾ø´Ù.
+<Location /server-status>
+SetHandler server-status
+</Location>
+
<Directory>,
+<Files>,
+<Location>
+Áö½Ã¾î¿¡¼ C Ç¥ÁØ ÆÄÀ̺귯¸®ÀÇ fnmatch¿Í °°Àº
+½©¿¡¼ »ç¿ëÇÏ´Â ¿ÍÀϵåÄ«µå ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
+"*" ¹®ÀÚ´Â ¾î¶² ¹®ÀÚ¿ÀÌ¶óµµ ³ªÅ¸³»°í, "?" ¹®ÀÚ´Â ¾î¶² ¹®ÀÚ ÇѰ³¸¦
+³ªÅ¸³»¸ç, "[seq]"´Â seq Áß¿¡ ÇÑ ¹®ÀÚ¸¦ ³ªÅ¸³½´Ù.
+¾î¶² ¿ÍÀϵåÄ«µåµµ "/" ¹®ÀÚ¸¦ ³ªÅ¸³»Áö´Â ¸øÇÑ´Ù. ±×·¡¼ ÀÌ ¹®ÀÚ´Â
+Á÷Á¢ »ç¿ëÇØ¾ß ÇÑ´Ù.
´õ À¯¿¬ÇÑ ¼³Á¤ÀÌ ÇÊ¿äÇϸé perlȣȯ Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇÏ´Â <DirectoryMatch>, <FilesMatch>, <LocationMatch>¸¦ »ç¿ëÇÒ
+¼ö ÀÖ´Ù. ±×·¯³ª ¾Æ·¡ ¼³Á¤ÀÇ °áÇÕ¿¡ °üÇÑ Àý¿¡¼ Á¤±ÔÇ¥Çö½Ä ¼½¼ÇÀ»
+»ç¿ëÇϸé Áö½Ã¾î°¡ Àû¿ëµÇ´Â ¹æ¹ýÀÌ ¾î¶»°Ô º¯ÇÏ´ÂÁö »ìÆìºÁ¶ó.
¸ðµç »ç¿ëÀÚ µð·ºÅ丮 ¼³Á¤À» º¯°æÇÏ´Â ºñÁ¤±ÔÇ¥Çö½Ä ¿ÍÀϵåÄ«µå +¼½¼ÇÀº ´ÙÀ½°ú °°´Ù:
+ +
+<Directory /home/*/public_html>
+Options Indexes
+</Directory>
+
Á¤±ÔÇ¥Çö½Ä ¼½¼ÇÀ» »ç¿ëÇÏ¿© Çѹø¿¡ ¿©·¯ Á¾·ùÀÇ ±×¸²ÆÄÀÏ¿¡ +´ëÇÑ Á¢±ÙÀ» °ÅºÎÇÒ ¼ö ÀÖ´Ù:
+
+<FilesMatch \.(?i:gif|jpe?g|png)$>
+Order allow,deny
+Deny from all
+</FilesMatch>
+
ÆÄÀϽýºÅÛ ¼½¼Ç°ú À¥°ø°£ ¼½¼Ç Áß Çϳª¸¦ ¼±ÅÃÇÏ´Â °ÍÀº ½ÇÁ¦·Î
+¸Å¿ì ½±´Ù. ÆÄÀϽýºÅÛ¿¡ ÀÖ´Â °´Ã¼¿¡ Áö½Ã¾î¸¦ Àû¿ëÇÒ¶§´Â Ç×»ó
+<Directory>³ª
+<Files>¸¦
+»ç¿ëÇÑ´Ù. (µ¥ÀÌŸº£À̽º¿¡¼ »ý¼ºÇÑ À¥ÆäÀÌÁö¿Í °°ÀÌ) ÆÄÀϽýºÅÛ¿¡
+ÀÖÁö ¾Ê´Â °´Ã¼¿¡ Áö½Ã¾î¸¦ Àû¿ëÇÒ¶§´Â <Location>À» »ç¿ëÇÑ´Ù.
ÆÄÀϽýºÅÛ¿¡ ÀÖ´Â °´Ã¼ÀÇ Á¢±ÙÀ» Á¦ÇÑÇϱâÀ§ÇØ <Location>À» »ç¿ëÇϸé
+Àý´ë ¾ÈµÈ´Ù. ¿©·¯ ´Ù¸¥ À¥°ø°£ Àå¼Ò(URL)°¡ °°Àº ÆÄÀϽýºÅÛ Àå¼Ò¿¡
+´ëÀÀµÉ ¼ö ÀÖÀ¸¹Ç·Î, °É¾îµÐ Á¦ÇÑÀ» ¿ìȸÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù. ´ÙÀ½
+¼³Á¤ÀÇ ¿¹¸¦ »ìÆìº¸ÀÚ:
+<Location /dir/>
+Order allow,deny
+Deny from all
+</Location>
+
ÀÌ ¼³Á¤Àº http://yoursite.example.com/dir/À»
+¿äûÇÑ´Ù¸é Àß ÀÛµ¿ÇÑ´Ù. ±×·¯³ª ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê´Â ÆÄÀϽýºÅÛÀ»
+»ç¿ëÇÑ´Ù¸é ¾î¶»°ÔµÇ³ª?
+http://yoursite.example.com/DIR/À» ¿äûÇÏ¿© ½±°Ô
+Á¦ÇÑÀ» ¿ìȸÇÒ ¼ö ÀÖ´Ù. ¹Ý´ë·Î <Directory> Áö½Ã¾î´Â ¾î¶»°Ô ¿äûÇÏ¿´´ÂÁö
+°ü°è¾øÀÌ ±× Àå¼Ò¿¡¼ ¼ºñ½ºµÇ´Â ³»¿ë¿¡ Àû¿ëµÈ´Ù. (¿¹¿Ü´Â ÆÄÀϽýºÅÛ
+¸µÅ©¸¦ »ç¿ëÇÏ´Â °æ¿ì´Ù. ½Éº¼¸µÅ©¸¦ »ç¿ëÇÏ¿© ÇÑ µð·ºÅ丮¸¦
+ÆÄÀϽýºÅÛÀÇ ¿©·¯ Àå¼Ò¿¡ µÑ ¼ö ÀÖ´Ù. <Directory> Áö½Ã¾î´Â ½Éº¼¸µÅ©¸¦ µû¶ó°£´Ù.
+±×·¯¹Ç·Î ³ôÀº ¼öÁØÀÇ º¸¾ÈÀ» À§Çؼ´Â ÀûÀýÇÑ Options Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ½Éº¼¸µÅ©¸¦
+¹«½ÃÇØ¾ß ÇÑ´Ù.)
¾Æ¸¶µµ ´ç½ÅÀº ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏ´Â ÆÄÀϽýºÅÛÀ» »ç¿ëÇϹǷÎ
+ÀÌ·± ÀÏÀÌ ÀϾÁö ¾Ê´Â´Ù°í »ý°¢ÇÒÁöµµ ¸ð¸¥´Ù. ±×·¯³ª ´Ù¸¥
+¹æ¹ýÀ¸·Îµµ ¿©·¯ À¥°ø°£ À§Ä¡°¡ ÇÑ ÆÄÀϽýºÅÛ À§Ä¡¿¡ ´ëÀÀµÉ ¼ö
+ÀÖÀ½À» ±â¾ïÇ϶ó. ±×·¡¼ °¡´ÉÇϸé Ç×»ó ÆÄÀϽýºÅÛ ¼½¼ÇÀ» »ç¿ëÇØ¾ß
+ÇÑ´Ù. ±×·¯³ª ÀÌ ±ÔÄ¢¿¡ ¿¹¿Ü°¡ Çϳª ÀÖ´Ù. ¼³Á¤ Á¦ÇÑÀ»
+<Location /> ¼½¼Ç¿¡ µÎ¸é ÀÌ ¼½¼ÇÀÌ Æ¯Á¤
+URLÀÌ ¾Æ´Ñ ¸ðµç ¿äû¿¡ Àû¿ëµÇ¹Ç·Î ¿Ïº®ÇÏ°Ô ¾ÈÀüÇÏ´Ù.
<VirtualHost>
+¼½¼ÇÀº ƯÁ¤ È£½ºÆ®¿¡ Àû¿ëµÇ´Â Áö½Ã¾îµéÀ» Æ÷ÇÔÇÑ´Ù. ÀÌ´Â ÇÑ
+ÄÄÇ»ÅÍ¿¡¼ °¢°¢ ´Ù¸¥ ¼³Á¤À» »ç¿ëÇÑ ¿©·¯ È£½ºÆ®¸¦ ¼ºñ½ºÇÒ¶§
+À¯¿ëÇÏ´Ù. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â °¡»óÈ£½ºÆ® ¹®¼¸¦
+Âü°íÇ϶ó.
<Proxy>¿Í
+<ProxyMatch>
+¼½¼ÇÀº ÁöÁ¤ÇÑ URL¿¡ ´ëÇØ mod_proxy ÇÁ·Ï½Ã ¼¹ö¸¦
+°ÅÃÄ Á¢±ÙÇÏ´Â °æ¿ì¿¡¸¸ Àû¿ëµÈ´Ù. ´ÙÀ½ ¼³Á¤À» ¿¹·Î µé¸é, ÇÁ·Ï½Ã
+¼¹ö¸¦ ÅëÇØ cnn.com À¥»çÀÌÆ®¿¡ Á¢±ÙÇÒ ¼ö ¾ø´Ù.
+<Proxy http://cnn.com/*>
+Order allow,deny
+Deny from all
+</Proxy>
+
¾î¶² ¼³Á¤ ¼½¼Ç¾È¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â Áö½Ã¾î¸¦ ¾Ë·Á¸é Áö½Ã¾îÀÇ
+»ç¿ëÀå¼Ò¸¦ È®ÀÎÇ϶ó.
+<Directory>¿¡¼
+»ç¿ë°¡´ÉÇÑ Áö½Ã¾î´Â <DirectoryMatch>, <Files>, <FilesMatch>, <Location>, <LocationMatch>, <Proxy>, <ProxyMatch> ¼½¼Ç¿¡¼µµ »ç¿ë°¡´ÉÇÏ´Ù.
+±×·¯³ª, ¿¹¿Ü°¡ ÀÖ´Ù.
AllowOverride Áö½Ã¾î´Â
+<Directory>
+¼½¼Ç¿¡¼¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù.FollowSymLinks, SymLinksIfOwnerMatch,
+Options´Â <Directory> ¼½¼ÇÀ̳ª
+.htaccess ÆÄÀÏ¿¡¼¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù.Options Áö½Ã¾î´Â
+<Files>°ú
+<FilesMatch>
+¼½¼Ç¿¡¼ »ç¿ëÇÒ ¼ö ¾ø´Ù.¼³Á¤ ¼½¼ÇÀº ¸Å¿ì Ưº°ÇÑ ¹æ¹ýÀ¸·Î Àû¿ëµÈ´Ù. ÀÌ ¼ø¼°¡ ¼³Á¤ +Áö½Ã¾î¸¦ ÇØ¼®ÇÏ´Â ¹æ¹ý¿¡ Áß¿äÇÑ ¿µÇâÀ» Áֱ⶧¹®¿¡ ÀÌ ¹æ¹ýÀ» +ÀÌÇØÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù.
+ +°áÇÕÇÏ´Â ¼ø¼´Â:
+ +<Directory>¿Í .htaccess´Â µ¿½Ã¿¡
+ ÀϾ٠(°æ¿ì¿¡ µû¶ó .htaccessÀÌ <Directory>¸¦ ¹«½ÃÇϵµ·Ï ¼³Á¤ÇÒ
+ ¼ö ÀÖ´Ù)<DirectoryMatch> (±×¸®°í
+ <Directory ~>)<Files>¿Í <FilesMatch>´Â µ¿½Ã¿¡ ÀϾÙ<Location>°ú <LocationMatch>´Â µ¿½Ã¿¡ ÀϾÙ<Directory>¸¦ Á¦¿ÜÇÏ°í °¢ ¼½¼ÇµéÀ»
+ ¼³Á¤ÆÄÀÏ¿¡ ³ª¿Â ¼ø¼´ë·Î 󸮵ȴÙ. (À§ÀÇ ¼ø¼ 1) <Directory>´Â µð·ºÅ丮
+ ³»¿ëÀÌ °¡Àå ªÀº °Í¿¡¼ ±äÂÊÀ¸·Î 󸮵ȴÙ. ±×·¡¼ ¿¹¸¦ µé¾î,
+ <Directory /var/web/dir>À»
+ <Directory /var/web/dir/subdir> ÀÌÀü¿¡
+ ó¸®ÇÑ´Ù. °°Àº µð·ºÅ丮¸¦ ÁöĪÇÏ´Â ¿©·¯ <Directory> ¼½¼ÇÀÌ
+ ÀÖ´Ù¸é À̵éÀ» ¼³Á¤ÆÄÀÏ ¼ø¼´ë·Î ó¸®ÇÑ´Ù. Include Áö½Ã¾î·Î Æ÷ÇÔÇÑ ¼³Á¤Àº
+ Include Áö½Ã¾î À§Ä¡¿¡
+ Æ÷ÇÔÇÑ ÆÄÀÏ ³»¿ëÀÌ ÀÖ´Â °Íó·³ ó¸®ÇÑ´Ù.
<VirtualHost> ¼½¼Ç ¾È¿¡ Æ÷ÇÔµÈ ¼½¼ÇÀº
+ °¡»óÈ£½ºÆ® Á¤ÀÇ ¹Û¿¡ ÀÖ´Â ÇØ´ç ¼½¼Ç ÀÌÈÄ¿¡ Àû¿ëµÈ´Ù.
+ ±×·¡¼ °¡»óÈ£½ºÆ® ¾È¿¡¼ ÁÖ¼¹öÀÇ ¼³Á¤»çÇ×À» ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.
´ÙÀ½¿¡ ³ª¿À´Â ¼½¼ÇÀº ÀÌÀü ¼½¼ÇÀÇ °á°ú¸¦ ¼öÁ¤ÇÑ´Ù.
+ +<Location>/<LocationMatch>´Â
+ (Aliases¿Í DocumentRoot¸¦ »ç¿ëÇÏ¿©
+ URLÀ» ÆÄÀϸíÀ¸·Î º¯È¯ÇÏ´Â) À̸§¹ø¿ª ´Ü°è ÀÌÀü¿¡ 󸮵ȴÙ.
+ º¯¿ªÀÌ ³¡³ ÀÌÈÄ¿¡´Â ¿ÏÀüÈ÷ ¹«½ÃÇÑ´Ù.
+´ÙÀ½Àº °ãÇÕÇÏ´Â ¼ø¼¸¦ ¼³¸íÇÏ´Â ¿¹´Ù. ÀÌµé ¸ðµÎ ¿äû¿¡ +Àû¿ëµÈ´Ù°í °¡Á¤Çϸé Áö½Ã¾î´Â A > B > C > D > E +¼ø¼·Î 󸮵ȴÙ.
+ +
+<Location />
+E
+</Location>
+
+<Files f.html>
+D
+</Files>
+
+<VirtualHost *>
+<Directory /a/b>
+B
+</Directory>
+</VirtualHost>
+
+<DirectoryMatch "^.*b$">
+C
+</DirectoryMatch>
+
+<Directory /a/b>
+A
+</Directory>
+
+
´õ Çö½ÇÀûÀÎ ¿¹´Â ´ÙÀ½°ú °°´Ù. <Location> ¼½¼ÇÀ» ³ªÁß¿¡ ó¸®ÇϹǷÎ
+<Directory>
+¼½¼Ç¿¡ ÀÖ´Â Á¢±ÙÁ¦ÇѰú °ü°è¾øÀÌ ¼¹ö¿¡ ¹«Á¦ÇÑ Á¢±ÙÀ» °¡´ÉÇÏ´Ù.
+Áï, °áÇÕÇÏ´Â ¼ø¼´Â Áß¿äÇϹǷΠÁÖÀÇÇ϶ó!
+<Location />
+Order deny,allow
+Allow from all
+</Location>
+
+# ¾Ç! ÀÌ <Directory> ¼½¼ÇÀº ¾Æ¹«·± È¿°ú°¡ ¾ø´Ù
+<Directory />
+Order allow,deny
+Allow from all
+Deny from badguy.example.com
+</Directory>
+
Apache HTTP Server Version 2.1
+
ÀÌ ¹®¼´Â core ¼¹ö°¡ ¼¹öÀÇ ±âº» ÇൿÀ»
+¼³Á¤ÇϱâÀ§ÇØ Á¦°øÇÏ´Â Áö½Ã¾îÁß ÀϺθ¦ ¼³¸íÇÑ´Ù.
¼¹ö ½Äº°
ÆÄÀÏ À§Ä¡
ÀÚ¿ø»ç¿ë Á¦ÇÑ| °ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
|---|---|
ServerAdmin°ú
+ ServerTokens Áö½Ã¾î´Â
+ ¿À·ù¹® µî ¼¹ö°¡ »ý¼ºÇÏ´Â ¹®¼¿¡ ³ª¿Ã ¼¹ö¿¡ ´ëÇÑ Á¤º¸¸¦
+ ¼³Á¤ÇÑ´Ù. ServerTokens
+ Áö½Ã¾î´Â ¼¹ö HTTP ÀÀ´ä Çì´õ¸¦ ¼³Á¤ÇÑ´Ù.
¼¹ö´Â ServerName°ú
+ UseCanonicalName
+ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ÀÚ±âÂüÁ¶ URLÀ» ¸¸µç´Ù. ¿¹¸¦ µé¾î,
+ Ŭ¶óÀÌ¾ðÆ®°¡ µð·ºÅ丮¸¦ ¿äûÇßÁö¸¸ µð·ºÅ丮¸í µÚ¿¡ ½½·¡½¬¸¦
+ ºÙÀÌÁö¾ÊÀº °æ¿ì ¾ÆÆÄÄ¡´Â µÚ¿¡ ½½·¡½¬¸¦ ºÙÀÎ Àüü À̸§À»
+ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¸®´ÙÀÌ·ºÆ®ÇÏ¿©, Ŭ¶óÀÌ¾ðÆ®°¡ ¹®¼ÀÇ »ó´ëÂüÁ¶¸¦
+ ¿Ã¹Ù·Î ã°Ô ÇÑ´Ù.
| °ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
|---|---|
ÀÌ Áö½Ã¾îµéÀº ¾ÆÆÄÄ¡°¡ Á¤»óÀûÀ¸·Î µ¿ÀÛÇϱâÀ§ÇØ ÇÊ¿äÇÑ
+ ¿©·¯ ÆÄÀϵéÀÇ À§Ä¡¸¦ ¼³Á¤ÇÑ´Ù. °æ·Î¸íÀÌ ½½·¡½¬(/)·Î ½ÃÀÛÇÏÁö
+ ¾ÊÀ¸¸é, ServerRoot¿¡
+ »ó´ëÀûÀÎ ÆÄÀÏÀ» ã´Â´Ù. root°¡ ¾Æ´Ñ »ç¿ëÀÚ¿¡°Ô ¾²±â±ÇÇÑÀÌ
+ ÀÖ´Â °æ·Î¿¡ ÆÄÀÏÀ» µÎÁö¾Êµµ·Ï Á¶½ÉÇØ¶ó. ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â
+ º¸¾È ÆÁ
+ ¹®¼¸¦ Âü°íÇ϶ó.
| °ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
|---|---|
LimitRequest* Áö½Ã¾î´Â ¾ÆÆÄÄ¡°¡
+ Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ÀÐÀ» ¶§ »ç¿ëÇÒ ÀÚ¿ø·®À» Á¦ÇÑÇÑ´Ù. ÀÌ·±
+ °ªµéÀ» Á¦ÇÑÇÏ¿© ¼ºñ½º°ÅºÎ(denial of service)·ù °ø°ÝÀ»
+ ÁÙÀÏ ¼ö ÀÖ´Ù.
RLimit* Áö½Ã¾î´Â ¾ÆÆÄÄ¡ ÀÚ½ÄÀÌ
+ »ý¼ºÇÏ´Â ÇÁ·Î¼¼½º°¡ »ç¿ëÇÒ ÀÚ¿ø·®À» Á¦ÇÑÇÑ´Ù. ƯÈ÷ CGI
+ ½ºÅ©¸³Æ®³ª SSI exec ¸í·É¾î°¡ »ç¿ëÇÒ ÀÚ¿øÀ» Á¦ÇÑÇÑ´Ù.
ThreadStackSize
+ Áö½Ã¾î´Â ½ºÅà ũ±â¸¦ Á¶ÀýÇϱâÀ§ÇØ Netware¿¡¼¸¸ »ç¿ëÇÑ´Ù.
Apache HTTP Server Version 2.1
+
ÀÌ ÆäÀÌÁö´Â ÇöÀç +Apache HTTP Server Version 2.1 ¹®¼ ¸ñ·ÏÀ» +º¸¿©ÁØ´Ù.
+Apache HTTP Server Version 2.1
+
ÀÌ ¹®¼´Â À¯´Ð½º·ù ½Ã½ºÅÛ¿¡¼ ¾ÆÆÄÄ¡¸¦ Áß´ÜÇϰí Àç½ÃÀÛÇÏ´Â + ³»¿ëÀ» ´ã°íÀÖ´Ù. À©µµ¿ìÁî NT, 2000, XP »ç¿ëÀÚ´Â ¼ºñ½º·Î ¾ÆÆÄÄ¡ + ½ÇÇàÇϱ⿡¼, À©µµ¿ìÁî 9x¿Í ME »ç¿ëÀÚ´Â ÄÝ¼Ö ÇÁ·Î±×·¥À¸·Î + ¾ÆÆÄÄ¡ ½ÇÇàÇϱ⿡¼ Ç÷¡Æûº° ¾ÆÆÄÄ¡ Á¶ÀÛ¹ýÀ» ¾Ë ¼ö ÀÖ´Ù.
+¾ÆÆÄÄ¡¸¦ Áß´ÜÇϰí Àç½ÃÀÛÇÏ·Á¸é ½ÇÇàÇϰí ÀÖ´Â
+ httpd ÇÁ·Î¼¼½º¿¡ ½Ã±×³ÎÀ» º¸³»¾ß ÇÑ´Ù. ½Ã±×³ÎÀ»
+ º¸³»´Â ¹æ¹ýÀº µÎ°¡Áö´Ù. Çϳª´Â À¯´Ð½º kill
+ ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ÇÁ·Î¼¼½º¿¡ Á÷Á¢ ½Ã±×³ÎÀ» º¸³»´Â ¹æ¹ýÀÌ´Ù.
+ ½Ã½ºÅÛ¿¡ ¸¹Àº httpd°¡ ½ÇÇàµÇÁö¸¸, PidFile¿¡ pid°¡ ±â·ÏµÈ ºÎ¸ð¿Ü¿¡
+ ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ½Ã±×³Î(signal)À» º¸³»¸é ¾ÈµÈ´Ù. Áï, ºÎ¸ðÀ̿ܿ¡
+ ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ½Ã±×³ÎÀ» º¸³¾ Çʿ䰡 ¾ø´Ù´Â ¸»ÀÌ´Ù. ºÎ¸ð¿¡°Ô
+ º¸³¾ ¼ö ÀÖ´Â ½Ã±×³ÎÀº ¼¼°¡Áö·Î, ÀÌÁ¦ ¼³¸íÇÒ TERM, HUP, USR1ÀÌ´Ù.
´ÙÀ½°ú °°ÀÌ ºÎ¸ð¿¡°Ô ½Ã±×³ÎÀ» º¸³½´Ù:
+ +kill -TERM `cat /usr/local/apache2/logs/httpd.pid`
httpd ÇÁ·Î¼¼½º¿¡°Ô ½Ã±×³ÎÀ» º¸³»´Â ´Ù¸¥ ¹æ¹ýÀº
+ ¸í·ÉÇà ¿É¼Ç -k¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ¾Æ·¡¼ ¼³¸íÇÒ
+ stop, restart, graceful˼
+ httpd ½ÇÇàÆÄÀÏÀÇ ¾Æ±Ô¸ÕÆ®µéÀÌ´Ù.
+ ±×·¯³ª ÀÌ ¾Æ±Ô¸ÕÆ®µé·Î httpd¸¦ ½ÇÇàÇÏ´Â, apachectl ½ºÅ©¸³Æ®¸¦
+ »ç¿ëÇÏ±æ ±ÇÇÑ´Ù.
httpd¿¡ ½Ã±×³ÎÀ» º¸³½ÈÄ, ´ÙÀ½ ¸í·É¾î·Î
+ ÁøÇà»óȲÀ» ¾Ë ¼ö ÀÖ´Ù:
tail -f /usr/local/apache2/logs/error_log
À§ ¿¹¸¦ ´ç½ÅÀÇ ServerRoot¿Í PidFile ¼³Á¤¿¡ ¾Ë¸Â°Ô ¼öÁ¤Ç϶ó.
apachectl -k stopTERMÀ̳ª stop ½Ã±×³ÎÀ» ºÎ¸ð¿¡°Ô
+ º¸³»¸é Áï½Ã ¸ðµç ÀÚ½ÄÀ» Á×ÀδÙ. ÀÚ½ÄÀ» ¿ÏÀüÈ÷ Á×À̴µ¥´Â
+ ¸î Ãʰ¡ °É¸± ¼ö ÀÖ´Ù. ±×·±ÈÄ ºÎ¸ð°¡ Á¾·áÇÑ´Ù. ó¸®ÁßÀÎ ¿äûÀº
+ Áߴܵǰí, ´õ ÀÌ»ó ¿äûÀ» ¹ÞÁö¾Ê´Â´Ù.
apachectl -k gracefulUSR1À̳ª graceful ½Ã±×³ÎÀ»
+ ºÎ¸ð¿¡°Ô º¸³»¸é ºÎ¸ð ÇÁ·Î¼¼½º´Â Àڽĵ鿡°Ô ÇöÀç ¿äûÀ»
+ ó¸®ÇÑÈÄ Á¾·áÇ϶ó°í (ȤÀº ÇöÀç ¾Æ¹«°Íµµ ó¸®ÇÏÁö ¾Ê´Ù¸é
+ Áï½Ã Á¾·áÇ϶ó°í) Á¶¾ðÇÑ´Ù. ºÎ¸ð´Â ¼³Á¤ÆÄÀÏÀ»
+ ´Ù½ÃÀÐ°í ·Î±×ÆÄÀϵµ ´Ù½Ã ¿¬´Ù. ÀÚ½ÄÀÌ Á×À»¶§¸¶´Ù ºÎ¸ð´Â
+ Á×Àº ÀڽĴë½Å »õ·Î¿î ¼³Á¤ ¼¼´ë¿¡ ±âÃÊÇÑ ÀÚ½ÄÀ»
+ ½ÇÇàÇÏ¿© Áï½Ã ¿äûÀ» ó¸®ÇÏ°Ô ÇÑ´Ù.
USR1À»
+ »ç¿ëÇÒ ¼ö ¾ø´Â Ç÷¡Æû¿¡¼´Â ´ë½Å (WINCH¿Í °°Àº)
+ ´Ù¸¥ ½Ã±×³ÎÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. apachectl gracefulÀº
+ Ç÷¡Æû¿¡ ¾Ë¸ÂÀº ½Ã±×³ÎÀ» º¸³½´Ù.Á¡ÀÝÀº Àç½ÃÀÛÀº Ç×»ó MPMÀÇ ÇÁ·Î¼¼½º Á¶Àý Áö½Ã¾î ¼³Á¤À»
+ °í·ÁÇÏ¿©, Àç½ÃÀÛµ¿¾È Ŭ¶óÀÌ¾ðÆ®¸¦ ¼ºñ½ºÇÏ´Â ÇÁ·Î¼¼½º³ª ¾²·¹µå°¡
+ Àû´çÇÑ ¼ö¸¦ À¯ÁöÇϵµ·Ï ¼³°èµÇ¾ú´Ù. °Ô´Ù°¡ StartServers´Â, ÀÏÃÊ ÈÄ
+ ÃÖ¼ÒÇÑ StartServers¸¸Å »õ·Î¿î ÀÚ½ÄÀÌ ¾È¸¸µé¾îÁö¸é ÀÚ½ÄÀÌ
+ StartServers °³°¡ µÇµµ·Ï »õ·Î ¸¸µç´Ù. Áï, ÇÁ·Î±×·¥Àº ¼¹öÀÇ
+ ÇöÀç ºÎÇÏ¿¡ ¾Ë¸ÂÀº ÀÚ½ÄÀÇ °³¼ö¸¦ À¯ÁöÇϸç,
+ StartServers ÆÄ¶ó¹ÌÅÍ·Î ÁöÁ¤ÇÑ ´ç½ÅÀÇ
+ ±â´ë¸¦ Á¸ÁßÇÑ´Ù.
mod_status »ç¿ëÀÚ´Â USR1À»
+ ¹ÞÀ»¶§ ¼¹ö Åë°è°¡ 0ÀÌ µÇÁö ¾ÊÀ½À» ºÃÀ»
+ °ÍÀÌ´Ù. ¼¹ö´Â »õ·Î¿î ¿äûÀ» (¿î¿µÃ¼Á¦´Â À̵éÀ» Å¥¿¡ ´ã¾Æ¼
+ ¾î¶² °æ¿ì¿¡µµ ÀÒ¾î¹ö¸®Áö ¾Ê´Â´Ù) ó¸®ÇÏÁö ¸øÇÏ´Â ½Ã°£À»
+ ÃÖ¼ÒÈÇÏ°í ´ç½ÅÀÇ Æ©´× ÆÄ¶ó¹ÌÅ͸¦ Á¸ÁßÇϵµ·Ï ¸¸µé¾îÁ³´Ù.
+ À̸¦ À§ÇØ ¼¼´ë°£ ¸ðµç ÀÚ½ÄÀ» ±â·ÏÇÏ´Â scoreboard¸¦
+ À¯ÁöÇÑ´Ù.
status ¸ðµâÀº ¶ÇÇÑ Á¡ÀÝÀº Àç½ÃÀÛ Àü¿¡ ½ÃÀÛÇÏ¿© ¾ÆÁ÷µµ
+ ¿äûÀ» ó¸®Çϰí ÀÖ´Â ÀÚ½ÄÀ» G·Î ¾Ë·ÁÁØ´Ù.
ÇöÀç·Î´Â USR1À» »ç¿ëÇÏ´Â ·Î±×¼øÈ¯ ½ºÅ©¸³Æ®°¡
+ Àç½ÃÀÛÀü¿¡ ¸ðµç ÀÚ½ÄÀÌ ·Î±×ÀÛ¼ºÀ» ¸¶ÃÆ´ÂÁö ¾Ë ¼ö ÀÖ´Â
+ ¹æ¹ýÀÌ ¾ø´Ù. ¿ì¸®´Â USR1 ½Ã±×³ÎÀ» º¸³»°í
+ Àû´çÇÑ ½Ã°£ÀÌ Áö³ÈÄ ÀÌÀü ·Î±×¸¦ ´Ù·çµµ·Ï Á¦¾ÈÇÑ´Ù. ¿¹¸¦
+ µé¾î ³·Àº ´ë¿ªÆø »ç¿ëÀÚÀÇ °æ¿ì Á¢¼Ó ´ëºÎºÐÀÌ ¸¶Ä¡´Âµ¥ 10ºÐÀÌ
+ ¾È°É¸°´Ù¸é, ÀÌÀü ·Î±×¸¦ ´Ù·ç±âÀü¿¡ 15ºÐ ±â´Ù¸°´Ù.
-t ¸í·ÉÇà ¿É¼Ç(httpd Âü°í)À¸·Î ¼³Á¤ÆÄÀÏ
+ ¹®¹ýÀ» °Ë»çÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ÀÌ·± °Ë»çµµ ¼¹ö°¡ ¿Ã¹Ù·Î
+ Àç½ÃÀÛÇÒÁö¸¦ º¸ÀåÇÏÁö ¸øÇÑ´Ù. ¼³Á¤ÆÄÀÏÀÇ ¹®¹ýÀÌ ¾Æ´Ñ Àǹ̸¦
+ °Ë»çÇÏ·Á¸é root°¡ ¾Æ´Ñ »ç¿ëÀÚ·Î httpd¸¦ ½ÃÀÛÇØº¼ ¼ö ÀÖ´Ù.
+ root°¡ ¾Æ´Ï±â¶§¹®¿¡ (¾Æ´Ï¸é ÇöÀç ±× Æ÷Æ®¸¦ »ç¿ëÇÏ´Â
+ httpd°¡ ½ÇÇàµÇ±â¶§¹®¿¡) ¿À·ù°¡ ¾ø´Ù¸é ¼ÒÄϰú
+ ·Î±×ÆÄÀÏÀ» ¿·Á°í ½ÃµµÇÏ´Â °úÁ¤¿¡¼ ½ÇÆÐÇÒ °ÍÀÌ´Ù. ´Ù¸¥
+ ÀÌÀ¯¶§¹®¿¡ ½ÇÆÐÇÑ´Ù¸é ¾Æ¸¶µµ ¼³Á¤ÆÄÀÏ¿¡ ¿À·ù°¡ ÀÖÀ» °ÍÀÌ´Ù.
+ Á¡ÀÝÀº Àç½ÃÀÛÀ» ÇϱâÀü¿¡ ¿À·ù¸¦ °íÃľßÇÑ´Ù.apachectl -k restartHUPÀ̳ª restart ½Ã±×³ÎÀ»
+ ºÎ¸ð¿¡°Ô º¸³»¸é TERM°ú °°ÀÌ ¸ðµç ÀÚ½ÄÀ»
+ Á×ÀÌÁö¸¸ ºÎ¸ð´Â Á¾·áÇÏÁö ¾Ê´Â´Ù. ºÎ¸ð´Â ¼³Á¤ÆÄÀÏÀ» ´Ù½ÃÀаí
+ ·Î±×ÆÄÀÏÀ» ´Ù½Ã ¿¬´Ù. ±×¸®°í »õ·Î¿î ÀڽĵéÀ» ¸¸µé°í ¼ºñ½º¸¦
+ °è¼ÓÇÑ´Ù.
mod_status »ç¿ëÀÚ´Â HUP¸¦
+ º¸³»¸é ¼¹ö Åë°è°¡ 0ÀÌ µÊÀ» ¾Ë ¼ö ÀÖ´Ù.
Apache 1.2b9 ÀÌÀü¿¡´Â Àç½ÃÀÛ°ú Á¾·á ½Ã±×³Î¿¡ °ü°èµÈ + ·¹À̽º ÄÁµð¼Ç(race condition)ÀÌ ÀÖ¾ú´Ù. (·¹À̽º + ÄÁµð¼ÇÀº °£´ÜÇÑ ¼³¸íÇÏÀÚ¸é, ¾î¶² ÀÏÀÌ À߸øµÈ¶§ ÀϾ¼ + ±â´ëÇÑ´ë·Î µ¿ÀÛÇÏÁö ¾Ê´Â ½Ã°£¿¡ ¹Î°¨ÇÑ ¹®Á¦´Ù.) "¿Ã¹Ù¸¥" + ±â´ÉÀÌ ÀÖ´Â ¾ÆÅ°ÅØÃÄ¿¡¼ ¿ì¸®´Â ÀÌ·± ¹®Á¦¸¦ ÃÖ´ëÇÑ ÇØ°áÇß´Ù. + ±×·¯³ª ¾î¶² ¾ÆÅ°ÅØÃÄ¿¡´Â ¾ÆÁ÷µµ ·¹À̽º ÄÁµð¼ÇÀÌ Á¸ÀçÇÔÀ» + ÁÖÀÇÇ϶ó.
+ +ScoreBoardFileÀ»
+ µð½ºÅ©¿¡ ÀúÀåÇÏ´Â ¾ÆÅ°ÅØÃÄ´Â scoreboard¸¦ ¸Á°¡Æ®¸± °¡´É¼ºÀÌ
+ ÀÖ´Ù. ±×·¯¸é (HUPÈÄ) "bind: Address already in use"
+ ȤÀº (USR1 ÈÄ) "long lost child came home!"ÀÌ
+ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. ÀüÀÚ´Â ½É°¢ÇÑ ¿À·ùÀ̰í, ÈÄÀÚ´Â ´ÜÁö ¼¹ö°¡
+ scoreboard slotÀ» ÀÒ°Ô ¸¸µç´Ù. ±×·¡¼ °Á¦ Àç½ÃÀÛÀ» ÁÙÀ̰í
+ Á¡ÀÝÀº Àç½ÃÀÛÀ» »ç¿ëÇϱæ ÃßõÇÑ´Ù. ÀÌ ¹®Á¦´Â ÇØ°áÇϱ⠸ſì
+ Èûµé´Ù. ±×·¯³ª ´ÙÇàÈ÷µµ ´ëºÎºÐÀÇ ¾ÆÅ°ÅØÃÄ´Â scoreboard·Î ÆÄÀÏÀ»
+ »ç¿ëÇÏÁö ¾Ê´Â´Ù. ÆÄÀÏÀ» »ç¿ëÇÏ´Â ¾ÆÅ°ÅØÃĶó¸é ScoreBoardFile ¹®¼¸¦ Âü°íÇ϶ó.
¸ðµç ¾ÆÅ°ÅØÃÄ¿¡´Â Áö¼ÓµÇ´Â HTTP ¿¬°á (KeepAlive)¿¡¼ + µÎ¹øÂ° ÀÌÈÄ ¿äûÀ» ó¸®ÇÏ´Â ÀڽĿ¡ ¾à°£ÀÇ ·¹À̽º ÄÁµð¼ÇÀÌ + ÀÖ´Ù. ÀÚ½ÄÀº ¿äûÁÙÀ» ÀÐÀº ÈÄ ¿äû Çì´õ¸¦ ÀбâÀü¿¡ Á¾·áÇÒ ¼ö + ÀÖ´Ù. ÀÌ ¹®Á¦´Â ³Ê¹« ´Ê°Ô ¹ß°ßÇÏ¿© 1.2 ¹öÀüÀÌ ³ª¿ÂÈÄ¿¡¾ß + ¼öÁ¤µÇ¾ú´Ù. ±×·¯³ª ³×Æ®¿÷ Áö¿¬À̳ª ¼¹ö ½Ã°£Á¦ÇѶ§¹®¿¡ KeepAlive + Ŭ¶óÀÌ¾ðÆ®´Â ÀÌ·± °æ¿ì¸¦ ¿¹»óÇØ¾ßÇϱ⠶§¹®¿¡ ÀÌ·Ð»ó ¹®Á¦´Â + ¾ÈµÈ´Ù. ½ÇÁ¦·Î ¼¹ö¸¦ °Ë»çÇϱâÀ§ÇØ ÀÏÃÊ¿¡ 20¹ø Àç½ÃÀÛÇÏ´Â µ¿¾È + Ŭ¶óÀÌ¾ðÆ®°¡ ±úÁø ±×¸²À̳ª ºó ¹®¼¾øÀÌ »çÀÌÆ®¸¦ ¼º°øÀûÀ¸·Î + ÀоîµéÀÌ±æ ±â´ëÇÏÁö ¾Ê´Â´Ù¸é ¹®Á¦°¡ ¾ÈµÈ´Ù.
+Apache HTTP Server Version 2.1
+
suEXEC ±â´ÉÀº ¾ÆÆÄÄ¡°¡ CGI¿Í + SSI ÇÁ·Î±×·¥À» À¥¼¹ö¸¦ ½ÇÇàÇÑ »ç¿ëÀÚ ID°¡ + ¾Æ´Ñ ´Ù¸¥ »ç¿ëÀÚ ID·Î ½ÇÇàÇϵµ·Ï ÇÑ´Ù. º¸Åë CGI³ª SSI ÇÁ·Î±×·¥À» + ½ÇÇàÇϸé À¥¼¹ö¸¦ ½ÇÇàÇÑ »ç¿ëÀÚ¿Í °°Àº »ç¿ëÀÚ·Î ½ÇÇàÇÑ´Ù.
+ +ÀÌ ±â´ÉÀ» ÀûÀýÈ÷ »ç¿ëÇÏ¸é »ç¿ëÀÚ°¡ Á÷Á¢ CGI³ª SSI ÇÁ·Î±×·¥À» + °³¹ßÇÏ°í ½ÇÇàÇÒ¶§ ¹ß»ýÇÒ ¼ö ÀÖ´Â º¸¾ÈÀ§ÇèÀ» »ó´çÈ÷ ÁÙÀÏ + ¼ö ÀÖ´Ù. ±×·¯³ª suEXEC°¡ ºÎÀûÀýÇÏ°Ô ¼³Á¤µÇ¸é ¸¹Àº ¹®Á¦¿Í + ÄÄÇ»ÅÍ¿¡ »õ·Î¿î º¸¾È ÇãÁ¡À» ¸¸µé ¼ö ÀÖ´Ù. ¸¸¾à setuid root + ÇÁ·Î±×·¥°ú ÀÌ·± ÇÁ·Î±×·¥ÀÇ º¸¾È ¹®Á¦¿¡ »ý¼ÒÇÏ´Ù¸é suEXEC¸¦ + »ç¿ëÇÏÁö¾Ê±æ Áø½ÉÀ¸·Î ¹Ù¶õ´Ù.
+½ÃÀÛÇϱâ Àü¿¡ ¿ì¼± ¾ÆÆÄÄ¡±×·ì°ú ÀÌ ¹®¼ÀÇ °¡Á¤À» ¹àÈù´Ù.
+ +¸ÕÀú setuid¿Í setgid + ±â´ÉÀÌ °¡´ÉÇÑ À¯´Ð½º·ù ¿î¿µÃ¼Á¦¸¦ »ç¿ëÇÑ´Ù°í °¡Á¤ÇÑ´Ù. ¸ðµç + ¸í·É¾î ¿¹µéµµ °°Àº °¡Á¤À» ÇÑ´Ù. suEXEC¸¦ Áö¿øÇÏ´Â ´Ù¸¥ Ç÷¡ÆûÀ» + »ç¿ëÇÏ´Ù¸é ¼³Á¤ÀÌ ´Ù¸¦ ¼ö ÀÖ´Ù.
+ +µÎ¹øÂ°, ´ç½ÅÀÌ ÄÄÇ»ÅÍ º¸¾ÈÀÇ ±âº» °³³ä°ú °ü¸®¿¡ Àͼ÷ÇÏ´Ù°í + °¡Á¤ÇÑ´Ù. ¿©±â¿¡´Â setuid/setgid ±â´É°ú + À̵éÀÌ ½Ã½ºÅÛ°ú º¸¾È¿¡ ¹ÌÄ¡´Â ¿©·¯ ¿µÇâ¿¡ ´ëÇÑ ÀÌÇØ°¡ Æ÷ÇԵȴÙ.
+ +¼¼¹øÂ°, suEXEC ÄÚµåÀÇ ¼öÁ¤ÇÏÁö¾ÊÀº + ¹öÀüÀ» »ç¿ëÇÑ´Ù°í °¡Á¤ÇÑ´Ù. °³¹ßÀÚ¿Í ¿©·¯ º£Å¸Å×½ºÅ͵éÀº + suEXEC¿Í °ü·ÃµÈ ¸ðµç Äڵ带 Á¶½É½º·´°Ô Á¶»çÇÏ°í °Ë»çÇß´Ù. + Äڵ带 °£´ÜÇÏ°Ô Çϰí È®½ÇÇÑ ¾ÈÀüÀ» º¸ÀåÇϱâÀ§ÇØ ¸ðµç ÁÖÀǸ¦ + ±â¿ï¿´´Ù. ÀÌ Äڵ带 ¼öÁ¤ÇÏ¸é ¿¹»óÄ¡¸øÇÑ ¹®Á¦¿Í »õ·Î¿î º¸¾È + À§ÇèÀÌ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. º¸¾È ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇØ ¸Å¿ì Àß ¾Ë°í + Äڵ带 »ìÆìº¸±âÀ§ÇØ ¾ÆÆÄÄ¡±×·ì°ú ÀÛ¾÷À» °øÀ¯ÇÒ Àǻ簡 ¾ø´Ù¸é + suEXEC Äڵ带 ¼öÁ¤ÇÏÁö¾Ê±æ °·ÂÈ÷ ±ÇÇÑ´Ù.
+ +³×¹øÂ°ÀÌÀÚ ¸¶Áö¸·À¸·Î, ¾ÆÆÄÄ¡±×·ìÀº suEXEC¸¦ ¾ÆÆÄÄ¡ + ±âº»¼³Ä¡¿¡ Æ÷ÇÔÇÏÁö ¾Ê±â·Î °áÁ¤Çß´Ù. °á±¹ + °ü¸®ÀÚ°¡ ÁÖÀǸ¦ ±â¿ï¿©¼ suEXEC¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. suEXECÀÇ + ¿©·¯ ¼³Á¤À» Àß °í·ÁÇÑÈÄ °ü¸®ÀÚ´Â ÀϹÝÀûÀÎ ¼³Ä¡¹æ¹ýÀ» suEXEC¸¦ + ¼³Ä¡ÇÒ ¼ö ÀÖ´Ù. suEXEC ±â´ÉÀ» »ç¿ëÇÏ´Â ½Ã½ºÅÛÀÇ º¸¾ÈÀ» Ã¥ÀÓÁö´Â + °ü¸®ÀÚ´Â ÀÌ ¼³Á¤°ªµéÀ» ÁÖÀÇÀÖ°Ô »ìÆìº¸°í ÁöÁ¤ÇØ¾ß ÇÑ´Ù. + ÀÌ·± »ó¼¼ÇÑ °úÁ¤Àº suEXEC¸¦ »ç¿ëÇÒ¸¸Å ÁÖÀÇÀÖ°í ´ÜÈ£ÇÑ + »ç¶÷¸¸ÀÌ suEXEC¸¦ »ç¿ëÇϵµ·Ï ¾ÆÆÄÄ¡±×·ìÀÌ ¿øÇϱ⠶§¹®ÀÌ´Ù.
+ +¾ÆÁ÷µµ »ç¿ëÇÏ±æ ¿øÇϴ°¡? ±×·±°¡? ÁÁ´Ù. ÀÌÁ¦ ½ÃÀÛÇÏÀÚ!
+suEXEC¸¦ ±¸¼ºÇÏ°í ¼³Ä¡Çϱâ Àü¿¡ ¿ì¸®´Â º¸¾È¸ðµ¨À» ¸ÕÀú + ¼³¸íÇÑ´Ù. À̸¦ ÅëÇØ Á¤È®È÷ suEXEC ¾È¿¡¼´Â ¹«½¼ ÀÏÀÌ ÀϾ¸ç + ½Ã½ºÅÛÀÇ º¸¾ÈÀ» À§ÇØ ¹«¾ùÀ» Á¶½ÉÇØ¾ß ÇÒÁö ´õ Àß ÀÌÇØÇÒ ¼ö + ÀÖ´Ù.
+ +suEXEC´Â ¾ÆÆÄÄ¡ À¥¼¹ö°¡ ºÎ¸£´Â setuid + "wrapper" ÇÁ·Î±×·¥À» ±â¹ÝÀ¸·Î ÇÑ´Ù. ÀÌ wrapper´Â °ü¸®ÀÚ°¡ + ÁÖ¼¹ö¿Í ´Ù¸¥ userid·Î ½ÇÇàÇϵµ·Ï ¼³Á¤ÇÑ CGI³ª SSI ÇÁ·Î±×·¥¿¡ + HTTP ¿äûÀÌ ¿À¸é ºÒ¸°´Ù. ÀÌ·± ¿äûÀÌ ¿À¸é ¾ÆÆÄÄ¡´Â suEXEC + wrapper¿¡°Ô ÇÁ·Î±×·¥¸í°ú ÇÁ·Î±×·¥À» ½ÇÇàÇÒ »ç¿ëÀÚ¿Í ±×·ì + ID¸¦ Á¦°øÇÑ´Ù.
+ +±×·¯¸é wrapper´Â ´ÙÀ½ °úÁ¤À» ÅëÇØ ¼º°ø°ú ½ÇÆÐ¸¦ °áÁ¤ÇÑ´Ù. + ÀÌ Á¶°ÇÁß Çϳª¶óµµ ½ÇÆÐÇϸé ÇÁ·Î±×·¥Àº ½ÇÆÐ·Î ±â·ÏµÇ°í ¿À·ù¸¦ + ³»¸ç Á¾·áÇÑ´Ù. ½ÇÆÐÇÏÁö ¾ÊÀ¸¸é °úÁ¤À» °è¼ÓÇÑ´Ù:
+ ++ wrapper´Â ÀûÀýÇÑ ¼öÀÇ ¾Æ±Ô¸ÕÆ®°¡ ÀÖ¾î¾ß¸¸ ½ÇÇàµÈ´Ù. + ¾ÆÆÄÄ¡ À¥¼¹ö°¡ ÀÌ °³¼ö¸¦ ¾È´Ù. wrapper°¡ ÀûÀýÇÑ ¼öÀÇ + ¾Æ±Ô¸ÕÆ®¸¦ ¹ÞÁö¸øÇϸé ÇØÅ·µÇ¾ú°Å³ª ¾ÆÆÄÄ¡ÀÇ suEXEC¿¡ + ¹º°¡ ¹®Á¦°¡ ÀÖ´Â °ÍÀÌ´Ù. +
++ wrapper¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚ°¡ ½ÇÁ¦·Î ½Ã½ºÅÛÀÇ »ç¿ëÀÚÀÎÁö + È®ÀÎÇÑ´Ù. +
++ ÀÌ »ç¿ëÀÚ°¡ wrapper¸¦ ½ÇÇàÇϵµ·Ï Çã¿ëµÇ¾ú³ª? ¿ÀÁ÷ + ÇÑ »ç¿ëÀÚ(¾ÆÆÄÄ¡ »ç¿ëÀÚ)¸¸ÀÌ ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÒ + ¼ö ÀÖ´Ù. +
++ ÁöÁ¤ÇÑ ÇÁ·Î±×·¥ÀÌ '/'·Î ½ÃÀÛÇϰųª µÞÂüÁ¶ '..'À» °¡Áö´Â°¡? + À̵éÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. ÁöÁ¤ÇÑ ÇÁ·Î±×·¥Àº ¾ÆÆÄÄ¡ À¥°ø°£³»¿¡ + ÀÖ¾î¾ß ÇÑ´Ù. +
++ ÁöÁ¤ÇÑ »ç¿ëÀÚ°¡ Á¸ÀçÇϴ°¡? +
++ ÁöÁ¤ÇÑ ±×·ìÀÌ Á¸ÀçÇϴ°¡? +
++ ÇöÀç suEXEC´Â 'root'°¡ CGI/SSI ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö + ¾øµµ·Ï ÇÑ´Ù. +
++ ¼³Á¤¿¡¼ ÃÖ¼Ò »ç¿ëÀÚ ID ¼ýÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. ±×·¡¼ CGI/SSI + ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖ´Â useridÀÇ ÃÖ¼ÒÄ¡¸¦ ÁöÁ¤ÇÒ + ¼ö ÀÖ´Ù. "½Ã½ºÅÛ¿ë" °èÁ¤À» Á¦¿ÜÇÒ¶§ À¯¿ëÇÏ´Ù. +
++ ÇöÀç suEXEC´Â 'root' ±×·ìÀÌ CGI/SSI ÇÁ·Î±×·¥À» ½ÇÇàÇÒ + ¼ö ¾øµµ·Ï ÇÑ´Ù. +
++ ¼³Á¤¿¡¼ ÃÖ¼Ò ±×·ì ID ¼ýÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. ±×·¡¼ CGI/SSI + ÇÁ·Î±×·¥À» ½ÇÇàÇÒ ¼ö ÀÖ´Â groupidÀÇ ÃÖ¼ÒÄ¡¸¦ ÁöÁ¤ÇÒ + ¼ö ÀÖ´Ù. "½Ã½ºÅÛ¿ë" ±×·ìÀ» Á¦¿ÜÇÒ¶§ À¯¿ëÇÏ´Ù. +
++ ÀÌ ´Ü°è¿¡¼ ÇÁ·Î±×·¥Àº setuid¿Í setgid È£ÃâÀ» ÇÏ¿© + ÁöÁ¤ÇÑ »ç¿ëÀÚ¿Í ±×·ìÀÌ µÈ´Ù. ¶Ç, ±×·ì Á¢±Ù¸ñ·ÏÀº + »ç¿ëÀÚ°¡ ÇØ´çµÈ ¸ðµç ±×·ìÀ¸·Î ÃʱâȵȴÙ. +
++ Á¸ÀçÇÏÁö ¾Ê´Ù¸é ÆÄÀÏÀÌ ÀÖÀ» ¼ö ¾ø´Ù. +
++ ¼¹öÀÇ ÀϹÝÀûÀÎ ºÎºÐÀ» ¿äûÇÒ °æ¿ì ¿äûÇÏ´Â µð·ºÅ丮°¡ + ¼¹öÀÇ ¹®¼ root ¾Æ·¡ Àִ°¡? UserDirÀ» ¿äûÇÒ °æ¿ì + ¿äûÇÏ´Â µð·ºÅ丮°¡ »ç¿ëÀÚ ¹®¼ root ¾Æ·¡ Àִ°¡? +
++ µð·ºÅ丮¸¦ ´Ù¸¥ »ç¶÷¿¡°Ô ¿¾îµÎ±æ ¿øÇÏÁö¾Ê´Â´Ù. ¿ÀÁ÷ + ¼ÒÀ¯ÀÚ¸¸ÀÌ µð·ºÅ丮 ³»¿ëÀ» º¯°æÇÒ ¼ö ÀÖ´Ù. +
++ Á¸ÀçÇÏÁö¾Ê´Ù¸é ½ÇÇàÇÒ ¼öµµ ¾ø´Ù. +
++ ¼ÒÀ¯ÀÚ¿Ü ´©±¸µµ ÇÁ·Î±×·¥À» º¯°æÇÏ±æ ¿øÇÏÁö¾Ê´Â´Ù. +
++ ¿ì¸®´Â ÇÁ·Î±×·¥ÀÌ ´Ù½Ã UID/GID¸¦ º¯°æÇÏ±æ ¿øÇÏÁö¾Ê´Â´Ù. +
++ »ç¿ëÀÚ°¡ ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚÀΰ¡? +
++ suEXEC´Â (¼³Á¤¿¡¼ Á¤ÀÇÇÑ) ¾ÈÀüÇÑ ½ÇÇà PATH¸¦ Àâ°í, + (À̰͵µ ¼³Á¤¿¡¼ Á¤ÀÇ) ¾ÈÀüÇÑ È¯°æº¯¼ö ¸ñ·Ï¿¡ ¿°ÅµÈ + º¯¼ö¸¸ ³²±â°í ÇÁ·Î¼¼½ºÀÇ È¯°æº¯¼ö¸¦ Áö¿î´Ù. +
++ ¿©±â¼ suEXEC°¡ ³¡³ª°í ÁöÁ¤ÇÑ ÇÁ·Î±×·¥ÀÌ ½ÃÀÛÇÑ´Ù. +
+À̰ÍÀÌ suEXEC wrapper º¸¾È¸ðµ¨ÀÇ Ç¥ÁØ µ¿ÀÛÀÌ´Ù. ´Ù¼Ò + ¾ö°ÝÇϰí CGI/SSI ¼³°è¿¡ »õ·Î¿î Á¦ÇÑÀÌ µÇÁö¸¸, º¸¾ÈÀ» ¿°µÎ¿¡ + µÎ°í ÇѴܰ辿 Á¶½É½º·´°Ô ¸¸µé¾îÁ³´Ù.
+ +ÀÌ º¸¾È ¸ðµ¨ÀÌ ¼¹ö ¼³Á¤¿¡ ¾î¶² Á¦ÇÑÀ» ÁÖ´ÂÁö¿Í ÀûÀýÇÑ + suEXEC ¼³Á¤À¸·Î ¾î¶² º¸¾È À§ÇèÀ» ÇÇÇÒ ¼ö ÀÖ´ÂÁö¿¡ ´ëÇØ ÀÌ + ¹®¼ÀÇ "´Ù½Ã Çѹø Á¶½ÉÇ϶ó" ÀýÀ» + Âü°íÇ϶ó.
+ÀÌÁ¦ Àç¹ÌÀÖ´Â ³»¿ëÀÌ ½ÃÀÛÇÑ´Ù.
+ +suEXEC ±¸¼º ¿É¼Ç
+
--enable-suexec--with-suexec-bin=PATH--with-suexec-bin=/usr/sbin/suexec--with-suexec-caller=UID--with-suexec-userdir=DIR--with-suexec-docroot=DIR--datadir=/home/apache"·Î ±¸¼ºÇß´Ù¸é suEXEC
+ wrapper´Â document root·Î "/home/apache/htdocs" µð·ºÅ丮¸¦
+ »ç¿ëÇÑ´Ù.--with-suexec-uidmin=UID--with-suexec-gidmin=GID--with-suexec-logfile=FILE--with-suexec-safepath=PATHsuEXEC ±¸¼ºÀ» Á¡°ËÇ϶ó
+ suEXEC wrapper¸¦ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡Çϱâ Àü¿¡ --layout ¿É¼ÇÀ»
+ »ç¿ëÇÏ¿© ¼³Á¤À» Á¡°ËÇÒ ¼ö ÀÖ´Ù.
+ Ãâ·Â¿¹:
+ suEXEC setup:
+ suexec binary: /usr/local/apache/sbin/suexec
+ document root: /usr/local/apache/share/htdocs
+ userdir suffix: public_html
+ logfile: /usr/local/apache/var/log/suexec_log
+ safe path: /usr/local/bin:/usr/bin:/bin
+ caller ID: www
+ minimum user ID: 100
+ minimum group ID: 100
+
suEXEC wrapper¸¦ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡Çϱâ
+ --enable-suexec ¿É¼ÇÀ¸·Î suEXEC ±â´ÉÀ» °¡´ÉÇϰÔÇÑ °æ¿ì
+ "make" ¸í·É¾î¸¦ ½ÇÇàÇϸé suexec ½ÇÇàÆÄÀÏÀÌ (¾ÆÆÄÄ¡¿Í ÇÔ²²)
+ ÀÚµ¿À¸·Î ¸¸µé¾îÁø´Ù.
+ ¸ðµç°ÍÀ» ÄÄÆÄÀÏÇÑ ÈÄ "make install" ¸í·É¾î¸¦ ½ÇÇàÇÏ¿© ¼³Ä¡ÇÒ
+ ¼ö ÀÖ´Ù. ¹ÙÀ̳ʸ®ÆÄÀÏ "suexec"´Â --sbindir ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÑ
+ µð·ºÅ丮¿¡ ¼³Ä¡µÈ´Ù. ±âº» À§Ä¡´Â
+ "/usr/local/apache/sbin/suexec"ÀÌ´Ù.
+ ¼³Ä¡ °úÁ¤¿¡ root ±ÇÇÑÀÌ ÇÊ¿äÇÔÀ»
+ ÁÖÀÇÇ϶ó. wrapper°¡ »ç¿ëÀÚ ID¸¦ ¼³Á¤ÇϱâÀ§Çؼ´Â ¼ÒÀ¯ÀÚ°¡
+ rootÀÌ°í ÆÄÀϸðµå·Î setuserid ½ÇÇàºñÆ®°¡
+ ¼³Á¤µÇ¾ß ÇÑ´Ù.
¾ÆÆÄÄ¡´Â ½ÃÀÛÇÒ¶§ "sbin" µð·ºÅ丮¿¡¼ "suexec" ÆÄÀÏÀ» + (±âº»°ª "/usr/local/apache/sbin/suexec") ã´Â´Ù. ¾ÆÆÄÄ¡°¡ + Á¤»óÀûÀ¸·Î ±¸¼ºµÈ suEXEC wrapper¸¦ ¹ß°ßÇϸé error log¿¡ + ´ÙÀ½°ú °°ÀÌ Ãâ·ÂÇÑ´Ù:
+
+ [notice] suEXEC mechanism enabled (wrapper: /path/to/suexec)
+
¼¹ö ½ÃÀÛÁß¿¡ ÀÌ·± ¹®±¸¸¦ ¾ø´Ù¸é ¼¹ö´Â ±â´ëÇÑ Àå¼Ò¿¡¼ + wrapper ÇÁ·Î±×·¥À» ãÁö ¸øÇ߰ųª, ½ÇÇàÆÄÀÏÀÌ setuid + root·Î ¼³Ä¡µÇÁö¾Ê¾Ò±â ¶§¹®ÀÏ °ÍÀÌ´Ù.
+ +óÀ½À¸·Î suEXEC ±â´ÉÀ» »ç¿ëÇÏ°í ½Í°í ÀÌ¹Ì ¾ÆÆÄÄ¡ ¼¹ö°¡ + ½ÇÇàÁßÀ̶ó¸é, ¾ÆÆÄÄ¡¸¦ Á×ÀÌ°í ´Ù½Ã ½ÃÀÛÇØ¾ß ÇÑ´Ù. °£´ÜÈ÷ + HUPÀ̳ª USR1 ½Ã±×³Î·Î Àç½ÃÀÛÇÏ´Â °ÍÀ¸·Î´Â ÃæºÐÇÏÁö ¾Ê´Ù.
+suEXEC¸¦ ¾È»ç¿ëÇÏ·Á¸é "suexec" ÆÄÀÏÀ» Áö¿îÈÄ ¾ÆÆÄÄ¡¸¦ + Á×À̰í Àç½ÃÀÛÇØ¾ß ÇÑ´Ù.
+°¡»óÈ£½ºÆ®:
suEXEC wrapper¸¦
+ »ç¿ëÇÏ´Â ÇѰ¡Áö ¹æ¹ýÀº VirtualHost Á¤ÀÇ¿¡ SuexecUserGroup Áö½Ã¾î¸¦
+ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ÀÌ Áö½Ã¾î¸¦ ÁÖ¼¹ö »ç¿ëÀÚ ID¿Í ´Ù¸£°Ô
+ ¼³Á¤Çϸé CGI ÀÚ¿øÀÇ ¸ðµç ¿äûÀÌ <VirtualHost>¿¡¼
+ ÁöÁ¤ÇÑ User¿Í GroupÀ¸·Î ½ÇÇàµÈ´Ù. ÀÌ
+ Áö½Ã¾îµéÀÌ <VirtualHost>¿¡ ¾øÀ¸¸é ÁÖ¼¹ö
+ userid¸¦ »ç¿ëÇÑ´Ù.
»ç¿ëÀÚ µð·ºÅ丮:
+ suEXEC wrapper´Â CGI ÇÁ·Î±×·¥À» ¿äûÀ» ¹ÞÀº »ç¿ëÀÚ°¡ ½ÇÇàÇϵµ·Ï
+ ÇÒ ¼ö ÀÖ´Ù. À̸¦ À§ÇØ ½ÇÇàÇÏ±æ ¿øÇÏ´Â »ç¿ëÀÚ ID ¾Õ¿¡
+ "~" ¹®ÀÚ¸¦ ºÙÀÌ¸é µÈ´Ù. ½ÇÇàÀ»
+ À§ÇØ ÇØ´ç »ç¿ëÀÚ´Â CGI¸¦ ½ÇÇàÇÒ ¼ö ÀÖ¾î¾ß Çϰí, ½ºÅ©¸³Æ®°¡
+ À§ÀÇ º¸¾È °Ë»ç Ç׸ñÀ» ¸¸Á·ÇØ¾ß ÇÑ´Ù.
suEXEC wrapper´Â ·Î±× Á¤º¸¸¦ À§¿¡¼ ´Ù·é --with-suexec-logfile + ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÑ ÆÄÀÏ¿¡ ¾´´Ù. wrapper¸¦ ¿Ã¹Ù·Î ±¸¼ºÇÏ°í ¼³Ä¡Çß´Ù¸é + ¾îµð¼ À߸øµÇ¾ú´ÂÁö ÀÌ ·Î±×ÆÄÀÏ¿Í ¼¹öÀÇ error_log¸¦ »ìÆìºÁ¶ó.
+ +ÁÖÀÇ! ÀÌ ¼½¼ÇÀº ¿ÏÀüÇÏÁö ¾ÊÀ» ¼ö ÀÖ´Ù. + ¾ÆÆÄÄ¡±×·ìÀÇ ¿Â¶óÀÎ + ¹®¼¿¡¼ ÀÌ ¹®¼ÀÇ ÃֽůÇÀ» Âü°íÇ϶ó.
+ +wrapper°¡ ¼¹ö ¼³Á¤À» Á¦¾àÇÏ´Â ¸î°¡Áö Èï¹Ì·Î¿î Á¡ÀÌ ÀÖ´Ù. + suEXEC¿Í °ü·ÃµÈ "¹ö±×"¸¦ º¸°íÇϱâ Àü¿¡ À̵éÀ» »ìÆìº¸±æ ¹Ù¶õ´Ù.
+ ++ º¸¾È°ú È¿À²¼ºÀ» À§ÇØ ¸ðµç suexec ¿äûÀº °¡»óÈ£½ºÆ®ÀÇ + °æ¿ì ÃÖ»óÀ§ document root ȤÀº userdir ¿äûÀÇ °æ¿ì + ÃÖ»óÀ§ °³ÀÎ document root ¾È¿¡¼ ¹ß»ýÇØ¾ß ÇÑ´Ù. ¿¹¸¦ + µé¾î, °¡»óÈ£½ºÆ® ³×°³¸¦ ¼³Á¤Çß´Ù¸é °¡»óÈ£½ºÆ®¿¡¼ + suEXEC¸¦ ÀÌ¿ëÇϱâÀ§ÇØ °¡»óÈ£½ºÆ®ÀÇ document root¸¦ + ÁÖ ¾ÆÆÄÄ¡ ¹®¼ °èÃþ±¸Á¶ ¹Û¿¡ ¼³Á¤ÇÒ Çʿ䰡 ÀÖ´Ù. + (¿¹Á¦´Â ´ÙÀ½¿¡.) +
++ º¯°æÇϸé À§ÇèÇÒ ¼ö ÀÖ´Ù. ¿©±â¿¡ Æ÷ÇÔÇÏ´Â ¸ðµç °æ·Î°¡ + ¹ÏÀ» ¼ö ÀÖ´Â µð·ºÅ丮ÀÎÁö È®ÀÎÇ϶ó. + ÀÌ Áö±¸»óÀÇ ´©±º°¡°¡ ±×°÷¿¡ ÀÖ´Â Æ®·ÎÀ̸ñ¸¶¸¦ ½ÇÇàÇϱæ + ¿øÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. +
++ ¹Ýº¹Çؼ ¸»ÇÏÁö¸¸, ´ç½ÅÀÌ ¹«¾ùÀ» ÇÏ´ÂÁö ¸ð¸£°í ½ÃµµÇÑ´Ù¸é + Å« ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. ¾î¶² °æ¿ì¿¡µµ + ¼öÁ¤ÇÏÁö¸¶¶ó. +
+
-
- ¿ì¸®´Â ±âÁ¸ ¾ÆÆÄÄ¡ »ç¿ëÀÚ°¡ ¾÷±×·¹À̵åÇÏ´Â °ÍÀ» µ½±âÀ§ÇØ Áß¿äÇÑ
- Á¤º¸¸¦ ¾Ë·ÁÁÖ´Â ¹®¼¸¦ À¯ÁöÇÑ´Ù. ÀÌ ¹®¼´Â °£´ÜÇÑ ¼³¸íÀ̹ǷÎ,
- »õ·Î¿î ±â´É ¹®¼³ª
- src/CHANGES ÆÄÀÏ¿¡¼ Á¤º¸¸¦ ã¾ÆºÁ¾ß ÇÑ´Ù.
Apache HTTP Server Version 2.1
+
¿ì¸®´Â ±âÁ¸ ¾ÆÆÄÄ¡ »ç¿ëÀÚ°¡ ¾÷±×·¹À̵åÇÏ´Â °ÍÀ» µ½±âÀ§ÇØ
+ Áß¿äÇÑ Á¤º¸¸¦ ¾Ë·ÁÁÖ´Â ¹®¼¸¦ Á¦°øÇÑ´Ù. ÀÌ ¹®¼´Â °£´ÜÇÑ
+ ¿ä¾àÀ̹ǷÎ, »õ·Î¿î ±â´É
+ ¹®¼³ª src/CHANGES ÆÄÀÏ¿¡¼ Á¤º¸¸¦ ã¾ÆºÁ¾ß
+ ÇÑ´Ù.
autoconf¿Í libtool ½Ã½ºÅÛÀ» »ç¿ëÇÑ´Ù.
- ÀÌ ½Ã½ºÅÛÀÇ »ç¿ë¹ýÀº Apache 1.3ÀÇ APACI ½Ã½ºÅÛ°ú °°Áö´Â ¾ÊÁö¸¸
- ºñ½ÁÇÏ´Ù.autoconf¿Í libtool ½Ã½ºÅÛÀ»
+ »ç¿ëÇÑ´Ù. ÀÌ ½Ã½ºÅÛÀÇ »ç¿ë¹ýÀº Apache 1.3ÀÇ APACI ½Ã½ºÅÛ°ú
+ °°Áö´Â ¾ÊÁö¸¸ ºñ½ÁÇÏ´Ù.CacheNegotiatedDocs Áö½Ã¾î´Â ÀÌÁ¦ ¾Æ±Ô¸ÕÆ®·Î
- on°ú off¸¦ ¹Þ´Â´Ù. ±âÁ¸ÀÇ
- CacheNegotiatedDocs´Â
- CacheNegotiatedDocs onÀ¸·Î ´ëüµÇ¾ß ÇÑ´Ù.prefork MPMÀ» ¼±ÅÃÇØ¾ß
+ ÇÑ´Ù. ´Ù¸¥ MPMÀº ´Ù¸¥ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ÇÁ·Î¼¼½º »ý¼º°ú
+ ¿äûÀÇ Ã³¸®¸¦ Á¶ÀýÇÑ´Ù.<Directory proxy:> ºí·ÏÀÌ ¾Æ´Ï¶ó
+ <Proxy>
+ ºí·Ï¿¡ À§Ä¡ÇÏ´Â Á¡ÀÌ´Ù.PATH_INFO (ÁøÂ¥ °æ·Î¸í
+ µÚ¿¡ ³ª¿À´Â °æ·Î Á¤º¸) ó¸® ¹æ½ÄÀÌ º¯°æµÇ¾ú´Ù. Àü¿¡
+ Çڵ鷯¿´Áö¸¸ ÀÌÁ¦ ÇÊÅÍ·Î ±¸ÇöµÇ´Â ¸ðµâÀº ´õ ÀÌ»ó
+ PATH_INFO°¡ ÀÖ´Â ¿äûÀ» ¹Þ¾ÆµéÀÌÁö ¸øÇÑ´Ù.
+ INCLUDES³ª PHP¿Í °°Àº ÇÊÅÍ´Â
+ core Çڵ鷯 À§¿¡ ±¸ÇöµÇ±â¶§¹®¿¡ PATH_INFO°¡
+ ÀÖ´Â ¿äûÀ» °ÅºÎÇÑ´Ù. core Çڵ鷯°¡ PATH_INFO°¡
+ ÀÖ´Â ¿äûÀ» ¹Þ¾ÆµéÀ̰í server-side include¿¡¼
+ PATH_INFO¸¦ »ç¿ëÇÏ°Ô ÇÏ·Á¸é, AcceptPathInfo Áö½Ã¾î¸¦ »ç¿ëÇØ¾ß
+ ÇÑ´Ù.CacheNegotiatedDocs
+ Áö½Ã¾î´Â ÀÌÁ¦ ¾Æ±Ô¸ÕÆ®·Î on°ú off¸¦
+ ¹Þ´Â´Ù. ±âÁ¸ÀÇ CacheNegotiatedDocs´Â
+ CacheNegotiatedDocs onÀ¸·Î ¼öÁ¤ÇØ¾ß ÇÑ´Ù.ErrorDocument Áö½Ã¾î´Â ´õÀÌ»ó ¸Þ¼¼Áö¸¦ ³ªÅ¸³»´Â
- ¾Æ±Ô¸ÕÆ® ¾Õ¿¡ µû¿ÈÇ¥¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. ´ë½Å ½Öµû¿ÈÇ¥·Î
- ¸Þ¼¼Áö¸¦ ¹¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î °ú°Å
-
-
- ErrorDocument 403 "Some Message
-
- ´Â ´ÙÀ½°ú °°ÀÌ ¼öÁ¤µÇ¾ß ÇÑ´Ù.
-
-
- ErrorDocument 403 "Some Message"
-
- µÎ¹øÂ° ¾Æ±Ô¸ÕÆ®°¡ À¯È¿ÇÑ URLÀ̳ª °æ·Î¸íÀÌ ¾Æ´Ï¶ó¸é
- ¸Þ¼¼Áö·Î °£ÁÖÇÑ´Ù.
+ ErrorDocument Áö½Ã¾î´Â
+ ´õÀÌ»ó ¸Þ¼¼Áö¸¦ ³ªÅ¸³»´Â ¾Æ±Ô¸ÕÆ® ¾Õ¿¡ µû¿ÈÇ¥¸¦ »ç¿ëÇÏÁö
+ ¾Ê´Â´Ù. ´ë½Å ½Öµû¿ÈÇ¥·Î ¸Þ¼¼Áö¸¦ ¹¾î¾ß ÇÑ´Ù. ¿¹¸¦ µé¾î °ú°Å
+
+
+ ErrorDocument 403 "Some Message
+
+ ErrorDocument 403 "Some Message"
+
AccessConfig¿Í ResourceConfig
- Áö½Ã¾î´Â ´õÀÌ»ó ¾ø´Ù. ±âÁ¸¿¡ »ç¿ëÇÏ´ø Áö½Ã¾î´Â °°Àº ±â´ÉÀ» ÇÏ´Â
- Include
- Áö½Ã¾î·Î ´ëüÇÒ ¼ö ÀÖ´Ù. °ú°Å¿¡ ³»¿ëÀ» ¼³Á¤ÆÄÀÏ¿¡ Æ÷ÇÔÇÏÁö ¾Ê°í
- ÀÌ Áö½Ã¾îµéÀÇ ±âº»°ªÀ» »ç¿ëÇß´Ù¸é, http.conf¿¡
+ Áö½Ã¾î´Â »ç¶óÁ³´Ù. ±âÁ¸¿¡ »ç¿ëÇÏ´ø Áö½Ã¾î´Â °°Àº ±â´ÉÀ»
+ ÇÏ´Â Include Áö½Ã¾î·Î
+ ´ëüÇÒ ¼ö ÀÖ´Ù. °ú°Å¿¡ ¼³Á¤ÆÄÀÏ¿¡¼ ÀÌ Áö½Ã¾îµéÀ» »ç¿ëÇÏÁö¾Ê°í
+ ÀÌ Áö½Ã¾îµéÀÇ ±âº»°ªÀ» »ç¿ëÇß´Ù¸é, http.conf¿¡
Include conf/access.conf¿Í Include
- conf/srm.conf¸¦ Ãß°¡ÇÒ Çʿ䰡 ÀÖ´Ù. ¾ÆÆÄÄ¡°¡ ÀÌÀü Áö½Ã¾î¿Í
- °°Àº ¼ø¼·Î ¼³Á¤ÆÄÀÏÀ» ÀаÔÇÏ·Á¸é Include Áö½Ã¾î¸¦
- httpd.conf ³¡¿¡ µÎ°í, srm.confÀÌ
+ conf/srm.conf¸¦ Ãß°¡ÇÒ Çʿ䰡 ÀÖ´Ù. ¾ÆÆÄÄ¡°¡ ÀÌÀü
+ Áö½Ã¾î¿Í °°Àº ¼ø¼·Î ¼³Á¤ÆÄÀÏÀ» ÀаÔÇÏ·Á¸é
+ Include Áö½Ã¾î¸¦
+ httpd.conf ³¡¿¡ µÎ°í, srm.confÀÌ
access.conf ¾Õ¿¡ ³ª¿Í¾ß ÇÑ´Ù.BindAddress¿Í Port Áö½Ã¾î´Â
- ´õÀÌ»ó ¾ø´Ù. ´õ À¯¿¬ÇÑ
- Listen
+ »ç¶óÁ³´Ù. ´õ À¯¿¬ÇÑ Listen
Áö½Ã¾î°¡ °°Àº ±â´ÉÀ» ÇÑ´Ù.PortÀÇ ´Ù¸¥ ¿ëµµ´Â ÀÚ±âÂüÁ¶ URLÀÇ
- Æ÷Æ® ¹øÈ£¸¦ ¼³Á¤ÇÏ´Â ÀÏÀÌ¿´´Ù. Apache-2.0¿¡¼ ÀÌ ±â´ÉÀº
- »õ·Î¿î ServerNameÀ¸·Î
- ÇÑ´Ù. ÀÌ´Â ÇÑ Áö½Ã¾î¿¡ È£½ºÆ®¸í°ú ÀÚ±âÂüÁ¶ URLÀ» À§ÇÑ
- Æ÷Æ® ¹øÈ£¸¦ °°ÀÌ ¼³Á¤ÇÒ ¼ö ÀÖ°Ô ¼öÁ¤µÇ¾ú´Ù.Port´Â ÀÚ±âÂüÁ¶
+ URLÀÇ Æ÷Æ® ¹øÈ£¸¦ ¼³Á¤ÇÏ´Â Àϵµ Çß´Ù. Apache-2.0¿¡¼ ÀÌ
+ ±â´ÉÀº »õ·Î¿î ServerNameÀ¸·Î
+ ÇÑ´Ù. ÇÑ Áö½Ã¾î¿¡ È£½ºÆ®¸í°ú ÀÚ±âÂüÁ¶ URLÀ» À§ÇÑ
+ Æ÷Æ® ¹øÈ£¸¦ °°ÀÌ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.ServerType Áö½Ã¾î´Â ´õÀÌ»ó ¾ø´Ù.
- ¿äûÀ» ¼ºñ½ºÇÏ´Â ¹æ¹ýÀº ÀÌÁ¦ MPM ¼±Åÿ¡ ´Þ·È´Ù.
- ÇöÀç inetd¿¡¼ ½ÃÀÛÇϵµ·Ï ¼³°èµÈ MPMÀº ¾ø´Ù.ServerType Áö½Ã¾î´Â »ç¶óÁ³´Ù. ¿äûÀ»
+ ¼ºñ½ºÇÏ´Â ¹æ¹ýÀº ÀÌÁ¦ MPM ¼±Åÿ¡ ´Þ·È´Ù. ÇöÀç inetd¿¡¼
+ ½ÃÀÛÇϵµ·Ï ¼³°èµÈ MPMÀº ¾ø´Ù.AgentLog, RefererLog,
RefererIgnore Áö½Ã¾î¸¦ Á¦°øÇÑ
- mod_log_agent¿Í mod_log_referer ¸ðµâÀÌ ¾ø¾îÁ³´Ù.
- agent ·Î±×¿Í referer ·Î±×´Â mod_log_configÀÇ
- CustomLog
- Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© °è¼Ó Á¦°øµÈ´Ù.mod_log_agent¿Í mod_log_referer
+ ¸ðµâÀÌ ¾ø¾îÁ³´Ù. agent ·Î±×¿Í referer ·Î±×´Â
+ mod_log_configÀÇ CustomLog Áö½Ã¾î¸¦
+ »ç¿ëÇÏ¿© °è¼Ó Á¦°øµÈ´Ù.
- AddModule°ú ClearModuleList Áö½Ã¾î´Â
- ´õÀÌ»ó ¾ø´Ù. ÀÌ Áö½Ã¾îµéÀº ¸ðµâÀ» ¿Ã¹Ù¸¥ ¼ø¼·Î Ȱ¼ºÈÇÏ·Á°í
- »ç¿ëµÇ¾ú´Ù. »õ·Î¿î Apache 2.0 API´Â ¸ðµâÀÌ È°¼ºÈµÇ´Â ¼ø¼¸¦ ¸í½ÃÀûÀ¸·Î
- ÁöÁ¤ÇÒ ¼ö ÀÖ°ÔÇÏ¿©, ÀÌ Áö½Ã¾îµéÀÌ ºÒÇÊ¿äÇÏ°Ô µÇ¾ú´Ù.AddModule°ú ClearModuleList
+ Áö½Ã¾î´Â »ç¶óÁ³´Ù. ÀÌ Áö½Ã¾îµéÀº ¸ðµâÀ» ¿Ã¹Ù¸¥ ¼ø¼·Î
+ Ȱ¼ºÈÇÏ·Á°í »ç¿ëÇß´Ù. »õ·Î¿î Apache 2.0 API´Â ¸ðµâÀÌ
+ Ȱ¼ºÈµÇ´Â ¼ø¼¸¦ ¸í½ÃÀûÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ¾î¼, ÀÌ Áö½Ã¾îµéÀÌ
+ ÇÊ¿ä¾ø°Ô µÇ¾ú´Ù.FancyIndexing Áö½Ã¾î°¡ ¾ø¾îÁ³´Ù.
- °°Àº ±â´ÉÀÌ IndexOptions
- Áö½Ã¾îÀÇ FancyIndexing ¿É¼ÇÀ¸·Î Á¦°øµÈ´Ù.IndexOptions
+ Áö½Ã¾îÀÇ FancyIndexing ¿É¼ÇÀÌ °°Àº ±â´ÉÀ» ÇÑ´Ù.
- mod_negotiationÀÇ MultiViews ³»¿ëÇù»óÀÌ
+ ´õ ¾ö°ÝÇÏ°Ô ±âº»ÆÄÀÏÀ» ã´Â´Ù. ³»¿ëÇù»óÀº Çù»ó°¡´ÉÇÑ
+ ÆÄÀÏ Áß¿¡¼¸¸ ¼±ÅÃÇÑ´Ù. MultiviewsMatch Áö½Ã¾î¸¦
+ »ç¿ëÇÏ¿© ÀÌÀü°ú °°ÀÌ µ¿ÀÛÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù.httpdÀÇ ¸í·ÉÇà
- ¿É¼Ç -S°¡ -t -D
- DUMP_VHOSTS·Î ´ëüµÇ¾ú´Ù.mod_auth_digest
+ ¸ðµâÀÌ ÀÌÁ¦ Ç¥ÁØ ¸ðµâÀÌ µÇ¾ú´Ù.mod_mmap_static
+ ¸ðµâÀÌ mod_file_cache·Î ´ëüµÇ¾ú´Ù.src
µð·ºÅ丮°¡ ¾ø´Ù. ´ë½Å ¼Ò½º´Â ÁÖ ¹èÆ÷º» µð·ºÅ丮 ¾Æ·¡ ³í¸®ÀûÀ¸·Î
- ±¸¼ºµÇ°í, ÄÄÆÄÀÏµÈ ¼¹ö´Â µ¶¸³µÈ µð·ºÅ丮¿¡ ¼³Ä¡ÇØ¾ß ÇÑ´Ù.Apache 2.0¿¡¼ ¼¹ö API°¡ ¸¹ÀÌ º¯°æµÇ¾ú´Ù. Apache 1.3 API¿¡ - ¸ÂÃçÁø ±âÁ¸ ¸ðµâÀº ¼öÁ¤¾øÀÌ Apache 2.0¿¡¼ »ç¿ëÇÒ ¼ö + ¸ÂÃçÁø ±âÁ¸ ¸ðµâÀ» ¼öÁ¤¾øÀÌ Apache 2.0¿¡¼ »ç¿ëÇÒ ¼ö ¾ø´Ù. ÀÚ¼¼ÇÑ Á¤º¸´Â °³¹ßÀÚ ¹®¼¸¦ Âü°íÇ϶ó.
-
-
-
-
-
-
-
+ $B$3$NJ8=q$O(B Apache $B$,%j%/%(%9%H$N(B URL $B$+$iAw?.$9$k%U%!%$%k$N(B @@ -265,7 +265,7 @@ ProxyPassReverse /foo/ http://internal.example.com/bar/ $B@bL@$5$l$F$$$k$h$&$K!"=@Fp$J@_Dj$r9T$J$&$3$H$,$G$-$^$9!#(B
Apache HTTP Server Version 2.1
+
ÀÌ ¹®¼´Â ¿äûÀÇ URLÀ» °¡Áö°í ¾ÆÆÄÄ¡°¡ ¾î¶»°Ô ¼ºñ½ºÇÒ + ÆÄÀÏÀÇ ÆÄÀϽýºÅÛ»ó À§Ä¡¸¦ ã´ÂÁö ¼³¸íÇÑ´Ù.
+| °ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
|---|---|
¿äûÀ» ¹ÞÀº ¾ÆÆÄÄ¡´Â ¾î¶² ÆÄÀÏÀ» ¼ºñ½ºÇÒÁö °áÁ¤ÇϱâÀ§ÇØ
+ ±âº»ÀûÀ¸·Î ¿äûÀÇ URL-°æ·Î(URL¿¡¼ È£½ºÆ®¸í°ú Æ÷Æ® µÚ¿¡
+ ³ª¿À´Â ºÎºÐ)¸¦ ¼³Á¤ÆÄÀÏ¿¡¼ ÁöÁ¤ÇÑ DocumentRoot µÚ¿¡ ºÙÀδÙ. ±×·¡¼
+ DocumentRoot ¾Æ·¡ÀÖ´Â
+ ÆÄÀϰú µð·ºÅ丮µéÀº À¥¿¡¼ º¸°ÔµÉ ±âº»ÀûÀÎ ³»¿ëÀÌ´Ù.
Á¾Á¾ ÆÄÀϽýºÅÛ¿¡¼ DocumentRoot ¾Æ·¡ ÀÖÁö¾ÊÀº ºÎºÐÀ»
+ À¥¿¡¼ Á¢±ÙÇÒ Çʿ䰡 ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ÀÌ °æ¿ì ¿©·¯°¡Áö ¹æ¹ýÀ»
+ »ç¿ëÇÒ ¼ö ÀÖ´Ù. À¯´Ð½º ½Ã½ºÅÛ¿¡¼ ½Éº¼¸µÅ©¸¦ »ç¿ëÇÏ¿©
+ ÆÄÀϽýºÅÛÀÇ ´Ù¸¥ ºÎºÐÀ» DocumentRoot ¾Æ·¡¿¡ µÑ ¼ö ÀÖ´Ù.
+ º¸¾ÈÀ» À§ÇØ ¾ÆÆÄÄ¡´Â ÇØ´ç µð·ºÅ丮ÀÇ Options ¼³Á¤¿¡
+ FollowSymLinks³ª
+ SymLinksIfOwnerMatch°¡ ÀÖ´Â °æ¿ì¿¡¸¸ ½Éº¼¸µÅ©¸¦
+ µû¶ó°£´Ù.
¶Ç, Alias
+ Áö½Ã¾î´Â ÆÄÀϽýºÅÛÀÇ Æ¯Á¤ ºÎºÐÀ» À¥°ø°£¿¡ ´ëÀÀÇÑ´Ù. ¿¹¸¦
+ µé¾î ´ÙÀ½°ú °°´Ù¸é
Alias /docs /var/web
URL http://www.example.com/docs/dir/file.html˼
+ /var/web/dir/file.htmlÀ» °¡Áö°í ¼ºñ½ºÇÑ´Ù.
+ ÁöÁ¤ÇÑ °æ·Î¿¡ ÀÖ´Â ¸ðµç ³»¿ëÀ» CGI ½ºÅ©¸³Æ®·Î Ãë±ÞÇÏ´Â °ÍÀ»
+ Á¦¿ÜÇϰí´Â ScriptAlias
+ Áö½Ã¾îµµ °°Àº ÀÏÀ» ÇÑ´Ù.
AliasMatch¿Í
+ ScriptAliasMatch
+ Áö½Ã¾îÀÇ °·ÂÇÑ Á¤±ÔÇ¥Çö½Ä±â¹Ý ´ëÀÀ°ú ´ëÄ¡¸¦ »ç¿ëÇÏ¿© ´õ
+ À¯¿¬ÇÑ ¼³Á¤ÀÌ °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¾î,
ScriptAliasMatch ^/~([a-zA-Z0-9]*)/cgi-bin/(.*)
+ /home/$1/cgi-bin/$2
´Â http://example.com/~user/cgi-bin/script.cgi·ÎÀÇ
+ ¿äûÀ» °æ·Î /home/user/cgi-bin/script.cgi·Î
+ ´ëÀÀÇϰí, ÇØ´ç ÆÄÀÏÀ» CGI ½ºÅ©¸³Æ®·Î Ãë±ÞÇÑ´Ù.
À¯´Ð½º ½Ã½ºÅÛÀº ÀüÅëÀûÀ¸·Î ƯÁ¤ »ç¿ëÀÚ userÀÇ
+ Ȩµð·ºÅ丮¸¦ ~user/·Î ÁöĪÇÑ´Ù.
+ mod_userdir ¸ðµâÀº ÀÌ °³³äÀ» À¥¿¡±îÁö
+ È®ÀåÇÏ¿©, ´ÙÀ½°ú °°Àº URLÀ» °¡Áö°í °¢ »ç¿ëÀÚ È¨µð·ºÅ丮
+ ¾È¿¡ ÀÖ´Â ÆÄÀÏÀ» ¼ºñ½ºÇÑ´Ù.
http://www.example.com/~user/file.html
º¸¾È»ó À¥¿¡¼ »ç¿ëÀÚ È¨µð·ºÅ丮·Î Á÷Á¢ Á¢±ÙÇÒ ¼ö ÀÖÀ¸¸é
+ ¾ÈµÈ´Ù. ±×·¡¼ UserDir
+ Áö½Ã¾î´Â »ç¿ëÀÚ È¨µð·ºÅ丮¿¡¼ À¥¿ë ÆÄÀϵéÀÌ ÀÖÀ» µð·ºÅ丮¸¦
+ ÁöÁ¤ÇÑ´Ù. ±âº» ¼³Á¤ Userdir public_htmlÀ» »ç¿ëÇϰí
+ /home/user/°¡ /etc/passwd¿¡ ÁöÁ¤µÈ
+ »ç¿ëÀÚ È¨µð·ºÅ丮¶ó¸é, À§ÀÇ URLÀº ÆÄÀÏ
+ /home/user/public_html/file.html¿¡ ´ëÀÀÇÑ´Ù.
¶Ç, Userdir Áö½Ã¾î´Â /etc/passwd¿¡
+ Ȩµð·ºÅ丮ÀÇ À§Ä¡°¡ ÀúÀåµÇÁö¾Ê´Â ½Ã½ºÅÛÀ» À§ÇØ ¿©·¯ ´Ù¸¥
+ ÇüŸ¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¾î¶² »ç¶÷Àº (º¸Åë À¥¿¡¼ %7e·Î ÀÎÄÚµùµÇ´Â)
+ "~" ±âÈ£°¡ ÀÌ»óÇÏ¿© ´Ù¸¥ ¹æ½ÄÀ¸·Î »ç¿ëÀÚ µð·ºÅ丮¸¦ ³ªÅ¸³»°í
+ ½Í¾îÇÑ´Ù. ÀÌ ±â´ÉÀº mod_userdirÀÌ Á¦°øÇÏÁö¾Ê´Â´Ù. ±×·¯³ª
+ »ç¿ëÀÚ È¨µð·ºÅ丮°¡ ±ÔÄ¢ÀûÀÎ ¹æ¹ýÀ¸·Î ±¸¼ºµÇÀÖ´Ù¸é, AliasMatch Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©
+ ¿øÇÏ´Â È¿°ú¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ÀÇ
+ AliasMatch Áö½Ã¾î¸¦ »ç¿ëÇϸé
+ http://www.example.com/upages/user/file.htmlÀÌ
+ /home/user/public_html/file.html¿¡ ´ëÀÀÇÑ´Ù:
AliasMatch ^/upages/([a-zA-Z0-9]*)/?(.*)
+ /home/$1/public_html/$2
¾Õ¿¡¼ ¼³¸íÇÑ ¼³Á¤ Áö½Ã¾îµéÀº ¾ÆÆÄÄ¡°¡ ÆÄÀϽýºÅÛÀÇ Æ¯Á¤
+ Àå¼Ò¿¡ ÀÖ´Â ³»¿ëÀ» Ŭ¶óÀÌ¾ðÆ®¿¡°Ô º¸³»°Ô ¸¸µç´Ù. ±×·¯³ª
+ ¶§¶§·Î ¿äûÇÑ ³»¿ëÀÌ ´Ù¸¥ URL¿¡ ÀÖ´Ù°í Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¾Ë·ÁÁÖ¾î,
+ Ŭ¶óÀÌ¾ðÆ®°¡ »õ·Î ±× URLÀ» ¿äûÇϵµ·Ï ¸¸µå´Â °ÍÀÌ ÁÁÀ» ¶§°¡
+ ÀÖ´Ù. À̸¦ ¸®´ÙÀÌ·º¼Ç(redirection)À̶ó°í Çϸç,
+ Redirect Áö½Ã¾î¸¦
+ »ç¿ëÇÑ´Ù. ¿¹¸¦ µé¾î, DocumentRoot ¾Æ·¡ /foo/
+ µð·ºÅ丮ÀÇ ³»¿ëÀ» »õ·Î /bar/ µð·ºÅ丮·Î ¿Å°å´Ù¸é
+ ´ÙÀ½°ú °°ÀÌ Å¬¶óÀÌ¾ðÆ®°¡ »õ·Î¿î À§Ä¡¸¦ ¿äûÇϵµ·Ï ÇÑ´Ù:
Redirect permanent /foo/
+ http://www.example.com/bar/
±×·¯¸é www.example.com ¼¹öÀÇ /foo/·Î
+ ½ÃÀÛÇÏ´Â URL-°æ·Î´Â /foo/¸¦ /bar/·Î
+ ¹Ù²Û URL·Î ¸®´ÙÀÌ·º¼ÇµÈ´Ù. Ŭ¶óÀÌ¾ðÆ®¸¦ ¿ø·¡ ¼¹ö¿Ü¿¡ ¾î¶²
+ ´Ù¸¥ ¼¹ö·Îµµ ¸®´ÙÀÌ·º¼ÇÇÒ ¼ö ÀÖ´Ù.
¶Ç, ¾ÆÆÄÄ¡´Â ´õ º¹ÀâÇÑ ÀçÀÛ¼º ¹®Á¦¸¦ À§ÇØ
+ RedirectMatch
+ Áö½Ã¾î¸¦ Á¦°øÇÑ´Ù. ¿¹¸¦ µé¾î, ´Ù¸¥ ¿äûÀº ±×´ë·Î µÎ°í »çÀÌÆ®
+ ȨÆäÀÌÁö¿¡ ´ëÇÑ ¿äû¸¸À» ´Ù¸¥ »çÀÌÆ®·Î ¸®´ÙÀÌ·º¼ÇÇÏ·Á¸é:
RedirectMatch permanent ^/$
+ http://www.example.com/startpage.html
Àӽ÷Π»çÀÌÆ®ÀÇ ¸ðµç ÆäÀÌÁö¸¦ ´Ù¸¥ »çÀÌÆ®ÀÇ Æ¯Á¤ ÆäÀÌÁö·Î + ¸®´ÙÀÌ·º¼ÇÇÏ·Á¸é:
+ +RedirectMatch temp .*
+ http://othersite.example.com/startpage.html
¾ÆÆÄÄ¡´Â ´Ù¸¥ ¼¹ö¿¡ ÀÖ´Â ¹®¼¸¦ ¼¹öÀÇ URL °ø°£À¸·Î °¡Á®¿Ã +¼ö ÀÖ´Ù. ÀÌ °æ¿ì À¥¼¹ö°¡ ¿ø°Ý ¼¹ö¿¡¼ ¹®¼¸¦ °¡Á®¿Í¼ +Ŭ¶óÀÌ¾ðÆ®¿¡°Ô Àü´ÞÇÏ´Â ÇÁ·Ï½Ã ¼¹ö¿Í °°ÀÌ µ¿ÀÛÇϱ⶧¹®¿¡ ÀÌ·± +¹æ¹ýÀ» ¿ªÇÁ·Ï½Ã(reverse proxying)¶ó°í ÇÑ´Ù. Ŭ¶óÀ̾ðÆ®ÀÇ +ÀÔÀå¿¡¼ ¿ªÇÁ·Ï½Ã ¼¹ö°¡ ¹®¼¸¦ º¸³»ÁÖ´Â °Íó·³ º¸À̹ǷΠÀÏ¹Ý +ÇÁ·Ï½Ã¿Í´Â ´Ù¸£´Ù.
+ +¾Æ·¡ ¼³Á¤¿¡¼ Ŭ¶óÀÌ¾ðÆ®°¡ /foo/¿¡ ÀÖ´Â ¹®¼¸¦
+¿äûÇϸé, ¼¹ö´Â internal.example.comÀÇ
+/bar/ µð·ºÅ丮¿¡¼ ¹®¼¸¦ °¡Á®¿Í¼ ¹®¼°¡ ¸¶Ä¡
+¼¹ö¿¡ ÀÖ¾ú´ø °Íó·³ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô º¸³½´Ù.
+ProxyPass /foo/ http://internal.example.com/bar/
+ProxyPassReverse /foo/ http://internal.example.com/bar/
+
ProxyPass´Â ¼¹ö°¡
+ÀûÀýÇÑ ¹®¼¸¦ °¡Á®¿Àµµ·Ï ¼³Á¤Çϸç, ProxyPassReverse Áö½Ã¾î´Â
+internal.example.comÀÌ º¸³»´Â ¸®´ÙÀÌ·º¼ÇÀ» ÀçÀÛ¼ºÇÏ¿©
+¸®´ÙÀÌ·º¼ÇÀÌ ÇöÀç ¼¹öÀÇ ÀûÀýÇÑ µð·ºÅ丮¸¦ °¡¸®Å°µµ·Ï ÇÑ´Ù.
+±×·¯³ª ¹®¼ ¾È¿¡ ÀÖ´Â ¸µÅ©´Â ÀçÀÛ¼ºÇÏÁö ¾ÊÀ½À» ÁÖÀÇÇ϶ó.
+internal.example.com¿¡ ´ëÇÑ Àý´ë¸µÅ©´Â Ŭ¶óÀÌ¾ðÆ®°¡
+ÇÁ·Ï½Ã¼¹ö°¡ ¾Æ´Ï¶ó internal.example.comÀ¸·Î Á÷Á¢
+¿äûÇÏ°Ô ÇÑ´Ù.
´õ °·ÂÇÑ Ä¡È¯ÀÌ ÇÊ¿äÇÒ¶§ mod_rewriteÀÇ
+ ÀçÀÛ¼º ¿£ÁøÀÌ µµ¿òÀÌ µÈ´Ù. ÀÌ ¸ðµâÀÇ Áö½Ã¾î´Â ºê¶ó¿ìÀú Á¾·ù³ª
+ Ŭ¶óÀ̾ðÆ®ÀÇ IP ÁÖ¼Ò µî ¿äûÀÇ Æ¯Â¡À» °¡Áö°í ¾îµð¿¡ ÀÖ´Â
+ ³»¿ëÀ» ¼ºñ½ºÇÒÁö °áÁ¤ÇÒ ¼ö ÀÖ´Ù. ¶Ç, mod_rewrite´Â ¿äûÀ»
+ ¾î¶»°Ô ó¸®ÇÒÁö °áÁ¤ÇϱâÀ§ÇØ ¿ÜºÎ µ¥ÀÌÅͺ£À̽º ÆÄÀÏÀ̳ª
+ ÇÁ·Î±×·¥À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀçÀÛ¼º ¿£ÁøÀº À§¿¡¼ ´Ù·é ¼¼
+ Á¾·ù ´ëÀÀ, Áï, ³»ºÎ ¸®´ÙÀÌ·º¼Ç (alias), ¿ÜºÎ ¸®´ÙÀÌ·º¼Ç,
+ ÇÁ·Ï½Ã, ¸ðµÎ¸¦ Áö¿øÇÑ´Ù. mod_rewrite¸¦ »ç¿ëÇÏ´Â ½ÇÁ¦ ¿¹´Â
+ URL Á¦ÀÛ¼º Áöħ¼¿¡¼
+ ¼³¸íÇÑ´Ù.
°á±¹ ¿äûÇÑ URL¿¡ ´ëÀÀÇÏ´Â ÆÄÀÏÀ» ÆÄÀϽýºÅÛ¿¡¼ ãÁö + ¸øÇÑ °æ¿ìÀÌ´Ù. ¿©·¯ °¡Áö ÀÌÀ¯°¡ ÀÖ´Ù. ¾î¶² °æ¿ì ¹®¼¸¦ + ´Ù¸¥ °÷À¸·Î ¿Å°å±â ¶§¹®ÀÏ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì Ŭ¶óÀÌ¾ðÆ®¿¡°Ô + URL ¸®´ÙÀÌ·º¼ÇÀ¸·Î ÀÚ¿øÀÇ »õ·Î¿î + À§Ä¡¸¦ ¾Ë·ÁÁÖ´Â ¹æ¹ýÀÌ Á¦ÀÏ ÁÁ´Ù. ±×·¯¸é ÀÚ¿øÀ» ¿Å°Üµµ + ¿À·¡µÈ ºÏ¸¶Å©³ª ¸µÅ©°¡ °è¼Ó À¯È¿ÇÏ´Ù.
+ +"File Not Found" ¿À·ùÀÇ ´Ù¸¥ ÀϹÝÀûÀÎ ¿øÀÎÀº ºê¶ó¿ìÀú¿¡
+ Á÷Á¢ ȤÀº HTML ¸µÅ©¿¡ URLÀÌ À߸ø ÀÔ·ÂµÈ °æ¿ìÀÌ´Ù. ¾ÆÆÄÄ¡´Â
+ mod_speling (¸ÂÃã¹ýÀÌ Æ²¸®Áö ¾Ê¾ÒÀ½) ¸ðµâ·Î
+ ÀÌ¿Í °°Àº ¹®Á¦¸¦ µ½´Â´Ù. ÀÌ ¸ðµâÀ» »ç¿ëÇϸé "File Not Found"
+ ¿À·ù°¡ ¹ß»ýÇÏ´Â °æ¿ì ºñ½ÁÇÑ ÆÄÀϸíÀ» °¡Áø ÀÚ¿øÀ» ã´Â´Ù.
+ ¸¸¾à ¹ß°ßÇϸé mod_spelingÀº Ŭ¶óÀÌ¾ðÆ®¸¦ ¿Ã¹Ù¸¥ À§Ä¡·Î
+ HTTP ¸®´ÙÀÌ·º¼ÇÇÑ´Ù. "ºñ½ÁÇÑ" ÆÄÀÏÀÌ ¿©·¯°³ ÀÖ´Ù¸é
+ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¸ñ·ÏÀ» º¸³½´Ù.
mod_spelingÀÇ Æ¯È÷ À¯¿ëÇÑ ÀåÁ¡Àº ´ë¼Ò¹®ÀÚ¸¦ ±¸º°ÇÏÁö¾Ê°í + ÆÄÀϸíÀ» ºñ±³ÇÏ´Â ±â´ÉÀÌ´Ù. ±×·¡¼ À¯´Ð½º ÆÄÀϽýºÅÛ°ú URLÀÇ + ´ë¼Ò¹®ÀÚ ¼ºÁúÀ» ¾ËÁö¸øÇÏ´Â »ç¿ëÀÚ°¡ ÀÖ´Â ½Ã½ºÅÛ¿¡ µµ¿òÀÌ + µÈ´Ù. ±×·¯³ª mod_spelingÀÌ ÀÚÁÖ URLÀ» °íÃľßÇÑ´Ù¸é, "À߸øµÈ" + ¿äû¶§¸¶´Ù URL ¸®´ÙÀÌ·º¼Ç°ú Ŭ¶óÀ̾ðÆ®ÀÇ »õ·Î¿î ¿äûÀÌ + ÀϾ¹Ç·Î ¼¹ö¿¡ ºÎ´ãÀÌ µÈ´Ù.
+ +ã´Â ½Ãµµ°¡ ¸ðµÎ ½ÇÆÐÇÏ¸é ¾ÆÆÄÄ¡´Â HTTP status code 404
+ (file not found) ¿À·ùÆäÀÌÁö¸¦ º¸³½´Ù. ÀÌ ÆäÀÌÁöÀÇ ³»¿ëÀº
+ ErrorDocument Áö½Ã¾î·Î
+ Á¶ÀýÇϸç, »ç¿ëÀÚÁ¤ÀÇ ¿À·ù ÀÀ´ä
+ ¹®¼¸¦ Âü°íÇÏ¿© »ç¿ëÀÚÁ¤ÀÇÇÒ ¼ö ÀÖ´Ù.
Apache HTTP Server Version 2.1
+
°¡»óÈ£½ºÆ® ÄÚµå´Â ¾ÆÆÄÄ¡ 1.3¿¡¼ °ÅÀÇ ´Ù½Ã
+ ÀÛ¼ºµÇ¾ú´Ù. ÀÌ ¹®¼´Â ¾ÆÆÄÄ¡°¡ ¿äûÀ» ¹ÞÀ¸¸é ¾î¶² °¡»óÈ£½ºÆ®°¡
+ ¼ºñ½ºÇÒÁö °áÁ¤ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. »õ·Î¿î NameVirtualHost Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©
+ °¡»óÈ£½ºÆ® ¼³Á¤ÀÌ 1.3 ¹öÀü ÀÌÀüº¸´Ù ´õ ½±°í ¾ÈÀüÇØÁ³´Ù.
¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ÀÌÇØÇÏÁö¾Ê°í ´ÜÁö µ¿ÀÛÇϰԸ¸ + ÇÏ°í ½Í´Ù¸é, ¿¹Á¦µéÀ» Âü°íÇ϶ó.
+ +
¼³Á¤ÆÄÀÏ Àбâ
°¡»óÈ£½ºÆ® ã±â
ÆÁ<VirtualHost> ¼³Á¤À» Á¦¿ÜÇÑ ¼³Á¤ÀÌ
+ ÁÖ¼¹ö¸¦ ¸¸µç´Ù. <VirtualHost> ¼½¼ÇÀ¸·Î Á¤ÀÇÇÑ
+ ºÎºÐÀ» °¡»óÈ£½ºÆ®¶ó°í ºÎ¸¥´Ù.
Listen,
+ ServerName,
+ ServerPath,
+ ServerAlias Áö½Ã¾î´Â
+ ¼¹ö Á¤ÀÇ ¾î´À°÷¿¡¼µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª °°Àº Áö½Ã¾î°¡
+ ¿©·¯¹ø ³ª¿À¸é (±× ¼¹ö¿¡¼) ¸¶Áö¸· Áö½Ã¾î¸¸ÀÌ À¯È¿ÇÏ´Ù.
ÁÖ¼¹ö ListenÀÇ ±âº»°ªÀº 80ÀÌ´Ù. ÁÖ¼¹öÀÇ
+ ServerPath³ª ServerAlias¿¡´Â
+ ±âº»°ªÀº ¾ø´Ù. ServerNameÀÇ ±âº»°ªÀº ¼¹öÀÇ
+ IP ÁÖ¼ÒÀÌ´Ù.
ÁÖ¼¹öÀÇ Listen Áö½Ã¾î´Â µÎ°¡Áö ±â´ÉÀ» ÇÑ´Ù. ù°´Â + ¾ÆÆÄÄ¡°¡ ¿¬°áÇÒ ±âº» ³×Æ®¿÷ Æ÷Æ®¸¦ ÁöÁ¤ÇÏ´Â ÀÏÀÌ´Ù. µÑ°´Â + ¸®´ÙÀÌ·º¼ÇÇÒ Àý´ë URI¿¡ »ç¿ëÇÒ Æ÷Æ® ¹øÈ£¸¦ ÁöÁ¤ÇÏ´Â ÀÏÀÌ´Ù.
+ +ÁÖ¼¹ö¿Í ´Þ¸® °¡»óÈ£½ºÆ®ÀÇ Æ÷Æ®´Â ¾ÆÆÄÄ¡°¡ ¿¬°áÀ» ±â´Ù¸®´Â + Æ÷Æ®¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê´Â´Ù.
+ +VirtualHost Áö½Ã¾î¿¡ Æ÷Æ®¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.
+ Æ÷Æ®¸¦ ÁöÁ¤ÇÏÁö¾ÊÀ¸¸é ÁÖ¼¹öÀÇ °¡Àå ÃÖ±Ù Listen
+ °ªÀ» »ç¿ëÇÑ´Ù. Ưº°ÇÑ Æ÷Æ® *´Â ¾î¶² Æ÷Æ®¶óµµ
+ ÁöĪÇÏ´Â ¿ÍÀϵåÄ«µåÀÌ´Ù. (DNS °Ë»ö °á°úÀÇ ¿©·¯ A
+ ·¹Äڵ带 Æ÷ÇÔÇÏ¿©) °¡»óÈ£½ºÆ®ÀÇ ÁÖ¼Ò¸¦ ¸ðµÎ ÃÑĪÇÏ¿© °¡»óÈ£½ºÆ®ÀÇ
+ ÁÖ¼ÒÁýÇÕ(address set)À̶ó°í ºÎ¸¥´Ù.
ƯÁ¤ IP ÁÖ¼Ò¿¡ ´ëÇÑ NameVirtualHost Áö½Ã¾î°¡ ¾ø´Ù¸é
+ ±× ÁÖ¼Ò¸¦ Æ÷ÇÔÇϴ ù¹øÂ° °¡»óÈ£½ºÆ®¸¦ IP±â¹Ý °¡»óÈ£½ºÆ®·Î Ãë±ÞÇÑ´Ù.
+ IP ÁÖ¼Ò¿¡ ¿ÍÀϵåÄ«µå *¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇÑ´Ù¸é À̸§±â¹Ý °¡»óÈ£½ºÆ®¿¡
+ »ç¿ëÇÒ IP ÁÖ¼Ò¸¦ NameVirtualHost Áö½Ã¾î¿¡
+ »ç¿ëÇØ¾ß ÇÑ´Ù. Áï, ¼³Á¤ÆÄÀÏÀÇ NameVirtualHost
+ Áö½Ã¾î¿¡ À̸§±â¹Ý °¡»óÈ£½ºÆ®ÀÇ È£½ºÆ®º°¸í(CNAME)¿¡ ÇØ´çÇÏ´Â
+ IP ÁÖ¼Ò¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù.
ƯÁ¤ IP:Æ÷Æ® ½Ö¿¡ ´ëÇØ ¿ÀÁ÷ ÇÑ NameVirtualHost
+ Áö½Ã¾î¸¸À» »ç¿ëÇÑ´Ù¸é, ¿©·¯ NameVirtualHost Áö½Ã¾î¿Í
+ VirtualHost Áö½Ã¾î¸¦ ¼¯¾î¼ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
NameVirtualHost¿Í VirtualHost
+ Áö½Ã¾îÀÇ ¼ø¼´Â Áß¿äÇÏÁö ¾Ê±â¶§¹®¿¡ ´ÙÀ½ µÎ ¿¹´Â °°´Ù (¿ÀÁ÷
+ ÇÑ ÁÖ¼ÒÁýÇÕ¿¡ ´ëÇÑ VirtualHostÀÇ
+ ¼ø¼°¡ Áß¿äÇÏ´Ù. ¾Æ·¡ Âü°í):
|
+
|
+
(¿ÞÂÊ ¼³Á¤ÀÌ ´õ ÀÐ±â ÆíÇÏ´Ù.)
+ +VirtualHost Áö½Ã¾î¸¦ ÀÐÀ» ´ÙÀ½, °¡»óÈ£½ºÆ®
+ ¼¹ö´Â VirtualHost Áö½Ã¾î¿¡ ÁöÁ¤ÇÑ Æ÷Æ®¸¦ ±âº»
+ ListenÀ¸·Î ÇÑ´Ù.
VirtualHost Áö½Ã¾îÀÇ À̸§ÀÌ ¸ðµÎ °°Àº
+ ÁÖ¼ÒÁýÇÕ¿¡ ¼ÓÇÑ´Ù¸é ServerAlias¿Í °°ÀÌ Ãë±ÞÇÑ´Ù
+ (±×·¯³ª ´Ù¸¥ ServerAliasÀÇ ¿µÇâÀ» ¹ÞÁö ¾Ê´Â´Ù).
+ °¡»óÈ£½ºÆ®¿¡ Ãß°¡·Î »ç¿ëÇÑ ListenÀº ÁÖ¼ÒÁýÇÕÀÌ
+ ÁöÁ¤ÇÑ Æ÷Æ®¿¡ ¿µÇâÀ» ÁÖÁö ¾ÊÀ½À» ÁÖÀÇÇ϶ó.
½ÃÀÛÇÒ¶§ IP ÁÖ¼Ò ¸ñ·ÏÀ» ¸¸µé¾î ÇØ½¬Å×ÀÌºí¿¡ Ãß°¡ÇÑ´Ù.
+ NameVirtualHost Áö½Ã¾î¿¡ IP ÁÖ¼Ò¸¦ »ç¿ëÇϸé
+ ¸ñ·ÏÀº ±× IP ÁÖ¼Ò¿¡ ´ëÇÑ ¸ðµç À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ Æ÷ÇÔÇÑ´Ù.
+ ±× ÁÖ¼Ò¿¡ ´ëÇÑ °¡»óÈ£½ºÆ®°¡ ¾ø´Ù¸é NameVirtualHost
+ Áö½Ã¾î¸¦ ¹«½ÃÇÏ°í ·Î±×¿¡ ¿À·ù¸¦ ±â·ÏÇÑ´Ù. IP±â¹Ý °¡»óÈ£½ºÆ®´Â
+ ÇØ½¬Å×ÀÌºí¿¡ ¸ñ·ÏÀ» Ãß°¡ÇÏÁö ¾Ê´Â´Ù.
ºü¸¥ ÇØ½¬ÇÔ¼ö¸¦ »ç¿ëÇϱ⶧¹®¿¡ ¿äû½Ã IP ÁÖ¼Ò¸¦ ÇØ½ÌÇÏ´Â + ºÎ´ãÀº °ÅÀÇ ¾ø´Ù. ¶Ç ÇØ½¬Å×À̺íÀº IP ÁÖ¼ÒÀÇ ¸¶Áö¸· ºÎºÐÀÇ + Â÷ÀÌ¿¡ ÃÖÀûȵÇÀÖ´Ù.
+ +°¡»óÈ£½ºÆ®¿¡ ¿©·¯ ±âº»°ªÀÌ ¼³Á¤µÈ´Ù. ƯÈ÷:
+ +ServerAdmin,
+ ResourceConfig,
+ AccessConfig,
+ Timeout,
+ KeepAliveTimeout,
+ KeepAlive,
+ MaxKeepAliveRequests,
+ SendBufferSize
+ Áö½Ã¾î°¡ ¾ø´Ù¸é ÁÖ¼¹ö¿¡¼ ÇØ´ç °ªÀ» °¡Á®¿Â´Ù. (Áï,
+ ÁÖ¼¹öÀÇ ¼³Á¤°ªÀ» »ç¿ëÇÑ´Ù.)±âº»ÀûÀ¸·Î ÁÖ¼¹ö´Â °¡»óÈ£½ºÆ®¸¦ ¸¸µå´Â "±âº»" ȤÀº "±â¹Ý"ÀÌ + µÈ´Ù. ±×·¯³ª ¼³Á¤ÆÄÀÏ¿¡¼ ÁÖ¼¹ö¸¦ Á¤ÀÇÇÏ´Â À§Ä¡´Â °ü°è¾ø´Ù. + ¸¶Áö¸·À¸·Î ¼³Á¤À» ÇÕÄ¡±â Àü¿¡ ÁÖ¼¹öÀÇ ¸ðµç ¼³Á¤À» ÀоîµéÀδÙ. + ±×·¡¼ ÁÖ¼¹ö Á¤Àǰ¡ °¡»óÈ£½ºÆ® Á¤ÀÇ µÚ¿¡ ³ª¿Íµµ °¡»óÈ£½ºÆ® + Á¤ÀÇ¿¡ ¿µÇâÀ» ÁØ´Ù.
+ +ÁÖ¼¹ö¿¡ ServerNameÀÌ ¾ø´Ù¸é À¥¼¹ö¸¦ ½ÇÇàÇÏ´Â
+ ÄÄÇ»ÅÍÀÇ È£½ºÆ®¸íÀ» ´ë½Å »ç¿ëÇÑ´Ù. ÁÖ¼¹öÀÇ
+ ServerNameÀ» DNS °Ì»öÇÏ¿© ¾òÀº IP ÁÖ¼ÒµéÀ»
+ ÁÖ¼¹ö ÁÖ¼ÒÁýÇÕÀ̶ó°í ºÎ¸¥´Ù.
À̸§±â¹Ý °¡»óÈ£½ºÆ®ÀÇ ServerNameÀ» Á¤ÀÇÇÏÁö
+ ¾ÊÀ¸¸é °¡»óÈ£½ºÆ®¸¦ Á¤ÀÇÇÏ´Â VirtualHost¿¡¼
+ óÀ½À¸·Î ³ª¿Â ÁÖ¼Ò¸¦ ±âº»°ªÀ¸·Î »ç¿ëÇÑ´Ù.
Ưº°ÇÑ _default_ ¿ÍÀÏÆ®Ä«µå¸¦ Æ÷ÇÔÇÏ´Â
+ °¡»óÈ£½ºÆ®´Â ÁÖ¼¹ö¿Í °°Àº ServerNameÀ» °¡Áø´Ù.
¼¹ö´Â ¾Æ·¡¿Í °°Àº ¹æ¹ýÀ¸·Î ¾î¶² °¡»óÈ£½ºÆ®°¡ ¿äûÀ» + ó¸®ÇÒÁö °áÁ¤ÇÑ´Ù:
+ +Ŭ¶óÀÌ¾ðÆ®°¡ óÀ½ ¿¬°áÇÏ¸é ¿¬°áÇÑ IP ÁÖ¼Ò¸¦ ³»ºÎ IP + ÇØ½¬Å×ÀÌºí¿¡¼ ã´Â´Ù.
+ +IP ÁÖ¼Ò¸¦ ãÀ» ¼ö ¾ø°í Ŭ¶óÀÌ¾ðÆ®°¡ ¿äûÀ» º¸³½ Æ÷Æ®¿¡
+ ÇØ´çÇÏ´Â °¡»óÈ£½ºÆ®°¡ ÀÖ´Ù¸é, _default_ °¡»óÈ£½ºÆ®°¡
+ ¿äûÀ» ¼ºñ½ºÇÑ´Ù. _default_ °¡»óÈ£½ºÆ®°¡
+ ¾ø´Ù¸é ÁÖ¼¹ö°¡ ¿äûÀ» ¼ºñ½ºÇÑ´Ù.
ÇØ½¬Å×ÀÌºí¿¡ IP ÁÖ¼Ò°¡ ¾øÁö¸¸ Æ÷Æ® ¹øÈ£°¡
+ NameVirtualHost *¿¡ ÇØ´çÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì
+ À̸§±â¹Ý °¡»óÈ£½ºÆ®Ã³·³ ó¸®ÇÑ´Ù.
ã¾Ò´Ù¸é (¸ñ·Ï¿¡¼ IP ÁÖ¼Ò¿¡ ÇØ´çÇÏ´Â Ç׸ñÀ» ãÀ¸¸é), + IP±â¹Ý °¡»óÈ£½ºÆ®ÀÎÁö À̸§±â¹Ý °¡»óÈ£½ºÆ®ÀÎÁö °áÁ¤ÇÑ´Ù.
+ + + +ãÀº Ç׸ñ¿¡ À̸§ ¸ñ·ÏÀÌ ¾ø´Ù¸é IP±â¹Ý °¡»óÈ£½ºÆ®ÀÌ´Ù. + ´õ ÀÌ»ó ÀÛ¾÷ÀÌ ÇÊ¿ä¾ø°í, ±× °¡»óÈ£½ºÆ®°¡ ¿äûÀ» ó¸®ÇÑ´Ù.
+ + + +À̸§ ¸ñ·Ï¿¡ ÇѰ³ ÀÌ»óÀÇ °¡»óÈ£½ºÆ® ±¸Á¶°¡ Æ÷ÇԵǸé
+ À̸§±â¹Ý °¡»óÈ£½ºÆ®ÀÌ´Ù. ÀÌ ¸ñ·Ï¿¡¼ °¡»óÈ£½ºÆ®µéÀº ¼³Á¤ÆÄÀÏÀÇ
+ VirtualHost ¼ø¼´ë·Î À§Ä¡ÇÑ´Ù.
¸ñ·Ï¿¡¼ ù¹øÂ° °¡»óÈ£½ºÆ®(¼³Á¤ÆÄÀÏ¿¡¼ ÇØ´ç IP ÁÖ¼Ò¸¦
+ Æ÷ÇÔÇϴ ù¹øÂ° °¡»óÈ£½ºÆ®)´Â °¡Àå ³ôÀº ¿ì¼±¼øÀ§¸¦ °¡Áö¸ç,
+ ¼¹ö¸íÀ» ¾Ë ¼ö ¾ø°Å³ª Host: Çì´õ°¡ ¾ø´Â ¿äûÀ»
+ ó¸®ÇÑ´Ù.
Ŭ¶óÀÌ¾ðÆ®°¡ Host: Çì´õ¸¦ ÁÖ¸é, ¸ñ·Ï¿¡¼
+ ù¹øÂ°·Î ServerNameÀ̳ª
+ ServerAlias°¡ ´ëÀÀÇÏ´Â °¡»óÈ£½ºÆ®°¡ ¿äûÀ»
+ ¼ºñ½ºÇÑ´Ù. Host: Çì´õ¿¡ Æ÷Æ® ¹øÈ£°¡ ³ª¿Ã ¼ö
+ ÀÖÁö¸¸, ¾ÆÆÄÄ¡´Â Ç×»ó Ŭ¶óÀÌ¾ðÆ®°¡ ¿äûÀ» º¸³½ ½ÇÁ¦ Æ÷Æ®¸¦
+ ã´Â´Ù.
Ŭ¶óÀÌ¾ðÆ®°¡ Host: Çì´õ¾øÀÌ HTTP/1.0 ¿äûÀ»
+ Çϸé Ŭ¶óÀÌ¾ðÆ®°¡ ¾î¶² ¼¹ö¿¡ ¿¬°áÇÏ·Á´ÂÁö ¾Ë ¼ö ¾ø±â¶§¹®¿¡
+ ¿äûÀÇ URI¿¡ ÇØ´çÇÏ´Â ServerPath°¡ ÀÖ´ÂÁö ã´Â´Ù.
+ ¸ñ·Ï¿¡¼ Á¦ÀÏ ¸ÕÀú ãÀº °æ·Î¸¦ »ç¿ëÇϰí, ±× °¡»óÈ£½ºÆ®°¡
+ ¿äûÀ» ¼ºñ½ºÇÑ´Ù.
´ëÀÀÇÏ´Â °¡»óÈ£½ºÆ®¸¦ ãÀ» ¼ö ¾ø´Ù¸é, (ÀÌ¹Ì ¾Õ¿¡ ¸»ÇßµíÀÌ) + Ŭ¶óÀÌ¾ðÆ®°¡ ¿¬°áÇÑ IP¿¡ ´ëÇÑ ¸ñ·Ï¿¡¼ ÀÏÄ¡ÇÏ´Â Æ÷Æ® ¹øÈ£¸¦ + Æ÷ÇÔÇϴ ù¹øÂ° °¡»óÈ£½ºÆ®°¡ ¿äûÀ» ¼ºñ½ºÇÑ´Ù.
+ + + +IP´Â À§¿¡¼ ¼³¸íÇѵ¥·Î ƯÁ¤ TCP/IP ¼¼¼Ç´ç Çѹø¸¸ + ãÁö¸¸, À̸§Àº KeepAlive/Áö¼Ó ¿¬°áµ¿¾È ¸Å ¿äû¶§¸¶´Ù + ã´Â´Ù. Áï, Ŭ¶óÀÌ¾ðÆ®´Â Áö¼Ó ¿¬°áµ¿¾È ¿©·¯ À̸§±â¹Ý + °¡»óÈ£½ºÆ®ÀÇ ÆäÀÌÁö¸¦ ¿äûÇÒ ¼ö ÀÖ´Ù.
+ + + +¿äûÀÇ URI°¡ Àý´ë URIÀ̰í Ŭ¶óÀÌ¾ðÆ®°¡ º¸³½ ¿äûÀÇ + È£½ºÆ®¸í°ú Æ÷Æ®°¡ ÁÖ¼¹ö³ª ƯÁ¤ °¡»óÈ£½ºÆ®¿¡ ÇØ´çÇϸé, + ±× ÁÖ¼¹ö ȤÀº °¡»óÈ£½ºÆ®´Â URI ¾ÕÀÇ ½ºÅ´/È£½ºÆ®¸í/Æ÷Æ® + ºÎºÐÀ» Á¦¿ÜÇÑ ³ª¸ÓÁö »ó´ë URI¸¦ ¼ºñ½ºÇÑ´Ù. ÇØ´çÇÏ´Â + ÁÖ¼¹ö³ª °¡»óÈ£½ºÆ®°¡ ¾ø´Ù¸é URI¸¦ ±×´ë·Î µÎ°í ¿äûÀ» + ÇÁ·Ï½Ã ¿äûÀ¸·Î ó¸®ÇÑ´Ù.
+ + +NameVirtualHost Áö½Ã¾î·Î Á¤ÀÇÇÑ ÁÖ¼ÒÁýÇÕÀÇ
+ IP ÁÖ¼Ò¸¦ ÅëÇØ¼¸¸ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.ServerAlias¿Í
+ ServerPath¸¦ Àý´ë·Î °Ë»çÇÏÁö ¾Ê´Â´Ù._default_ °¡»óÈ£½ºÆ®, NameVirtualHost
+ Áö½Ã¾îÀÇ ¼ø¼´Â Áß¿äÇÏÁö ¾Ê´Ù. ƯÁ¤ ÁÖ¼ÒÁýÇÕ¿¡ ´ëÇÑ
+ À̸§±â¹Ý °¡»óÈ£½ºÆ®µéÀÇ ¼ø¼¸¸ÀÌ Áß¿äÇÏ´Ù. ¼³Á¤ÆÄÀÏ¿¡¼
+ ¾Õ¿¡ ³ª¿À´Â À̸§±â¹Ý °¡»óÈ£½ºÆ®´Â ÀÚ½ÅÀÌ ¼ÓÇÑ ÁÖ¼ÒÁýÇÕ¿¡¼
+ °¡Àå ³ôÀº ¿ì¼±¼øÀ§¸¦ °¡Áø´Ù.Host: Çì´õ¿¡ Æ÷ÇÔµÈ Æ÷Æ®
+ ¹øÈ£´Â Àý´ë·Î »ç¿ëÇÏÁö ¾Ê´Â´Ù. ¾ÆÆÄÄ¡´Â Ç×»ó Ŭ¶óÀÌ¾ðÆ®°¡
+ ¿äûÀ» º¸³½ ½ÇÁ¦ Æ÷Æ®¸¦ »ç¿ëÇÑ´Ù.Host: Çì´õ°¡ ¾ø´Ù°í
+ °¡Á¤Çϸé,) ServerPath Áö½Ã¾î°¡ ¼³Á¤ÆÄÀÏ¿¡¼
+ µÚ¿¡ ³ª¿À´Â ´Ù¸¥ ServerPath Áö½Ã¾îÀÇ ¾ÕºÎºÐÀ»
+ ÁöĪÇÏ´Â °æ¿ì Ç×»ó ¾Õ¿¡ ³ª¿Â Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù._default_ °¡»óÈ£½ºÆ®´Â ¿äûÀÇ IP ÁÖ¼Ò¿Í
+ Æ÷Æ® ¹øÈ£¿¡ ÇØ´çÇÏ´Â °¡»óÈ£½ºÆ®°¡ ¾øÀ»¶§¸¸ ¿äûÀ» ó¸®ÇÑ´Ù.
+ Ŭ¶óÀÌ¾ðÆ®°¡ ¿äûÀ» º¸³½ Æ÷Æ® ¹øÈ£°¡ _default_
+ °¡»óÈ£½ºÆ®ÀÇ Æ÷Æ® ¹øÈ£(±âº»°ªÀº Listen)¿Í
+ °°À»¶§¸¸ ¿äûÀ» ó¸®ÇÑ´Ù. ¾î¶² Æ÷Æ®ÀÇ ¿äûÀÌ¶óµµ Àâ±âÀ§ÇØ
+ (¿¹¸¦ µé¾î, _default_:*) ¿ÍÀϵåÄ«µå
+ Æ÷Æ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. NameVirtualHost *
+ °¡»óÈ£½ºÆ®µµ ¸¶Âù°¡Áö´Ù._default_ °¡»óÈ£½ºÆ®¸¦ Æ÷ÇÔÇÏ¿©)
+ °¡»óÈ£½ºÆ®°¡ ¾øÀ»¶§¸¸ ¿äûÀ» ¼ºñ½ºÇÑ´Ù. Áï, ÁÖ¼¹ö´Â
+ (±× Æ÷Æ®¿¡ ÇØ´çÇÏ´Â _default_ °¡»óÈ£½ºÆ®°¡
+ ¾ø´Ù¸é) ÁöÁ¤ÇÏÁö¾ÊÀº ÁÖ¼Ò/Æ÷Æ® ½Ö¿¡ ´ëÇÑ ¿äû¸¸À» ó¸®ÇÑ´Ù.NameVirtualHost
+ Áö½Ã¾î¿¡¼) À̸§±â¹Ý °¡»óÈ£½ºÆ® ÁÖ¼Ò(¿Í Æ÷Æ®)¿¡ ¿¬°áÇÑ
+ °æ¿ì Host: Çì´õ¸¦ ¾Ë ¼ö ¾ø°Å³ª Çì´õ°¡ ¾ø´Â
+ ¿äûÀ» º¸³»¸é ¿äûÀº Àý´ë·Î _default_
+ °¡»óÈ£½ºÆ®³ª ÁÖ¼¹ö¿¡¼ ó¸®ÇÏÁö ¾Ê´Â´Ù.VirtualHost Áö½Ã¾î¿¡ DNS À̸§À» »ç¿ëÇÏÁö¸¶¶ó.
+ °Ô´Ù°¡ ¿°ÅÇÑ ¸ðµç µµ¸ÞÀÎÀÇ DNS¸¦ ÅëÁ¦ÇÏÁö ¾Ê´Â´Ù¸é
+ º¸¾È»ó À§Çèµµ ÀÖ´Ù. ÀÌ¿¡ ´ëÇÑ Á¤º¸°¡ ÀÖ´Ù.ServerName¸¦ Ç×»ó
+ Á¤ÀÇÇØ¾ß ÇÑ´Ù. ¾È±×·¯¸é °¡»óÈ£½ºÆ®¸¶´Ù DNS¸¦ ã°Ô µÈ´Ù.DNS ¹®Á¦ ÆäÀÌÁöÀÇ + ÆÁ¿¡ Ãß°¡·Î ¾Æ·¡¿¡ ÆÁÀÌ ÀÖ´Ù:
+ +VirtualHost Á¤ÀÇ ¾Õ¿¡
+ µÎ¾î¶ó. (±×·¯¸é ¼³Á¤À» ÀÐ±â ÆíÇÏ´Ù. ¾È±×·¯¸é ³ªÁß¿¡ ¼³Á¤ÀÌ
+ ÇÕÃÄÁú¶§ °¡»óÈ£½ºÆ®µé »çÀÌ¿¡ ¼¯ÀÎ Á¤Àǰ¡ ¸ðµç °¡»óÈ£½ºÆ®¿¡
+ ¿µÇâÀ» ÁÙ ¼ö Àֱ⶧¹®¿¡ È¥¶õ½º·´´Ù.)NameVirtualHost°ú
+ VirtualHost Á¤ÀǵéÀ» ¹¾î¶ó.ServerPath°¡ ´Ù¸¥ ServerPathÀÇ
+ ¾ÕºÎºÐÀ» ÁöĪÇÏ´Â °æ¿ì¸¦ ÇÇÇ϶ó. ÇÇÇÒ ¼ö ¾ø´Ù¸é ¼³Á¤ÆÄÀÏ¿¡¼
+ ¾ÕºÎºÐÀÌ ´õ ±ä (´õ ÀÚ¼¼ÇÑ) °¡»óÈ£½ºÆ®¸¦ ªÀº (´ú ÀÚ¼¼ÇÑ)
+ °¡»óÈ£½ºÆ®º¸´Ù ¾Õ¿¡ µÎ¾î¶ó. (¿¹¸¦ µé¾î,
+ "ServerPath /abc"´Â "ServerPath /abc/def" ´ÙÀ½¿¡ µÎ¾î¾ß
+ ÇÑ´Ù.Apache HTTP Server Version 2.1
+
ÀÌ ¹®¼´Â ÀÚÁÖ ¹®ÀǵǴ °¡»óÈ£½ºÆ® + Áú¹®¿¡ ´äÀ» ÇÏ·Á°í ¾²¿©Á³´Ù. »óȲÀº À̸§±â¹ÝÀ̳ª IP±â¹Ý °¡»óÈ£½ºÆ®¸¦ ÅëÇØ ÇÑ ¼¹ö¿¡¼ + ¿©·¯ À¥»çÀÌÆ®¸¦ ¼ºñ½ºÇÏ·Á´Â °æ¿ìÀÌ´Ù. ÇÑ ÇÁ·Ï½Ã ¼¹ö µÚ¿¡¼ + ¿©·¯ ¼¹ö¸¦ »ç¿ëÇÏ¿© »çÀÌÆ®¸¦ ¿î¿µÇÏ´Â °æ¿ì¸¦ ´Ù·é ¹®¼µµ + °ð ³ª¿Ã °ÍÀÌ´Ù.
+ +
IP ÁÖ¼Ò ÇѰ³¿¡ ¿©·¯ À̸§±â¹Ý
+ À¥»çÀÌÆ® ¿î¿µÇϱâ.
¿©·¯ IP ÁÖ¼Ò¿¡¼ À̸§±â¹Ý
+ È£½ºÆ®.
(³»ºÎ¿Í ¿ÜºÎ ÁÖ¼Ò¿Í °°ÀÌ)
+ ´Ù¸¥ IP ÁÖ¼Ò·Î °°Àº ³»¿ëÀ» ¼ºñ½ºÇϱâ.
¿©·¯ Æ÷Æ®¿¡¼ ¼·Î ´Ù¸¥ »çÀÌÆ®
+ ¿î¿µÇϱâ.
IP±â¹Ý °¡»óÈ£½ºÆ®
Æ÷Æ®±â¹Ý°ú ip±â¹ÝÀÌ È¥ÇÕµÈ
+ °¡»óÈ£½ºÆ®
À̸§±â¹Ý°ú IP±â¹ÝÀÌ È¥ÇÕµÈ
+ °¡»óÈ£½ºÆ®
_default_ °¡»óÈ£½ºÆ®
+ »ç¿ëÇϱâ
À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ IP±â¹Ý
+ °¡»óÈ£½ºÆ®·Î ¿Å±â±â
ServerPath
+ Áö½Ã¾î »ç¿ëÇϱ⼹ö¿¡ IP ÁÖ¼Ò°¡ ÇѰ³ ÀÖ°í, DNS¿¡¼ ¿©·¯ ÁÖ¼Ò(CNAMES)°¡
+ ÀÌ ÄÄÇ»Å͸¦ °¡¸®Å²´Ù. ÀÌ ÄÄÇ»ÅÍ¿¡¼ www.example1.com°ú
+ www.example2.orgÀÇ À¥¼¹ö¸¦ ½ÇÇàÇÏ°í ½Í´Ù.
¾ÆÆÄÄ¡ ¼¹ö¿¡ °¡»óÈ£½ºÆ® ¼³Á¤À»
+ ÇÑ´Ù°í ±× È£½ºÆ®¸í¿¡ ´ëÇÑ DNS Ç׸ñÀÌ ÀÚµ¿ÀÌ·Î »ý¼ºµÇÁö
+ ¾Ê´Â´Ù. ¹Ýµå½Ã DNS¿¡ IP ÁÖ¼Ò¸¦ °¡¸®Å°´Â
+ À̸§ÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ¾È±×·¯¸é ¾Æ¹«µµ À¥»çÀÌÆ®¸¦ º¼
+ ¼ö ¾ø´Ù. °Ë»çÇØº¸±â À§ÇØ hosts ÆÄÀÏ¿¡ Ç׸ñÀ»
+ Ãß°¡ÇÒ ¼ö ÀÖÁö¸¸, ÀÌ´Â hosts Ç׸ñÀ» °¡Áø ÄÄÇ»ÅÍ¿¡¸¸
+ ¹Ý¿µµÈ´Ù.
+
+
+ # ¾ÆÆÄÄ¡°¡ Æ÷Æ® 80À» ±â´Ù¸°´Ù
+ Listen 80
+
+ # ¸ðµç IP ÁÖ¼Ò¿¡¼ °¡»óÈ£½ºÆ® ¿äûÀ» ±â´Ù¸°´Ù
+ NameVirtualHost *
+
+ <VirtualHost *>
+
+ DocumentRoot /www/example1
+ ServerName www.example1.com
+
+ # ´Ù¸¥ Áö½Ã¾îµéµµ ÀÖ´Ù
+
+
+ </VirtualHost>
+
+ <VirtualHost *>
+
+ DocumentRoot /www/example2
+ ServerName www.example2.org
+
+ # ´Ù¸¥ Áö½Ã¾îµéµµ ÀÖ´Ù
+
+
+ </VirtualHost>
+
º°Ç¥´Â ¸ðµç ÁÖ¼Ò¸¦ °¡¸®Å°¹Ç·Î, ÁÖ¼¹ö´Â ¾î¶² ¿äûµµ
+ ¼ºñ½ºÇÏÁö ¾Ê´Â´Ù. www.example1.comÀÌ
+ ¼³Á¤ÆÄÀÏ¿¡ óÀ½À¸·Î ³ª¿À¹Ç·Î °¡Àå ³ôÀº ¿ì¼±¼øÀ§¸¦ °¡Áö¸ç,
+ ±âº»È¤Àº Ãʱ⠼¹ö°¡ µÈ´Ù.
+ ¾î¶² ServerName Áö½Ã¾î¿¡µµ ÇØ´çµÇÁö¾Ê´Â ¿äûÀº
+ ù¹øÂ° VirtualHost°¡ ¼ºñ½ºÇÑ´Ù.
¿øÇÑ´Ù¸é * ´ë½Å ½Ã½ºÅÛÀÇ ½ÇÁ¦ IP
+ ÁÖ¼Ò¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì
+ VirtualHostÀÇ ¾Æ±Ô¸ÕÆ®´Â
+ NameVirtualHostÀÇ ¾Æ±Ô¸ÕÆ®¿Í ÀÏÄ¡ÇØ¾ß
+ ÇÑ´Ù:
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40>
+ # »ý·« ...
+
±×·¯³ª ISP¿¡¼ µ¿ÀûÀ¸·Î IP ÁÖ¼Ò¸¦ °¡Á®¿À´Â µî
+ IP ÁÖ¼Ò¸¦ ¸ð¸£´Â °æ¿ì¿¡´Â *¸¦ »ç¿ëÇÏ´Â
+ °ÍÀÌ À¯¿ëÇÏ´Ù. *´Â ¸ðµç IP ÁÖ¼Ò¿¡
+ ÇØ´çÇϹǷÎ, IP ÁÖ¼Ò°¡ º¯°æµÇ¾îµµ ¼³Á¤À» º¯°æÇÒ
+ Çʿ䰡 ¾ø´Ù.
°ÅÀÇ ´ëºÎºÐÀÇ À̸§±â¹Ý °¡»óÈ£½ºÆ® ¼³Á¤Àº À§¿Í °°´Ù. + ¿¹¿Ü´Â ´Ù¸¥ IP ÁÖ¼Ò³ª Æ÷Æ®·Î ´Ù¸¥ ³»¿ëÀ» ¼ºñ½ºÇÏ·Á´Â + °æ¿ìÀÌ´Ù.
+ +¿©±â¼ ¼³¸íÇÑ ¹æ¹ýÀº IP ÁÖ¼Ò°¡ + ¸î°³¶óµµ Àû¿ë°¡´ÉÇÏ´Ù.
+¼¹ö´Â IP ÁÖ¼Ò°¡ µÎ°³ÀÖ´Ù. Çϳª¿¡¼
+ (172.20.30.40) "ÁÖ" ¼¹ö
+ server.domain.comÀ» ¼ºñ½ºÇϰí, ´Ù¸¥ Çϳª¿¡¼
+ (172.20.30.50) ¿©·¯ °¡»óÈ£½ºÆ®¸¦ ¼ºñ½ºÇÒ
+ °ÍÀÌ´Ù.
+
+
+ Listen 80
+
+ # 172.20.30.40¿¡¼ ½ÇÇàÇÏ´Â "ÁÖ"¼¹öÀÌ´Ù
+ ServerName server.domain.com
+ DocumentRoot /www/mainserver
+
+ # ´Ù¸¥ ÁÖ¼Ò´Ù
+ NameVirtualHost 172.20.30.50
+
+ <VirtualHost 172.20.30.50>
+
+ DocumentRoot /www/example1
+ ServerName www.example1.com
+
+ # ´Ù¸¥ Áö½Ã¾îµéµµ ÀÖ´Ù ...
+
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50>
+
+ DocumentRoot /www/example2
+ ServerName www.example2.org
+
+ # ´Ù¸¥ Áö½Ã¾îµéµµ ÀÖ´Ù ...
+
+
+ </VirtualHost>
+
172.20.30.50ÀÌ ¾Æ´Ñ ÁÖ¼Ò¿¡ ´ëÇÑ ¿äûÀº
+ ÁÖ¼¹ö°¡ ¼ºñ½ºÇÑ´Ù. È£½ºÆ®¸í ¾øÀÌ, Áï Host:
+ Çì´õ¾øÀÌ 172.20.30.50·Î ¿äûÇϸé
+ www.example1.comÀÌ ¼ºñ½ºÇÑ´Ù.
¼¹ö ÄÄÇ»ÅÍ¿¡ IP ÁÖ¼Ò°¡ µÎ°³ (192.168.1.1°ú
+ 172.20.30.40) ÀÖ´Ù. ÄÄÇ»ÅÍ´Â ³»ºÎ (ÀÎÆ®¶ó³Ý)
+ ³×Æ®¿÷°ú ¿ÜºÎ (ÀÎÅͳÝ) ³×Æ®¿÷ »çÀÌ¿¡ À§Ä¡ÇÑ´Ù. ³×Æ®¿÷ ¹Û¿¡¼
+ server.example.comÀº ¿ÜºÎ ÁÖ¼Ò¸¦
+ (172.20.30.40) ÀǹÌÇϰí, ³×Æ®¿÷ ³»ºÎ¿¡¼ °°Àº
+ À̸§À» ³»ºÎ ÁÖ¼Ò·Î (192.168.1.1) »ç¿ëÇÑ´Ù.
¼¹ö´Â VirtualHost ¼½¼Ç ÇѰ³·Î ³»ºÎ¿Í ¿ÜºÎ
+ ÀÀ´ä¿¡ °°Àº ³»¿ëÀ» ¼ºñ½ºÇÒ ¼ö ÀÖ´Ù.
+
+
+ NameVirtualHost 192.168.1.1
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 192.168.1.1 172.20.30.40>
+
+ DocumentRoot /www/server1
+ ServerName server.example.com
+ ServerAlias server
+
+ </VirtualHost>
+
ÀÌÁ¦ µÎ ³×Æ®¿÷¿¡¼ µé¾î¿Â ¿äûÀ» °°Àº
+ VirtualHost¿¡¼ ¼ºñ½ºÇÑ´Ù.
³»ºÎ ³×Æ®¿÷¿¡¼´Â ¿ÏÀüÇÑ È£½ºÆ®¸í
+ server.example.com ´ë½Å À̸§
+ serverµµ °¡´ÉÇÏ´Ù.
¶ÇÇÑ À§ÀÇ ¿¹¿¡¼ IP ÁÖ¼Ò ´ë½Å *À»
+ »ç¿ëÇÏ¿© ¼¹ö°¡ ¸ðµç ÁÖ¼Ò¿¡ µ¿ÀÏÇÏ°Ô µ¿ÀÛÇÒ ¼ö
+ ÀÖ´Ù.
°°Àº IPÀÇ ¿©·¯ Æ÷Æ®¿¡¼ ¼·Î ´Ù¸¥ µµ¸ÞÀÎÀ» ¼ºñ½ºÇÑ´Ù°í + °¡Á¤ÇÏÀÚ. ÀÌ´Â "NameVirtualHost" ű׿¡ Æ÷Æ®¸¦ Á¤ÀÇÇϸé + °¡´ÉÇÏ´Ù. NameVirtualHost name:port¾øÀÌ <VirtualHost + name:port>¸¸ ȤÀº Listen Áö½Ã¾î¸¸ »ç¿ëÇÏ¸é ¾ÈµÈ´Ù.
+ +
+
+
+ Listen 80
+ Listen 8080
+
+ NameVirtualHost 172.20.30.40:80
+ NameVirtualHost 172.20.30.40:8080
+
+ <VirtualHost 172.20.30.40:80>
+
+ ServerName www.example1.com
+ DocumentRoot /www/domain-80
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+
+ ServerName www.example1.com
+ DocumentRoot /www/domain-8080
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:80>
+
+ ServerName www.example2.org
+ DocumentRoot /www/otherdomain-80
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+
+ ServerName www.example2.org
+ DocumentRoot /www/otherdomain-8080
+
+ </VirtualHost>
+
¼¹ö´Â °¢°¢ www.example1.com°ú
+ www.example2.org¿¡ ÇØ´çÇÏ´Â µÎ IP ÁÖ¼Ò¸¦
+ (172.20.30.40°ú 172.20.30.50)
+ °¡Áø´Ù.
+
+
+ Listen 80
+
+ <VirtualHost 172.20.30.40>
+
+ DocumentRoot /www/example1
+ ServerName www.example1.com
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50>
+
+ DocumentRoot /www/example2
+ ServerName www.example2.org
+
+ </VirtualHost>
+
<VirtualHost> Áö½Ã¾î·Î ÁöÁ¤ÇÑ ÁÖ¼Ò¿¡
+ ÇØ´çÇÏÁö¾Ê´Â ÁÖ¼Ò·Î (¿¹¸¦ µé¾î, localhost)
+ ¿äûÀÌ µé¾î¿À¸é ÁÖ¼¹ö°¡ ÀÖ´Â °æ¿ì ÁÖ¼¹ö°¡ ¼ºñ½ºÇÑ´Ù.
¼¹ö´Â °¢°¢ www.example1.com°ú
+ www.example2.org¿¡ ÇØ´çÇÏ´Â µÎ IP ÁÖ¼Ò¸¦
+ (172.20.30.40°ú 172.20.30.50)
+ °¡Áø´Ù. °¢ IPÀÇ 80¹ø°ú 8080¹ø Æ÷Æ®¿¡ °¡»óÈ£½ºÆ®¸¦ µ¹¸°´Ù.
+
+
+ Listen 172.20.30.40:80
+ Listen 172.20.30.40:8080
+ Listen 172.20.30.50:80
+ Listen 172.20.30.50:8080
+
+ <VirtualHost 172.20.30.40:80>
+
+ DocumentRoot /www/example1-80
+ ServerName www.example1.com
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40:8080>
+
+ DocumentRoot /www/example1-8080
+ ServerName www.example1.com
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50:80>
+
+ DocumentRoot /www/example2-80
+ ServerName www.example1.org
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.50:8080>
+
+ DocumentRoot /www/example2-8080
+ ServerName www.example2.org
+
+ </VirtualHost>
+
ÁÖ¼ÒÁß ¸î¸îÀº À̸§±â¹Ý °¡»óÈ£½ºÆ®·Î, ´Ù¸¥ °ÍÀº IP±â¹Ý + °¡»óÈ£½ºÆ®·Î ¼ºñ½ºÇÏ°í ½Í´Ù.
+ +
+
+
+ Listen 80
+
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40>
+
+ DocumentRoot /www/example1
+ ServerName www.example1.com
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+
+ DocumentRoot /www/example2
+ ServerName www.example2.org
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+
+ DocumentRoot /www/example3
+ ServerName www.example3.net
+
+ </VirtualHost>
+
+ # IP-±â¹Ý
+ <VirtualHost 172.20.30.50>
+
+ DocumentRoot /www/example4
+ ServerName www.example4.edu
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.60>
+
+ DocumentRoot /www/example5
+ ServerName www.example5.gov
+
+ </VirtualHost>
+
_default_ °¡»óÈ£½ºÆ®
+ »ç¿ëÇϱâ_default_ °¡»óÈ£½ºÆ®¾î¶² °¡»óÈ£½ºÆ®¿¡µµ ÇØ´çÇÏÁö¾ÊÀº IP ÁÖ¼Ò¿Í Æ÷Æ®¿¡ ´ëÇÑ + ¸ðµç ¿äûÀ» ó¸®Çϱâ.
+ +
+
+
+ <VirtualHost _default_:*>
+
+ DocumentRoot /www/default
+
+ </VirtualHost>
+
default(±âº») °¡»óÈ£½ºÆ®ÀÇ Æ÷Æ®·Î ¿ÍÀϵåÄ«µå¸¦ »ç¿ëÇÏ¿© ¾î¶² ¿äûµµ + ÁÖ¼¹ö·Î ¸ø°¡µµ·Ï ¸¸µç´Ù.
+ +default °¡»óÈ£½ºÆ®´Â Àý´ë·Î À̸§±â¹Ý °¡»óÈ£½ºÆ®°¡ »ç¿ëÇÏ´Â
+ ÁÖ¼Ò/Æ÷Æ®·ÎÀÇ ¿äûÀ» ¼ºñ½ºÇÏÁö ¾Ê´Â´Ù. ¾Ë ¼ö ¾ø°Å³ª
+ Host: Çì´õ°¡ »ý·«µÈ ¿äûÀº Ç×»ó ÃÖÃÊÀÇ À̸§±â¹Ý
+ °¡»óÈ£½ºÆ®(¼³Á¤ÆÄÀÏ¿¡¼
+ ÁÖ¼Ò/Æ÷Æ®°¡ óÀ½À¸·Î ³ª¿Â °¡»óÈ£½ºÆ®)°¡ ¼ºñ½ºÇÑ´Ù.
AliasMatch³ª
+ RewriteRuleÀ»
+ »ç¿ëÇÏ¿© ¾î¶² ¿äûÀ» ƯÁ¤ ÆäÀÌÁö(ȤÀº ½ºÅ©¸³Æ®)·Î
+ ÀçÀÛ¼ºÇÒ(rewrite) ¼ö ÀÖ´Ù.
_default_ °¡»óÈ£½ºÆ®À§ÀÇ °æ¿ì¿Í °°Áö¸¸, ¼¹ö´Â ¿©·¯ Æ÷Æ®¸¦ ±â´Ù¸®°í 80¹ø
+ Æ÷Æ®¿¡ ´ëÇØ¼ Ãß°¡·Î _default_ °¡»óÈ£½ºÆ®¸¦
+ »ç¿ëÇÏ°í ½Í´Ù.
+
+
+ <VirtualHost _default_:80>
+
+ DocumentRoot /www/default80
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost _default_:*>
+
+ DocumentRoot /www/default
+ # ...
+
+ </VirtualHost>
+
80¹ø Æ÷Æ®¿¡ ´ëÇÑ default °¡»óÈ£½ºÆ®´Â (¹Ýµå½Ã + ¿ÍÀϵåÄ«µå Æ÷Æ®¸¦ °¡Áø ±âº» °¡»óÈ£½ºÆ® ÀÌÀü¿¡ ³ª¿Í¾ß ÇÑ´Ù) + ÁöÁ¤ÇÏÁö¾ÊÀº IP ÁÖ¼Ò·Î º¸³»Áø ¸ðµç ¿äûÀ» ¼ºñ½ºÇÑ´Ù. + ÁÖ¼¹ö´Â Àý´ë·Î ¿äûÀ» ¼ºñ½ºÇÏÁö ¸øÇÑ´Ù.
+ + +_default_ °¡»óÈ£½ºÆ®80¹ø Æ÷Æ®¿¡ ´ëÇØ¼¸¸ default °¡»óÈ£½ºÆ®¸¦ ¸¸µé°í ½Í´Ù.
+ +
+
+
+ <VirtualHost _default_:80>
+ DocumentRoot /www/default
+ ...
+ </VirtualHost>
+
Æ÷Æ® 80¹ø¿¡ ÁöÁ¤ÇÏÁö¾ÊÀº ÁÖ¼Ò¿¡ ´ëÇÑ ¿äûÀº ±âº» + °¡»óÈ£½ºÆ®°¡ ¼ºñ½ºÇϰí, ´Ù¸¥ ÁöÁ¤ÇÏÁö¾ÊÀº ÁÖ¼Ò¿Í Æ÷Æ®¸¦ + °¡Áø ¿äûÀº ÁÖ ¼¹ö°¡ ¼ºñ½ºÇÑ´Ù.
+ + +(À̸§±â¹ÝÀÇ Ã¹¹øÂ° ¿¹¿¡¼) È£½ºÆ®¸í
+ www.example2.org¿¡ ´ëÇÑ À̸§±â¹Ý °¡»óÈ£½ºÆ®´Â
+ ÀÚ½ÅÀÇ IP ÁÖ¼Ò¸¦ °¡Á®¾ß ÇÑ´Ù. À̸§±â¹Ý °¡»óÈ£½ºÆ®ÀÇ ÀÌÀü
+ IP ÁÖ¼Ò¸¦ ij½ÌÇÏ´Â ³×ÀÓ¼¹ö³ª ÇÁ·Ï½Ã¿ÍÀÇ ¹®Á¦¸¦ ÇÇÇϱâÀ§ÇØ
+ ¿Å±â´Â µ¿¾È µÑ ¸ðµÎ¸¦ ¼ºñ½ºÇÏ°í ½Í´Ù.
¹æ¹ýÀº
+ VirtualHost Áö½Ã¾î¿¡ »õ IP ÁÖ¼Ò¸¸À»
+ (172.20.30.50) Ãß°¡ÇϸéµÇ¹Ç·Î ½±´Ù.
+
+
+ Listen 80
+ ServerName www.example1.com
+ DocumentRoot /www/example1
+
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40 172.20.30.50>
+
+ DocumentRoot /www/example2
+ ServerName www.example2.org
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+
+ DocumentRoot /www/example3
+ ServerName www.example3.net
+ ServerAlias *.example3.net
+ # ...
+
+ </VirtualHost>
+
ÀÌÁ¦ (IP±â¹Ý °¡»óÈ£½ºÆ®¸¦ ÅëÇÑ) »õ·Î¿î ÁÖ¼Ò¿Í (À̸§±â¹Ý + °¡»óÈ£½ºÆ®¸¦ ÅëÇÑ) ÀÌÀü ÁÖ¼Ò ¸ðµÎ °¡»óÈ£½ºÆ®¿¡ Á¢±ÙÇÒ + ¼ö ÀÖ´Ù.
+ +ServerPath
+ Áö½Ã¾î »ç¿ëÇϱâµÎ À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ °¡Áø ¼¹ö°¡ ÀÖ´Ù. ¿Ã¹Ù¸¥
+ °¡»óÈ£½ºÆ®¸¦ ¼±ÅÃÇϱâÀ§ÇØ Å¬¶óÀÌ¾ðÆ®´Â ¿Ã¹Ù¸¥
+ Host: Çì´õ¸¦ º¸³»¾ß ÇÑ´Ù. ¿À·¡µÈ HTTP/1.0
+ Ŭ¶óÀÌ¾ðÆ®°¡ ÀÌ Çì´õ¸¦ º¸³»Áö ¸øÇÏ¸é ¾ÆÆÄÄ¡´Â Ŭ¶óÀÌ¾ðÆ®°¡
+ ¾î¶² °¡»óÈ£½ºÆ®¸¦ º¸·Á°íÇÏ´ÂÁö ¾Ë ¼ö ¾ø´Ù (±×·¡¼ ÃÖÃÊÀÇ
+ °¡»óÈ£½ºÆ®°¡ ¿äûÀ» ¼ºñ½ºÇÑ´Ù). ¿À·¡µÈ ºê¶ó¿ìÀú¿Í °¡´ÉÇÑ È£È¯À»
+ À¯ÁöÇϱâÀ§ÇØ ÃÖÃÊÀÇ °¡»óÈ£½ºÆ®¸¦ ¸¸µé°í, ¿©±â¿¡ À̸§±â¹Ý
+ °¡»óÈ£½ºÆ®ÀÇ URL Á¢µÎ»ç¸¦ Æ÷ÇÔÇÏ´Â ¸µÅ© ¸ñ·Ï ÆäÀÌÁö¸¦
+ µÐ´Ù.
+
+
+ NameVirtualHost 172.20.30.40
+
+ <VirtualHost 172.20.30.40>
+
+ # primary vhost
+ DocumentRoot /www/subdomain
+ RewriteEngine On
+ RewriteRule ^/.* /www/subdomain/index.html
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+ DocumentRoot /www/subdomain/sub1
+
+ ServerName www.sub1.domain.tld
+ ServerPath /sub1/
+ RewriteEngine On
+ RewriteRule ^(/sub1/.*) /www/subdomain$1
+ # ...
+
+ </VirtualHost>
+
+ <VirtualHost 172.20.30.40>
+
+ DocumentRoot /www/subdomain/sub2
+ ServerName www.sub2.domain.tld
+ ServerPath /sub2/
+ RewriteEngine On
+ RewriteRule ^(/sub2/.*) /www/subdomain$1
+ # ...
+
+ </VirtualHost>
+
ServerPath Áö½Ã¾î¶§¹®¿¡
+ URL http://www.sub1.domain.tld/sub1/¿¡ ´ëÇÑ
+ ¿äûÀº Ç×»ó subl-°¡»óÈ£½ºÆ®°¡ ¼ºñ½ºÇÑ´Ù.
+ Ŭ¶óÀÌ¾ðÆ®°¡ ¿Ã¹Ù¸¥ Host: Çì´õ¸¦ º¸³½´Ù¸é,
+ URL http://www.sub1.domain.tld/¿¡ ´ëÇÑ ¿äûÀº
+ subl-°¡»óÈ£½ºÆ®¿¡¼¸¸ ¼ºñ½ºÇÑ´Ù. ¸¸¾à Host: Çì´õ¸¦
+ º¸³»Áö¾ÊÀ¸¸é Ŭ¶óÀÌ¾ðÆ®´Â ÃÖÃÊÀÇ È£½ºÆ®¿¡ ÀÖ´Â Á¤º¸ÆäÀÌÁö¸¦
+ º¸°ÔµÈ´Ù.
¿©±â¿¡ ¹®Á¦°¡ ÀÖÀ½À» ÁÖÀÇÇ϶ó: Ŭ¶óÀÌ¾ðÆ®°¡
+ Host: Çì´õ¸¦ º¸³»Áö¾ÊÀ¸¸é
+ http://www.sub2.domain.tld/sub1/¿¡ ´ëÇÑ ¿äûµµ
+ subl-°¡»óÈ£½ºÆ®°¡ ¼ºñ½ºÇÑ´Ù.
+ RewriteRule
+ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¿Ã¹Ù¸¥ Host: Çì´õ¸¦ º¸³»´Â
+ Ŭ¶óÀÌ¾ðÆ®´Â (¿¹¸¦ µé¾î, URL ÀüÄ¡»ç°¡ Àְųª ¾ø´Â)
+ µÎ URLÀ» ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
Apache HTTP Server Version 2.1
+
°¡»óÈ£½ºÆ®¸¦ ¸¹ÀÌ »ç¿ëÇÏ°í °¢ °¡»óÈ£½ºÆ®¿¡ ¼·Î ´Ù¸¥ + ·Î±×ÆÄÀÏÀ» ÁöÁ¤Çϸé, ¾ÆÆÄÄ¡°¡ »ç¿ë°¡´ÉÇÑ ÆÄÀϱâ¼úÀÚ(file + descriptor, ÈçÈ÷ ÆÄÀÏÇÚµé(file handle)À̶ó°í + ºÎ¸§)¸¦ ´Ù ½á¹ö¸± ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡°¡ »ç¿ëÇÏ´Â ÆÄÀϱâ¼úÀÚÀÇ + ÃÑ °³¼ö´Â ¿À·ù ·Î±×ÆÄÀÏ´ç ÇѰ³, ´Ù¸¥ ·Î±×ÆÄÀÏ Áö½Ã¾î´ç + ÇѰ³, Ãß°¡·Î ³»ºÎ¿ëµµ·Î 10-20°³¸¦ ´õÇÑ ¼ö´Ù. À¯´Ð½º ¿î¿µÃ¼Á¦´Â + ÇÁ·Î¼¼½º°¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ÆÄÀϱâ¼úÀÚ °³¼ö¸¦ Á¦ÇÑÇÑ´Ù. ÀÌ ÇѰè´Â + º¸Åë 64°³·Î, º¸Åë À̺¸´Ù Å« hard-limit±îÁö ´Ã¸± ¼ö ÀÖ´Ù.
+ +¾ÆÆÄÄ¡´Â ÀÌ ÇѰ踦 ÇÊ¿äÇѸ¸Å ´Ã¸®·Á°í ÇÏÁö¸¸, ½ÇÆÐÇÏ´Â + °æ¿ì°¡ ÀÖ´Ù:
+ +setrlimit() ½Ã½ºÅÛÈ£ÃâÀ»
+ Á¦°øÇÏÁö ¾Ê´Â´Ù.setrlimit(RLIMIT_NOFILE) ÇÔ¼ö°¡ µ¿ÀÛÇÏÁö
+ ¾Ê´Â´Ù.ÀÌ °æ¿ì ÇØ°áÃ¥Àº:
+ +<VirtualHost> ¼½¼Ç¿¡¼ ·Î±×ÆÄÀÏÀ»
+ ÁöÁ¤ÇÏÁö ¾Ê°í ÁÖ ·Î±×ÆÄÀÏÀ» »ç¿ëÇÑ´Ù. (´õ ÀÚ¼¼ÇÑ ¹æ¹ýÀº
+ ¾Æ·¡ ·Î±×ÆÄÀÏ ³ª´©±â¸¦ Âü°íÇ϶ó.)
+ #!/bin/sh
+
+ ulimit -S -n 100
+ exec httpd
¿©·¯ °¡»óÈ£½ºÆ®°¡ °°Àº ·Î±×ÆÄÀÏÀ» »ç¿ëÇÑ´Ù¸é ³ªÁß¿¡ °¢ +°¡»óÈ£½ºÆ®ÀÇ Åë°èºÐ¼®À» À§ÇØ ·Î±×ÆÄÀÏÀ» ³ª´©°í ½ÍÀ» °ÍÀÌ´Ù. +ÀÌ ÀÛ¾÷Àº ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ´Ù.
+ +¸ÕÀú ·Î±× Ç׸ñ¿¡ °¡»óÈ£½ºÆ® Á¤º¸¸¦ Ãß°¡ÇÑ´Ù. À̸¦ À§ÇØ
+LogFormat
+Áö½Ã¾î¿Í %v º¯¼ö¸¦ »ç¿ëÇÑ´Ù. ÀÌ º¯¼ö¸¦ ·Î±×
+Çü½Ä¹®ÀÚ¿ ¾Õ¿¡ Ãß°¡ÇÑ´Ù:
+LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost
+CustomLog logs/multiple_vhost_log vhost
+
±×·¯¸é common ·Î±×Çü½Ä ¾Õ¿¡ (ServerName Áö½Ã¾î¿¡ ³ª¿À´Â) Á¤±Ô
+°¡»óÈ£½ºÆ®¸¦ Æ÷ÇÔÇÏ¿© ·Î±×ÆÄÀÏÀ» ±â·ÏÇÑ´Ù. (·Î±×ÆÄÀÏ
+»ç¿ëÀÚÁ¤ÀÇ¿¡ °üÇÑ ³»¿ëÀº »ç¿ëÀÚÁ¤ÀÇ ·Î±×Çü½ÄÀ»
+Âü°íÇ϶ó.)
·Î±×ÆÄÀÏÀ» (°¡»óÈ£½ºÆ®´ç ÇÑ ÆÄÀϾ¿) ³ª´©°í ½Í´Ù¸é split-logfile ÇÁ·Î±×·¥À»
+»ç¿ëÇÑ´Ù. ÀÌ ÇÁ·Î±×·¥Àº ¾ÆÆÄÄ¡ ¹èÆ÷º»ÀÇ support
+µð·ºÅ丮¿¡ ÀÖ´Ù.
´ÙÀ½°ú °°ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù:
+ +
+split-logfile < /logs/multiple_vhost_log
+
°¡»óÈ£½ºÆ® ·Î±×ÆÄÀÏÀ» °¡Áö°í ÀÌ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ¸é ·Î±×ÆÄÀÏ¿¡
+³ª¿À´Â °¢ °¡»óÈ£½ºÆ®´ç ÆÄÀÏÀ» Çϳª¾¿ ¸¸µç´Ù. °¢°¢ÀÇ ÆÄÀϸíÀº
+hostname.logÀÌ´Ù.
Apache HTTP Server Version 2.1
+
°¡»óÈ£½ºÆ® (Virtual Host)´Â ÇÑ ÄÄÇ»ÅÍ¿¡¼
+ ¿©·¯ À¥»çÀÌÆ®¸¦ (¿¹¸¦ µé¾î, www.company1.com°ú
+ www.company2.com) ¼ºñ½ºÇÔÀ» ¶æÇÑ´Ù.
+ °¡»óÈ£½ºÆ®¿¡´Â °¢ À¥»çÀÌÆ®¸¶´Ù ´Ù¸¥ IP ÁÖ¼Ò¸¦ »ç¿ëÇÏ´Â
+ "IP±â¹Ý (IP-based)" ¹æ½Ä°ú ÇÑ
+ IP ÁÖ¼Ò´ç ¿©·¯ À̸§À» °¡Áö´Â "À̸§±â¹Ý (name-based)" ¹æ½ÄÀÌ
+ ÀÖ´Ù. ¿©·¯ »çÀÌÆ®µéÀÌ °°Àº ¼¹ö¿¡¼ µ¹°íÀÖ´Ù´Â »ç½ÇÀ» À¥»ç¿ëÀÚ´Â
+ ´«Ä¡Ã¤Áö ¸øÇÑ´Ù.
¾ÆÆÄÄ¡´Â ±âº»À¸·Î IP±â¹Ý °¡»óÈ£½ºÆ®¸¦ Áö¿øÇÑ ÃÊâ±â + ¼¹öµéÁß Çϳª´Ù. ¾ÆÆÄÄ¡ ¹öÀü 1.1 ÀÌ»óÀº IP±â¹Ý°ú À̸§±â¹Ý + °¡»óÈ£½ºÆ®¸¦ ¸ðµÎ Áö¿øÇÑ´Ù. À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ + È£½ºÆ®±â¹Ý (host-based) ¶Ç´Â ºñIP °¡»óÈ£½ºÆ® + (non-IP virtual hosts)¶ó°íµµ ºÎ¸¥´Ù.
+ +´ÙÀ½Àº ¾ÆÆÄÄ¡ ¹öÀü 1.3 ÀÌ»óÀÇ °¡»óÈ£½ºÆ® Áö¿øÀ» ÀÚ¼¼È÷ + ¼³¸íÇÑ ¹®¼µéÀÌ´Ù.
+ +<VirtualHost>NameVirtualHostServerNameServerAliasServerPath°¡»óÈ£½ºÆ® ¼³Á¤À» Å×½ºÆ®ÇÒ¶§ ¾ÆÆÄÄ¡ÀÇ -S
+ ¸í·ÉÇà ¿É¼ÇÀÌ À¯¿ëÇÏ´Ù. Áï, ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÑ´Ù:
+ /usr/local/apache2/bin/httpd -S
+
ÀÌ ¸í·É¾î´Â ¾ÆÆÄÄ¡°¡ ÀÐÀº ¼³Á¤ÆÄÀÏ¿¡ ´ëÇÑ + Á¤º¸¸¦ Ãâ·ÂÇÑ´Ù. IP ÁÖ¼Ò¿Í ¼¹ö¸íÀ» ÀÚ¼¼È÷ »ìÆìº¸¸é ¼³Á¤¿¡¼ + ½Ç¼ö¸¦ ¹ß°ßÇϴµ¥ µµ¿òÀÌ µÉ °ÍÀÌ´Ù. (´Ù¸¥ ¸í·ÉÇà ¿É¼ÇµéÀº + httpd ÇÁ·Î±×·¥ ¹®¼¸¦ + Âü°íÇ϶ó.)
+ +
System requirementsApache HTTP Server Version 2.1
+
IP±â¹ÝÀ̶õ ¸»ÀÌ ÀǹÌÇϵíÀÌ ¼¹ö´Â + IP±â¹Ý °¡»óÈ£½ºÆ® °¢°¢¿¡ ´ëÇØ ´Ù¸¥ IP ÁÖ¼Ò¸¦ + °¡Á®¾ßÇÑ´Ù. ÀÌ´Â ÄÄÇ»Å͸¦ ¹°¸®ÀûÀ¸·Î ¿©·¯ ³×Æ®¿÷¿¡ + ¿¬°áÇϰųª, ÃÖ±Ù ¿î¿µÃ¼Á¦¿¡¼ Áö¿øÇÏ´Â °¡»ó ÀÎÅÍÆäÀ̽º¸¦ + (ÀÚ¼¼ÇÑ ³»¿ëÀº ½Ã½ºÅÛ ¹®¼¸¦ Âü°íÇ϶ó. ÈçÈ÷ "ip aliases"¶ó°í + Çϸç, º¸Åë "ifconfig" ¸í·É¾î·Î ¸¸µç´Ù) »ç¿ëÇÏ¿© °¡´ÉÇÏ´Ù.
+ +¿©·¯ È£½ºÆ®¸¦ Áö¿øÇϵµ·Ï ¾ÆÆÄÄ¡¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ýÀº µÎ°¡Áö´Ù. + Çϳª´Â °¢ È£½ºÆ®¸¶´Ù º°µµÀÇ À¥¼¹ö¸¦ ½ÇÇàÇÏ´Â + ¹ýÀ̰í, ´Ù¸¥ Çϳª´Â ¸ðµç °¡»óÈ£½ºÆ®¸¦ Áö¿øÇÏ´Â ¼¹ö ÇѰ³¸¦ + ½ÇÇàÇÏ´Â ¹æ¹ýÀÌ´Ù.
+ +¾ðÁ¦ ¿©·¯ ¼¹ö¸¦ »ç¿ëÇϳª:
+ +User, Group, Listen, ServerRoot ¼³Á¤À¸·Î ½ÇÇàÇØ¾ß ÇÑ´Ù.ListenÇÒ ¼ö¸¸ ÀÖ´Ù. ±×·¡¼
+ ¾î¶² ÀÌÀ¯¿¡¼°Ç ƯÁ¤ ÁÖ¼Ò¸¦ ±â´Ù¸± Çʿ䰡 ÀÖ´Ù¸é, (ÇÑ
+ À¥¼¹ö°¡ ÇÑ ÁÖ¼Ò¸¦ Á¦¿ÜÇÑ ¸ðµç ÁÖ¼Ò¸¦ ±â´Ù¸®°í ´Ù¸¥ ÇÑ
+ À¥¼¹ö°¡ Á¦¿ÜÇÑ ÁÖ¼Ò¸¦ ±â´Ù¸± ¼ö ÀÖÁö¸¸) ÁöÁ¤ÇÑ ÁÖ¼Ò
+ ¸ðµÎ¸¦ ±â´Ù·Á¾ß ÇÑ´Ù.¾ðÁ¦ ¼¹ö ÇѰ³¸¦ »ç¿ëÇϳª:
+ +°¢ °¡»óÈ£½ºÆ®º°·Î À¥¼¹ö¸¦ ¼³Ä¡ÇÑ´Ù. ¼³Á¤ÆÄÀÏÀÇ
+ Listen Áö½Ã¾î¿¡
+ ¼¹ö°¡ ¼ºñ½ºÇÒ IP ÁÖ¼Ò(ȤÀº °¡»óÈ£½ºÆ®)¸¦ Àû¾îÁØ´Ù. ¿¹¸¦
+ µé¸é,
+ Listen www.smallco.com:80
+
È£½ºÆ®¸í º¸´Ù´Â IP ÁÖ¼Ò¸¦ »ç¿ëÇÏ±æ ¹Ù¶õ´Ù. + (DNS ¹®Á¦ Âü°í)
+ +ÀÌ °æ¿ì À¥¼¹ö ÇѰ³·Î ÁÖ¼¹ö¿Í ¸ðµç °¡»óÈ£½ºÆ®¿¡ ´ëÇÑ
+ ¿äûÀ» ¼ºñ½ºÇÑ´Ù. ¼³Á¤ÆÄÀÏÀÇ VirtualHost Áö½Ã¾î¿¡ °¡»óÈ£½ºÆ®¸¶´Ù
+ ´Ù¸¥ ServerAdmin,
+ ServerName, DocumentRoot, ErrorLog, TransferLog,
+ CustomLog
+ Áö½Ã¾î °ªÀ» ¼³Á¤ÇÑ´Ù. ¿¹¸¦ µé¸é,
+ <VirtualHost www.smallco.com>
+ ServerAdmin webmaster@mail.smallco.com
+ DocumentRoot /groups/smallco/www
+ ServerName www.smallco.com
+ ErrorLog /groups/smallco/logs/error_log
+ TransferLog /groups/smallco/logs/access_log
+ </VirtualHost>
+
+ <VirtualHost www.baygroup.org>
+ ServerAdmin webmaster@mail.baygroup.org
+ DocumentRoot /groups/baygroup/www
+ ServerName www.baygroup.org
+ ErrorLog /groups/baygroup/logs/error_log
+ TransferLog /groups/baygroup/logs/access_log
+ </VirtualHost>
+
È£½ºÆ®¸í º¸´Ù´Â IP ÁÖ¼Ò¸¦ »ç¿ëÇÏ±æ ¹Ù¶õ´Ù. + (DNS ¹®Á¦ Âü°í)
+ +VirtualHost Áö½Ã¾î ¾È¿¡¼´Â ÇÁ·Î¼¼½º »ý¼º°ú ±âŸ ¸î¸î Áö½Ã¾î¸¦ + Á¦¿ÜÇÏ°í °ÅÀÇ ¸ðµç ¼³Á¤Áö½Ã¾î¸¦ »ç¿ëÇÒ + ¼ö ÀÖ´Ù. VirtualHost Áö½Ã¾î ¾È¿¡¼ Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö + ¾Ë·Á¸é Áö½Ã¾î ¸ñ·Ï¿¡¼ + »ç¿ëÀå¼Ò¸¦ + È®ÀÎÇ϶ó.
+ +suEXEC ÇÁ·Î±×·¥À»
+ »ç¿ëÇÑ´Ù¸é VirtualHost Áö½Ã¾î ¾È¿¡ User¿Í GroupÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.
º¸¾È: ¼¹ö¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚ¿Ü¿¡ ´Ù¸¥ »ç¶÷¿¡°Ô + ·Î±×ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮ÀÇ ¾²±â±ÇÇÑÀÌ ÀÖ´Ù¸é º¸¾È + ¹®Á¦¸¦ Á¶½ÉÇ϶ó. ÀÚ¼¼ÇÑ ³»¿ëÀº º¸¾È ÆÁÀ» Âü°íÇ϶ó.
+ +Apache HTTP Server Version 2.1
+
ÀÌ ¹®¼´Â ¾ÆÆÄÄ¡ 1.3¿¡¼ ´ë·®ÀÇ °¡»óÈ£½ºÆ®¸¦ È¿À²ÀûÀ¸·Î + ¼ºñ½ºÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. +
+ +
µ¿±â
°³¿ä
°£´ÜÇÑ µ¿Àû °¡»óÈ£½ºÆ®
°¡»óÀ¸·Î È£½ºÆ®Çϴ ȨÆäÀÌÁö ½Ã½ºÅÛ
ÇÑ ¼¹ö¿¡ ¿©·¯ °¡»óÈ£½ºÆ®
+ ½Ã½ºÅÛ »ç¿ëÇϱâ
´õ È¿À²ÀûÀÎ IP±â¹Ý °¡»óÈ£½ºÆ®
¾ÆÆÄÄ¡ ÀÌÀü ¹öÀü »ç¿ëÇϱâ
mod_rewrite¸¦
+ »ç¿ëÇÑ °£´ÜÇÑ µ¿Àû °¡»óÈ£½ºÆ®
mod_rewrite¸¦
+ »ç¿ëÇÑ È¨ÆäÀÌÁö ½Ã½ºÅÛ
º°µµÀÇ °¡»óÈ£½ºÆ® ¼³Á¤ÆÄÀÏ
+ »ç¿ëÇϱâ´ç½ÅÀÇ httpd.conf¿¡ ´ÙÀ½°ú °°ÀÌ ¼·Î ºñ½ÁÇÑ
+ <VirtualHost> ¼½¼ÇµéÀ» ¸¹ÀÌ ÀÖ´Ù¸é ¿©±â¼
+ ¼³¸íÇÏ´Â ¹æ¹ýÀÌ µµ¿òÀÌ µÉ °ÍÀÌ´Ù:
+NameVirtualHost 111.22.33.44
+<VirtualHost 111.22.33.44>
+
+ ServerName www.customer-1.com
+ DocumentRoot /www/hosts/www.customer-1.com/docs
+ ScriptAlias /cgi-bin/ /www/hosts/www.customer-1.com/cgi-bin
+
+</VirtualHost>
+<VirtualHost 111.22.33.44>
+
+ ServerName www.customer-2.com
+ DocumentRoot /www/hosts/www.customer-2.com/docs
+ ScriptAlias /cgi-bin/ /www/hosts/www.customer-2.com/cgi-bin
+
+</VirtualHost>
+# ¹Ùº¸ ¹Ùº¸ ¹Ùº¸
+<VirtualHost 111.22.33.44>
+
+ ServerName www.customer-N.com
+ DocumentRoot /www/hosts/www.customer-N.com/docs
+ ScriptAlias /cgi-bin/ /www/hosts/www.customer-N.com/cgi-bin
+
+</VirtualHost>
+
±âº» °³³äÀº Á¤ÀûÀÎ <VirtualHost>
+ ¼³Á¤ ¸ðµÎ¸¦ µ¿ÀûÀ¸·Î ó¸®Çϵµ·Ï ´ëüÇÏ´Â °ÍÀÌ´Ù.
+ ±×·¯¸é ¸¹Àº ÀåÁ¡ÀÌ ÀÖ´Ù:
´ÜÁ¡Àº °¢ °¡»óÈ£½ºÆ®º°·Î ´Ù¸¥ ·Î±×ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù´Â + Á¡ÀÌ´Ù. ±×·¯³ª ¸Å¿ì ¸¹Àº °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇÑ´Ù¸é ÆÄÀϱâ¼úÀÚ¸¦ + ´Ù ½á¹ö¸®±â¶§¹®¿¡ ¼·Î ´Ù¸¥ ·Î±×ÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. ÆÄÀÌÇÁ³ª + fifo·Î ·Î±×¸¦ º¸³»°í, ¹Þ´Â Æí¿¡¼ ·Î±×¸¦ ó¸®ÇÏ¿© ³ª´©´Â + ¹æ¹ýÀÌ (Åë°è µîÀ» ¸ðÀ» ¼öµµ ÀÖ´Ù) ´õ ³´´Ù.
+ +°¡»óÈ£½ºÆ®´Â IP ÁÖ¼Ò¿Í HTTP ¿äûÀÇ Host:
+ Çì´õ Á¤º¸·Î Á¤ÀÇÇÑ´Ù. ±âº»ÀûÀ¸·Î ´ë·®ÀÇ
+ µ¿Àû °¡»óÈ£½ºÆ® ±â¼úÀº ÀÚµ¿À¸·Î °¡»óÈ£½ºÆ® Á¤º¸¸¦ ¿äûÀÇ
+ ÆÄÀϰæ·Î¿¡ Æ÷ÇÔÇÑ´Ù. ÀÌ´Â ´ëºÎºÐ mod_vhost_alias¸¦
+ »ç¿ëÇÏ¿© ½±°Ô ÇØ°áÇÒ ¼ö ÀÖÁö¸¸, ¾ÆÆÄÄ¡ 1.3.6 ÀÌÇϸ¦ »ç¿ëÇÑ´Ù¸é
+ mod_rewrite¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ÀÌ µÎ ¸ðµâ
+ ¸ðµÎ ±âº»ÀûÀ¸·Î ¼¹ö¿¡ Æ÷ÇÔµÇÁö ¾Ê´Â´Ù. ÀÌ ¹æ¹ýÀ» »ç¿ëÇÏ·Á¸é
+ ¾ÆÆÄÄ¡¸¦ ±¸¼ºÇϰí ÄÄÆÄÀÏÇÒ¶§ Æ÷ÇÔÇØ¾ß ÇÑ´Ù.
µ¿Àû °¡»óÈ£½ºÆ®¸¦ ÀϹÝÀûÀÎ °¡»óÈ£½ºÆ®Ã³·³ º¸À̰ÔÇÏ·Á¸é
+ ¿©·¯°¡Áö¸¦ `¼Ó¿©¾ß' ÇÑ´Ù. °¡Àå Áß¿äÇÑ °ÍÀº ¾ÆÆÄÄ¡°¡ ÀÚ±âÂüÁ¶
+ URL µîÀ» ¸¸µé¶§ »ç¿ëÇÒ ¼¹ö¸íÀÌ´Ù. ¼¹ö¸íÀº
+ ServerName Áö½Ã¾î·Î ¼³Á¤Çϸç, CGI¿¡´Â
+ SERVER_NAME ȯ°æº¯¼ö·Î ÁÖ¾îÁø´Ù. ½ÇÇàÁß ½ÇÁ¦
+ ¼¹ö¸íÀº UseCanonicalName ¼³Á¤¿¡ ´Þ·È´Ù.
+ UseCanonicalName OffÀÌ¸é ¿äûÀÇ Host:
+ Çì´õ ³»¿ëÀÌ ¼¹ö¸íÀÌ µÈ´Ù. UseCanonicalName DNSÀ̸é
+ °¡»óÈ£½ºÆ®ÀÇ IP ÁÖ¼Ò¸¦ ¿ªDNS °Ë»öÇÏ¿© ¼¹ö¸íÀ» ¾Ë¾Æ³½´Ù.
+ ÀüÀÚ´Â À̸§±â¹Ý µ¿Àû °¡»óÈ£½ºÆ®¿¡¼ »ç¿ëÇϰí, ÈÄÀÚ´Â IP±â¹Ý
+ °¡»óÈ£½ºÆ®¿¡¼ »ç¿ëÇÑ´Ù. Host: Çì´õ°¡ ¾ø°Å³ª
+ DNS °Ë»öÀÌ ½ÇÆÐÇÏ¿© ¾ÆÆÄÄ¡°¡ ¼¹ö¸íÀ» ¾Ë¾Æ³»Áö ¸øÇϸé
+ ServerNameÀ¸·Î ¼³Á¤ÇÑ °ªÀ» ´ë½Å »ç¿ëÇÑ´Ù.
´Ù¸¥ `¼ÓÀÏ' °ÍÀº (DocumentRoot·Î ¼³Á¤Çϸç,
+ CGI¿¡´Â DOCUMENT_ROOT ȯ°æº¯¼ö·Î ÁÖ¾îÁö´Â)
+ ¹®¼·çÆ®ÀÌ´Ù. ÀϹÝÀûÀÎ °æ¿ì core ¸ðµâÀÌ ÀÌ ¼³Á¤À» »ç¿ëÇÏ¿©
+ URI¿¡ ÇØ´çÇÏ´Â ÆÄÀϸíÀ» ãÁö¸¸, ¼¹ö¸¦ µ¿Àû °¡»óÈ£½ºÆÃÀ» ÇÒ¶§´Â ´Ù¸¥
+ ¸ðµâÀÌ (mod_vhost_alias³ª mod_rewrite)
+ ´Ù¸¥ ¹æ¹ýÀ¸·Î ÀÌ·± ÀÛ¾÷À» ÇÑ´Ù. µÎ ¸ðµâ ¸ðµÎ
+ DOCUMENT_ROOT ȯ°æº¯¼ö¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¹Ç·Î
+ CGI³ª SSI ¹®¼°¡ ÀÌ °ªÀ» »ç¿ëÇÑ´Ù¸é À߸øµÈ °á°ú¸¦ ¾òÀ» ¼ö
+ ÀÖ´Ù.
À§ µ¿±â ÀýÀÇ °¡»óÈ£½ºÆ®
+ ¼³Á¤À» mod_vhost_alias¸¦ »ç¿ëÇÏ¿© ´õ ÀϹÝÀûÀ¸·Î
+ ±¸ÇöÇß´Ù.
+# Host: Çì´õ¿¡¼ ¼¹ö¸íÀ» ¾Ë¾Æ³½´Ù
+UseCanonicalName Off
+
+# ù¹øÂ° Çʵ带 »ç¿ëÇÏ¿© ÀÌ ·Î±×¸¦ °¡»óÈ£½ºÆ®º°·Î ³ª´ ¼ö ÀÖ´Ù
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+# ¿äûÀ» ó¸®ÇϱâÀ§ÇØ ÆÄÀÏ¸í¿¡ ¼¹ö¸íÀ» Æ÷ÇÔÇÑ´Ù
+VirtualDocumentRoot /www/hosts/%0/docs
+VirtualScriptAlias /www/hosts/%0/cgi-bin
+
ÀÌ ¼³Á¤¿¡¼ UseCanonicalName Off¸¦
+ UseCanonicalName DNS·Î º¯°æÇϱ⸸ Çϸé IP±â¹Ý
+ °¡»óÈ£½ºÆ®°¡ µÈ´Ù. °¡»óÈ£½ºÆ®ÀÇ IP ÁÖ¼Ò¸¦ °¡Áö°í
+ ÆÄÀÏ¸í¿¡ Ãß°¡ÇÒ ¼¹ö¸íÀ» ¾Ë ¼ö ÀÖ´Ù.
ISP ȨÆäÀÌÁö ¼¹ö¸¦ À§ÇØ À§ÀÇ ¼³Á¤À» ¼öÁ¤Çß´Ù. Á¶±Ý ´õ
+ º¹ÀâÇÑ ¼³Á¤À» »ç¿ëÇϸé www.user.isp.comÀÇ ¹®¼¸¦
+ /home/user/¿¡ µÎ´Â ½ÄÀ¸·Î ¼¹ö¸íÀÇ ÀϺθ¦ °¡Áö°í
+ ÆÄÀϸíÀ» ¸¸µé ¼ö ÀÖ´Ù. ÀÌ ¼³Á¤Àº
+ cgi-binÀ» °¢ °¡»óÈ£½ºÆ®°¡ µû·Î °¡ÁöÁö¾Ê°í
+ ¸ðµç °¡»óÈ£½ºÆ®°¡ °°ÀÌ »ç¿ëÇÑ´Ù.
+# ±âº»ÀûÀÎ ³»¿ëÀº À§¿Í °°´Ù. ±×¸®°í
+
+# ÆÄÀÏ¸í¿¡ ¼¹ö¸íÀÇ ÀϺθ¦ Æ÷ÇÔÇÑ´Ù
+VirtualDocumentRoot /www/hosts/%2/docs
+
+# ÇϳªÀÇ cgi-bin µð·ºÅ丮
+ScriptAlias /cgi-bin/ /www/std-cgi/
+
mod_vhost_alias ¹®¼¿¡´Â ´õ º¹ÀâÇÑ
+ VirtualDocumentRoot ¼³Á¤ÀÇ ¿¹°¡ ÀÖ´Ù.
´õ º¹ÀâÇÑ ¼³Á¤ÀÇ ¿¹·Î ¾ÆÆÄÄ¡ÀÇ ÀϹÝÀûÀÎ
+ <VirtualHost> Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¿©·¯
+ °¡»óÈ£½ºÆ® ¼³Á¤ÀÇ ¹üÀ§¸¦ Á¶ÀýÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½°ú
+ °°Àº ¼³Á¤Àº ȨÆäÀÌÁö °í°´¿¡ IP ÁÖ¼Ò ÇѰ³, »ó¾÷ÀûÀÎ
+ °í°´¿¡°Ô ´Ù¸¥ IP ÁÖ¼Ò ÇѰ³¸¦ ºÎ¿©ÇÑ´Ù. ¹°·Ð ÀÌÀüó·³
+ <VirtualHost> ¼³Á¤ ¼½¼Ç¿¡ ¸ðµÎ ¹À» ¼öµµ
+ ÀÖ´Ù.
+UseCanonicalName Off
+
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+
+<Directory /www/commercial>
+
+ Options FollowSymLinks
+ AllowOverride All
+
+</Directory>
+
+<Directory /www/homepages>
+
+ Options FollowSymLinks
+ AllowOverride None
+
+</Directory>
+
+<VirtualHost 111.22.33.44>
+
+ ServerName www.commercial.isp.com
+
+ CustomLog logs/access_log.commercial vcommon
+
+ VirtualDocumentRoot /www/commercial/%0/docs
+ VirtualScriptAlias /www/commercial/%0/cgi-bin
+
+</VirtualHost>
+
+<VirtualHost 111.22.33.45>
+
+ ServerName www.homepages.isp.com
+
+ CustomLog logs/access_log.homepages vcommon
+
+ VirtualDocumentRoot /www/homepages/%0/docs
+ ScriptAlias /cgi-bin/ /www/std-cgi/
+
+</VirtualHost>
+
ù¹øÂ° ¿¹¿¡¼ ³ª´Â ¼³Á¤À» °£´ÜÈ÷ + IP±â¹Ý °¡»óÈ£½ºÆ®·Î ¹Ù²Ü ¼ö ÀÖ´Ù°í ¸»Çß´Ù. ºÒÇàÈ÷µµ + ±×·± ¼³Á¤Àº ¸Å ¿äû¸¶´Ù DNS¸¦ ã¾Æ¾ßÇϹǷΠ¸Å¿ì ºñÈ¿À²ÀûÀÌ´Ù. + À̸§´ë½Å IP ÁÖ¼Ò·Î ÆÄÀϽýºÅÛÀ» ±¸¼ºÇÏ°í °°Àº ¹æ½ÄÀ¸·Î + ·Î±×¸¦ ¼öÁ¤ÇÏ¸é ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù. ¾ÆÆÄÄ¡´Â ¼¹ö¸íÀ» + ´Ù·ê Çʿ䰡 ¾ø¾îÁö°í, DNS °Ë»öµµ ÇÏÁö ¾Ê°Ô µÈ´Ù.
+ +
+# IP ÁÖ¼Ò¸¦ ¿ªDNS °Ë»öÇÏ¿© ¼¹ö¸íÀ» ¾Ë¾Æ³½´Ù
+UseCanonicalName DNS
+
+# ·Î±×¸¦ ³ª´ ¼ö ÀÖµµ·Ï IP ÁÖ¼Ò¸¦ Æ÷ÇÔÇÑ´Ù
+LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+# ÆÄÀÏ¸í¿¡ IP ÁÖ¼Ò¸¦ Æ÷ÇÔÇÑ´Ù
+VirtualDocumentRootIP /www/hosts/%0/docs
+VirtualScriptAliasIP /www/hosts/%0/cgi-bin
+
À§ ¿¹µéÀº ¾ÆÆÄÄ¡ ¹öÀü 1.3.6 ÀÌÈÄ¿¡ Æ÷ÇÔµÈ
+ mod_vhost_aliasÀ» »ç¿ëÇÑ´Ù.
+ mod_vhost_alias°¡ ¾ø´Â ¾ÆÆÄÄ¡ ¹öÀüÀ» »ç¿ëÇÑ´Ù¸é
+ ÀÌ¹Ì ¸»ÇßµíÀÌ mod_rewrite¸¦ »ç¿ëÇÏ¿©, ´Ü
+ Host:-Çì´õ±â¹Ý °¡»óÈ£½ºÆ®¸¸À», ±¸ÇöÇÒ ¼ö ÀÖ´Ù.
¶Ç ·Î±×¿¡ °üÇÏ¿© ÁÖÀÇÇÒ Á¡ÀÌ ÀÖ´Ù. ¾ÆÆÄÄ¡ 1.3.6¿¡¼
+ ·Î±×Çü½Ä Áö½Ã¾î %V°¡ Æ÷ÇԵǾú°í, ¹öÀü 1.3.0
+ - 1.3.3¿¡¼ ÀÌ ±â´ÉÀ» %v ¿É¼ÇÀÌ ´ë½Å Çß´Ù. ±×·¯³ª
+ ¹öÀü 1.3.4¿¡´Â ÀÌ·± ±â´ÉÀÌ ¾ø´Ù. ¾î¶² ¾ÆÆÄÄ¡ ¹öÀü¿¡¼µµ
+ .htaccess ÆÄÀÏ¿¡¼ UseCanonicalName
+ Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¹Ç·Î ·Î±×¿¡ ÀÌ»óÇÑ ³»¿ëÀÌ ±â·ÏµÉ ¼ö ÀÖ´Ù.
+ ±×·¯¹Ç·Î °¡Àå ÁÁÀº ¹æ¹ýÀº %{Host}i Áö½Ã¾î¸¦
+ »ç¿ëÇÏ¿© Host: Çì´õ¸¦ Á÷Á¢ ·Î±×¿¡ ³²±â´Â °ÍÀÌ´Ù.
+ ¶Ç, ÀÌ ¹æ¹ýÀº %V´Â Æ÷ÇÔÇÏÁö¾Ê´Â :port¸¦
+ µÚ¿¡ Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
mod_rewrite¸¦
+ »ç¿ëÇÑ °£´ÜÇÑ µ¿Àû °¡»óÈ£½ºÆ®´ÙÀ½Àº ù¹øÂ° ¿¹¿Í °°Àº ÀÏÀ» ÇÏ´Â
+ httpd.conf ¿¹ÀÌ´Ù. óÀ½ Àý¹ÝÀº ù¹øÂ° ¿¹¿Í
+ °ÅÀÇ ºñ½ÁÇÏÁö¸¸, ÀÌÀü ¹öÀü°úÀÇ È£È¯¼º°ú mod_rewriteÀÇ
+ ÀûÀýÇÑ µ¿ÀÛÀ» À§ÇØ ¼öÁ¤µÇ¾ú´Ù. ³ª¸ÓÁö Àý¹ÝÀº ½ÇÁ¦ ÀÛ¾÷À»
+ ÇÏ´Â mod_rewrite¸¦ ¼³Á¤ÇÑ´Ù.
Ưº°È÷ ÁÖÀÇÇØ¾ß ÇÒ »çÇ×ÀÌ ÀÖ´Ù. ±âº»ÀûÀ¸·Î
+ mod_rewrite´Â (mod_alias µî) ´Ù¸¥
+ URI ¹ø¿ª ¸ðµâ ÀÌÀü¿¡ ½ÇÇàµÈ´Ù. ±×·¡¼ ´Ù¸¥ URI ¹ø¿ª ¸ðµâµé°ú
+ °°ÀÌ µ¿ÀÛÇÒ °ÍÀ» °í·ÁÇÏ¿© mod_rewrite¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù.
+ ¶Ç, µ¿Àû °¡»óÈ£½ºÆ®¿¡¼ ScriptAlias°ú °°Àº
+ ±â´ÉÀ» À§Çؼ´Â Ưº°ÇÑ ÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù.
+# Host: Çì´õ¿¡¼ ¼¹ö¸íÀ» ¾ò´Â´Ù
+UseCanonicalName Off
+
+# splittable logs
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog logs/access_log vcommon
+
+<Directory /www/hosts>
+
+ # ScriptAlias ½ÄÀ¸·Î CGI ½ÇÇàÀ» °Á¦ÇÒ ¼ö ¾ø±â¶§¹®¿¡
+ # ¿©±â¿¡ ExecCGI¸¦ »ç¿ëÇÑ´Ù
+ Options FollowSymLinks ExecCGI
+
+</Directory>
+
+# ÀÌÁ¦ ¾î·Á¿î ºÎºÐÀÌ´Ù
+
+RewriteEngine On
+
+# Host: Çì´õ¿¡¼ °¡Á®¿Â ¼¹ö¸í¿¡´Â ´ë¼Ò¹®ÀÚ°¡ µÚ¼¯¿©ÀÖÀ» ¼ö ÀÖ´Ù
+RewriteMap lowercase int:tolower
+
+## ÀÏ¹Ý ¹®¼¸¦ ¸ÕÀú ó¸®ÇÑ´Ù:
+# Alias /icons/ °¡ µ¿ÀÛÇϵµ·Ï - ´Ù¸¥ alias¿¡ ´ëÇØ¼µµ ¹Ýº¹
+RewriteCond %{REQUEST_URI} !^/icons/
+# CGI°¡ µ¿ÀÛÇϵµ·Ï
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+# Ưº°ÇÑ ÀÛ¾÷
+RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/docs/$1
+
+## ÀÌÁ¦ CGI¸¦ ó¸®ÇÑ´Ù - MIME typeÀ» °Á¦ÇØ¾ß ÇÑ´Ù
+RewriteCond %{REQUEST_URI} ^/cgi-bin/
+RewriteRule ^/(.*)$ /www/hosts/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [T=application/x-httpd-cgi]
+
+# ³¡!
+
mod_rewrite¸¦
+ »ç¿ëÇÑ È¨ÆäÀÌÁö ½Ã½ºÅÛ´ÙÀ½Àº µÎ¹øÂ° ¿¹¿Í °°Àº ÀÏÀ» + ÇÑ´Ù.
+ +
+RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+# CGI°¡ µ¿ÀÛÇϵµ·Ï
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+
+# RewriteRuleÀÌ µ¿ÀÛÇϵµ·Ï È£½ºÆ®¸íÀÌ ¿Ã¹Ù¸¥Áö °Ë»çÇÑ´Ù
+RewriteCond ${lowercase:%{SERVER_NAME}} ^www\.[a-z-]+\.isp\.com$
+
+# °¡»óÈ£½ºÆ®¸íÀ» URI ¾Õ¿¡ ºÙÀδÙ
+# [C]´Â ÀÌ °á°ú¸¦ °¡Áö°í ´ÙÀ½ ÀçÀÛ¼ºÀ» ¼öÇàÇÔÀ» ¶æÇÑ´Ù
+RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 [C]
+
+# ÀÌÁ¦ ½ÇÁ¦ ÆÄÀϸíÀ» ¸¸µç´Ù
+RewriteRule ^www\.([a-z-]+)\.isp\.com/(.*) /home/$1/$2
+
+# Àüü CGI µð·ºÅ丮¸¦ Á¤ÀÇÇÑ´Ù
+ScriptAlias /cgi-bin/ /www/std-cgi/
+
´ÙÀ½Àº mod_rewriteÀÇ °í±Þ ±â´ÉÀ» »ç¿ëÇÏ¿©
+ º°µµÀÇ ¼³Á¤ÆÄÀÏÀ» °¡Áö°í °¡»óÈ£½ºÆ®ÀÇ ¹®¼·çÆ®¸¦ ¾Ë¾Æ³½´Ù.
+ ´õ À¯¿¬ÇÏÁö¸¸ ´õ º¹ÀâÇÑ ¼³Á¤ÀÌ ÇÊ¿äÇÏ´Ù.
vhost.map ÆÄÀÏÀº ´ÙÀ½°ú °°´Ù:
+www.customer-1.com /www/customers/1
+www.customer-2.com /www/customers/2
+# ...
+www.customer-N.com /www/customers/N
+
http.conf´Â ´ÙÀ½°ú °°´Ù:
+RewriteEngine on
+
+RewriteMap lowercase int:tolower
+
+# ´ëÀÀÆÄÀÏÀ» Á¤ÀÇÇÑ´Ù
+RewriteMap vhost txt:/www/conf/vhost.map
+
+# À§¿Í °°ÀÌ aliasµéÀ» ó¸®ÇÑ´Ù
+RewriteCond %{REQUEST_URI} !^/icons/
+RewriteCond %{REQUEST_URI} !^/cgi-bin/
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+# ÆÄÀÏ ³»¿ëÀ» °¡Áö°í ã´Â´Ù
+RewriteCond ${vhost:%1} ^(/.*)$
+RewriteRule ^/(.*)$ %1/docs/$1
+
+RewriteCond %{REQUEST_URI} ^/cgi-bin/
+RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
+RewriteCond ${vhost:%1} ^(/.*)$
+RewriteRule ^/(.*)$ %1/cgi-bin/$1
+
Apache HTTP Server Version 2.1
+
ÀÌ ¹®¼´Â À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇÏ´Â °æ¿ì¿Í ¹æ¹ýÀ» + ¼³¸íÇÑ´Ù.
+ +IP±â¹Ý °¡»óÈ£½ºÆ®´Â ¿¬°áÇÑ IP ÁÖ¼Ò¸¦ °¡Áö°í ¼ºñ½ºÇÒ + °¡»óÈ£½ºÆ®¸¦ °áÁ¤ÇÑ´Ù. ±×·¡¼ °¢ È£½ºÆ®´Â ¼·Î ´Ù¸¥ IP ÁÖ¼Ò¸¦ + °¡Á®¾ß ÇÑ´Ù. À̸§±â¹Ý °¡»óÈ£½ºÆ®ÀÇ °æ¿ì ¼¹ö´Â Ŭ¶óÀÌ¾ðÆ®°¡ + HTTP Çì´õ·Î È£½ºÆ®¸íÀ» ¾Ë·ÁÁÖ±æ ¹Ù¶õ´Ù. ÀÌ·± ¹æ¹ýÀ¸·Î ÇÑ + IP ÁÖ¼Ò·Î ¿©·¯ ´Ù¸¥ È£½ºÆ®¸¦ ¼ºñ½ºÇÒ ¼ö ÀÖ´Ù.
+ +À̸§±â¹Ý °¡»óÈ£½ºÆ®´Â DNS ¼¹ö°¡ °¢ È£½ºÆ®¸íÀÌ ¿Ã¹Ù¸¥ + IP ÁÖ¼Ò·Î ´ëÀÀÇϵµ·Ï °¡»óÈ£½ºÆ®¸¦ ¼³Á¤Çϰí, ´Ù¸¥ È£½ºÆ®¸íÀ» ±¸º°ÇÒ + ¼ö ÀÖµµ·Ï ¾ÆÆÄÄ¡ À¥¼¹ö¸¦ ¼³Á¤Çϱ⸸ ÇϸéµÇ¹Ç·Î ´õ °£´ÜÇÏ´Ù. À̸§±â¹Ý + °¡»óÈ£½ºÆ®´Â ¶Ç ¿©·¯ IP ÁÖ¼Ò°¡ ÇÊ¿ä¾ø´Ù. ±×·¯¹Ç·Î Ưº°È÷ + IP±â¹Ý °¡»óÈ£½ºÆ®¸¦ ¼±ÅÃÇÒ ÀÌÀ¯°¡ ¾ø´Ù¸é À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ + »ç¿ëÇØ¾ß ÇÑ´Ù. IP±â¹Ý °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇØ¾ßÇÒ ÀÌÀ¯·Î´Â:
+ +| °ü·ÃµÈ ¸ðµâ | °ü·ÃµÈ Áö½Ã¾î |
|---|---|
À̸§±â¹Ý °¡»óÈ£½ºÆ®¸¦ »ç¿ëÇÏ·Á¸é ¼¹ö´Â ¿¬°áÀ» ¹ÞÀ»
+ IP ÁÖ¼Ò¸¦ (¾Æ¸¶ Æ÷Æ®µµ) Á¤ÇØ¾ß ÇÑ´Ù. ÀÌ´Â NameVirtualHost Áö½Ã¾î·Î °¡´ÉÇÏ´Ù.
+ ÀϹÝÀûÀ¸·Î ¼¹öÀÇ ¸ðµç IP ÁÖ¼Ò¸¦ »ç¿ëÇÑ´Ù¸é
+ NameVirtualHostÀÇ ¾Æ±Ô¸ÕÆ®·Î *¸¦
+ »ç¿ëÇÑ´Ù. NameVirtualHost Áö½Ã¾î¿¡ IP ÁÖ¼Ò¸¦
+ Àû¾îÁÖ¾ú´Ù°í ¼¹ö°¡ ÀÚµ¿À¸·Î ±× IP ÁÖ¼Ò¸¦ ±â´Ù¸®Áö ¾ÊÀ½À»
+ ÁÖÀÇÇ϶ó. ÀÚ¼¼ÇÑ ³»¿ëÀº ¾ÆÆÄÄ¡°¡
+ »ç¿ëÇÒ ÁÖ¼Ò¿Í Æ÷Æ® ¼³Á¤Çϱ⸦ Âü°íÇ϶ó. ¶Ç, ¿©±â¼
+ ÁöÁ¤ÇÑ IP ÁÖ¼Ò´Â ¼¹öÀÇ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽ºÀ̾î¾ß ÇÑ´Ù.
´ÙÀ½ ´Ü°è´Â ¼ºñ½ºÇÏ·Á´Â È£½ºÆ®º°·Î <VirtualHost> ºí·ÏÀ»
+ ¸¸µå´Â ÀÏÀÌ´Ù. <VirtualHost> Áö½Ã¾îÀÇ
+ ¾Æ±Ô¸ÕÆ®´Â NameVirtualHost Áö½Ã¾îÀÇ ¾Æ±Ô¸ÕÆ®(¿¹¸¦
+ µé¾î, IP ÁÖ¼Ò³ª ¸ðµç ÁÖ¼Ò¸¦ ¶æÇÏ´Â *)¿Í
+ °°¾Æ¾ß ÇÑ´Ù. <VirtualHost> ºí·Ï ¾È¿¡´Â
+ ÃÖ¼ÒÇÑ ¼ºñ½ºÇÒ È£½ºÆ®¸¦ ÁöÁ¤ÇÏ´Â ServerName Áö½Ã¾î¿Í È£½ºÆ®ÀÇ
+ ³»¿ëÀÌ ÆÄÀϽýºÅÛ ¾îµð¿¡ ÀÖ´ÂÁö¸¦ ÁöÁ¤ÇÏ´Â DocumentRoot Áö½Ã¾î°¡ ÇÊ¿äÇÏ´Ù.
ServerName°ú
+ DocumentRoot´Â Àüü ServerName°ú
+ DocumentRoot¿Í °°¾Æ¾ß ÇÑ´Ù. ¼³Á¤ÆÄÀÏ¿¡¼ ÀÌ
+ °¡»óÈ£½ºÆ®¸¦ °¡Àå ¸ÕÀú ÀûÀ¸¸é ±âº» È£½ºÆ®°¡ µÈ´Ù.
+ ¿¹¸¦ µé¾î www.domain.tld µµ¸ÞÀÎÀ» ¼ºñ½ºÇϰí
+ ÀÖ¾ú´Âµ¥ °°Àº IP ÁÖ¼Ò¿¡
+ www.otherdomain.tld¶õ °¡»óÈ£½ºÆ®¸¦ Ãß°¡Çϰí
+ ½Í´Ù°í °¡Á¤ÇÏÀÚ. httpd.conf¿¡ ´ÙÀ½°ú °°ÀÌ
+ Ãß°¡ÇÏ¸é µÈ´Ù:
+ NameVirtualHost *
+
+ <VirtualHost *>
+
+ ServerName www.domain.tld
+ ServerAlias domain.tld *.domain.tld
+ DocumentRoot /www/domain
+
+ </VirtualHost>
+
+ <VirtualHost *>
+ ServerName www.otherdomain.tld
+ DocumentRoot /www/otherdomain
+
+ </VirtualHost>
+
NameVirtualHost¿Í
+ <VirtualHost> Áö½Ã¾î µÑ ¸ðµÎ * ´ë½Å
+ Á÷Á¢ IP ÁÖ¼Ò¸¦ ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î, ÀÌ·±½ÄÀ¸·Î ÇÑ
+ IP ÁÖ¼Ò¿¡ ¿©·¯ À̸§±â¹Ý °¡»óÈ£½ºÆ®µéÀ» µ¹¸®°í, ´Ù¸¥ ÁÖ¼Ò¿¡
+ IP±â¹Ý ȤÀº À̸§±â¹Ý °¡»óÈ£½ºÆ®µéÀ» µ¹¸± ¼ö ÀÖ´Ù.
¾î¶² ¼¹ö´Â ¿©·¯ À̸§À¸·Î Á¢¼ÓÇÒ ¼ö ÀÖ±æ ¹Ù¶õ´Ù. ÀÌ´Â
+ <VirtualHost> ¼½¼Ç ¾È¿¡ ServerAlias Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©
+ °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¾î À§ÀÇ Ã¹¹øÂ° <VirtualHost> ºí·Ï¿¡¼
+ ServerAlias Áö½Ã¾î¸¦ »ç¿ëÇϸé
+ ¿°ÅÇÑ À̸§À¸·Î °°Àº À¥»çÀÌÆ®¸¦ º¼ ¼ö ÀÖ´Ù:
+ ServerAlias domain.tld *.domain.tld
+
domain.tld µµ¸ÞÀο¡ ÀÖ´Â ¸ðµç È£½ºÆ®¿¡ ´ëÇÑ
+ ¿äûÀ» www.domain.tld °¡»óÈ£½ºÆ®°¡ ¼ºñ½ºÇÑ´Ù.
+ À̸§À» ÁÙ¶§ ¿ÍÀϵåÄ«µå ¹®ÀÚ *¿Í ?¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¹°·Ð
+ ServerNameÀ̳ª ServerAlias¿¡ À̸§À»
+ Àû¾îÁÖ¾ú´Ù°í ³¡ÀÌ ¾Æ´Ï´Ù. ¸ÕÀú ÀÌ À̸§µéÀÌ ¼¹öÀÇ IP ÁÖ¼Ò·Î
+ ´ëÀÀÇϵµ·Ï DNS ¼¹ö¸¦ ¾Ë¸Â°Ô ¼³Á¤ÇØ¾ß ÇÑ´Ù.
¸¶Áö¸·À¸·Î <VirtualHost> ¾È¿¡ ´Ù¸¥
+ Áö½Ã¾îµéÀ» »ç¿ëÇÏ¿© °¡»óÈ£½ºÆ®¸¦ ÀÚ¼¼È÷ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
+ ´ëºÎºÐÀÇ Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, °ü·ÃµÈ °¡»óÈ£½ºÆ®ÀÇ ¼³Á¤¸¸À»
+ º¯°æÇÑ´Ù. ¾î¶² Áö½Ã¾î°¡ »ç¿ë°¡´ÉÇÑÁö ¾Ë·Á¸é Áö½Ã¾îÀÇ »ç¿ëÀå¼Ò¸¦
+ È®ÀÎÇ϶ó. (<VirtualHost> ¾ÈÀÌ ¾Æ´Ñ)
+ ÁÖ¼¹ö¼³Á¤¿¡¼ ÁöÁ¤ÇÑ ¼³Á¤ Áö½Ã¾î´Â °¡»óÈ£½ºÆ®¿¡
+ °°Àº ¼³Á¤ Áö½Ã¾î°¡ ¾ø´Â °æ¿ì¿¡¸¸ »ç¿ëµÈ´Ù.
¿äûÀ» ¹ÞÀ¸¸é ¼¹ö´Â ¸ÕÀú NameVirtualHost¿¡¼
+ ÁöÁ¤ÇÑ IP ÁÖ¼ÒÀÎÁö °Ë»çÇÑ´Ù. ±×·¸´Ù¸é ±× IP ÁÖ¼Ò¸¦
+ °¡Áø <VirtualHost> ¼½¼Çµé¿¡¼ ¿äûÇÑ
+ È£½ºÆ®¸í°ú ÀÏÄ¡ÇÏ´Â ServerNameÀ̳ª
+ ServerAlias¸¦ ã´Â´Ù. ãÀ¸¸é ±× ¼³Á¤À» »ç¿ëÇÑ´Ù.
+ ÀûÀýÇÑ °¡»óÈ£½ºÆ®¸¦ ãÁö¸øÇϸé, IP ÁÖ¼Ò¿¡ ÇØ´çÇÏ´Â
+ °¡»óÈ£½ºÆ®µéÁß Ã¹¹øÂ° °ÍÀ» »ç¿ëÇÑ´Ù.
°á°úÀûÀ¸·Î óÀ½¿¡ ³ª¿Â °¡»óÈ£½ºÆ®°¡ ±âº»
+ °¡»óÈ£½ºÆ®°¡ µÈ´Ù. IP ÁÖ¼Ò°¡ NameVirtualHost
+ Áö½Ã¾î¿¡ ÇØ´çÇϸé, ÁÖ¼¹öÀÇ DocumentRoot´Â
+ Àý´ë·Î »ç¿ëÇÏÁö ¾Ê´Â´Ù. ƯÁ¤ °¡»óÈ£½ºÆ®¿¡
+ ÇØ´çÇÏÁö¾Ê´Â ¿äûÀ» ¼³Á¤ÇÏ·Á¸é
+ ¼³Á¤À» <VirtualHost>¿¡ ´ã°í ¼³Á¤ÆÄÀÏ¿¡¼
+ ¸ÕÀú ³ª¿Àµµ·Ï ÇÏ¸é µÈ´Ù.
ÀÌ¹Ì Àû¾úµíÀÌ À̸§±â¹Ý °¡»óÈ£½ºÆ®°¡ ¿Ã¹Ù·Î µ¿ÀÛÇϱâÀ§ÇØ + ÇÊ¿äÇÑ Á¤º¸¸¦ º¸³»Áö¾Ê´Â Ŭ¶óÀÌ¾ðÆ®°¡ ÀÖ´Ù. ÀÌ·± Ŭ¶óÀÌ¾ðÆ®´Â + Ç×»ó ¿äûÇÑ IP ÁÖ¼Ò¿¡ ´ëÇØ ù¹øÂ°·Î ³ª¿À´Â °¡»óÈ£½ºÆ® + (ÃÖÃÊÀÇ À̸§±â¹Ý °¡»óÈ£½ºÆ®)°¡ + ¼ºñ½ºÇÑ´Ù.
+ +Host
+ Çì´õ¸¦ º¸³½´Ù.
+ ÀÌ ¹®Á¦´Â ¾à°£ °ÅÃßÀ彺·´Áö¸¸ ServerPath Áö½Ã¾î·Î ÇØ°áÇÒ ¼ö ÀÖ´Ù:
¼³Á¤ ¿¹:
+ +
+ NameVirtualHost 111.22.33.44
+
+ <VirtualHost 111.22.33.44>
+
+ ServerName www.domain.tld
+ ServerPath /domain
+ DocumentRoot /web/domain
+
+ </VirtualHost>
+
ÀÌ°Ô ¹«½¼ ¶æÀΰ¡? "/domain"·Î ½ÃÀÛÇÏ´Â
+ URI¿¡ ´ëÇÑ ¿äûÀº °¡»óÈ£½ºÆ® www.domain.tld°¡
+ ¼ºñ½ºÇÑ´Ù. Áï, Host: Çì´õ¸¦ º¸³»´Â Ŭ¶óÀÌ¾ðÆ®´Â
+ http://www.domain.tld/¸¸À¸·Îµµ Á¢±ÙÇÒ ¼ö ÀÖÁö¸¸,
+ http://www.domain.tld/domain/À¸·Î´Â ¸ðµç
+ Ŭ¶óÀÌ¾ðÆ®°¡ ÆäÀÌÁö¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.
À̸¦ À§ÇØ ÃÖÃÊÀÇ °¡»óÈ£½ºÆ®¿¡ ÀÖ´Â ÆäÀÌÁö¿¡
+ http://www.domain.tld/domain/À¸·Î °¡´Â ¸µÅ©¸¦
+ ³Ö´Â´Ù. ±×¸®°í °¡»óÈ£½ºÆ® ÆäÀÌÁö¿¡¼´Â »ó´ë¸µÅ©¸¸À»
+ »ç¿ëÇÑ´Ù. (¿¹¸¦ µé¾î, "file.html",
+ "../icons/image.gif",
+ "http://www.domain.tld/domain/misc/file.html"À̳ª
+ "/domain/misc/file.html"°ú °°ÀÌ ¾Õ¿¡
+ /domain/ÀÌ ºÙÀº ¸µÅ©)
Á¶±Ý ±ÔÄ¢ÀÌ ÇÊ¿äÇÏÁö¸¸ ÀÌ ±ÔÄ¢À» µû¸£¸é ´ëºÎºÐÀÇ °æ¿ì + ¿äÁò °ÍÀ̳ª ¿À·¡µÈ °ÍÀ̳ª °ü°è¾øÀÌ ¸ðµç ºê¶ó¿ìÀú·Î ÆäÀÌÁö¸¦ + º¼ ¼ö ÀÖ´Ù.
+ +