Apache HTTP Server Version 2.0
È¿À²ÀûÀ¸·Î À¥¼¹ö¸¦ °ü¸®ÇÏ·Á¸é ¹ß»ýÇÏ´Â ¹®Á¦¿Í ÇÔ²² ¼¹öÀÇ È°µ¿°ú ¼º´É¿¡ ´ëÇØ ¾Ë¾Æ¾ß ÇÑ´Ù. ¾ÆÆÄÄ¡ À¥¼¹ö´Â ¸Å¿ì Á¾ÇÕÀûÀÌ°í À¯¿¬ÇÑ ·Î±× ±â´ÉÀ» Á¦°øÇÑ´Ù. ÀÌ ¹®¼´Â ·Î±× ±â´ÉÀ» ¼³Á¤ÇÏ´Â ¹æ¹ý°ú ·Î±×¿¡ µé¾î°¥ ³»¿ëÀ» ¼³¸íÇÑ´Ù.
´©±º°¡¿¡°Ô ¾ÆÆÄÄ¡ÀÇ ·Î±×ÆÄÀÏÀÌ ÀÖ´Â µð·ºÅ丮¿¡ ¾²±â±ÇÇÑÀÌ ÀÖ´Ù¸é (º¸Åë 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
Áö½Ã¾î·Î Á¶ÀýÇÑ´Ù.