ÀÌ ¸ðµâÀº CGI ½ºÅ©¸³Æ®ÀÇ ½ÇÇàÀ» °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù. mod_cgi.c ¿¡ Æ÷ÇԵǾî ÀÖÀ¸¸ç ±âº»À¸·Î ÄÄÆÄÀÏ µÇ¾î ÀÖ½À´Ï´Ù. ÄÁÅÙÃ÷ Çü½Ä(MIME)ÀÌ application/x-httpd-cgi ·Î °¡Áø ÆÄÀÏÀº ¾î¶²°ÍÀ̵ç ÀÌ ¸ðµâ¿¡ ÀÇÇØ ¼öÇàµË´Ï´Ù.
ÄÁÅÙÃ÷Çü½Ä(MIME)À»
application/x-httpd-cgi
³ª Çڵ鷯 cgi-script
¸¦ °¡Áø ÆÄÀÏÀº CGI ½ºÅ©¸³Æ®·Î
󸳵˴ϴÙ. ±×¸®°í ¼¹ö¿¡ ÀÇÇØ¼ ±× °á°ú(output)¸¦ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô
µ¹·ÁÁÖ°Ô µË´Ï´Ù. ÆÄÀÏÀº
AddType ¼±¾ð À̳ª Çڵ鷯
¼±¾ð¿¡¼ Á¤ÀÇµÈ È®ÀåÀÚ¸¦ °¡Áö°í
ÀÖ´ÂÁö¿Í ScriptAlias µð·ºÅ丮(EexcCGI ¿É¼Ç) ¾È¿¡ Á¸ÀçÇØ¾ß¸¸ ¼¹ö¿¡¼
½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϵµ·Ï ¹Þ¾Æ
µéÀÔ´Ï´Ù.
¼¹ö°¡ CGI½ºÅ©¸³Æ®¸¦ ºÒ·¯¿Ã¶§ , ¹®¼·çÆ®(DOCUMENT_ROOT
)ÀÇ
ȯ°æ¿¡¼ Àоî¿Â º¯¼öµéÀ» Ãß°¡ ÇÕ´Ï´Ù. ÀÌ º¯¼öµéÀº ¹®¼·çÆ®(DocumentRoot)ÀÇ
ȯ°æº¯¼öÀÇ °ªÀ» Æ÷ÇÔÇÕ´Ï´Ù.
´ÙÀ½ÀÇ ´Ü¼¿Í ÇÔ²² ¼¹ö´Â CGI ±Ô¾à - CGI specification ¿¡ µû¸£´Â CGIȯ°æº¯¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
HostnameLookups
¼±¾ðÀÌ on
À¸·Î
µÇ¾î ÀÖÀ» °æ¿ì¸¸ ¼³Á¤µË´Ï´Ù, ±×¸®°í À̰ÍÀº Á¢±ÙÇϴ ȣ½ºÆ®
ÁÖ¼ÒÀÇ »ó¹ÝµÈ DNS Á¶»ç°¡ È£½ºÆ® À̸§À» ÁøÂ¥·Î ¹ß°ßÇÏ¿©¾ß¸¸
ºñ·Î¼Ò ¼³Á¤µÉ °ÍÀÔ´Ï´Ù. HostnameLookups ÀÇ ±âº»°ªÀº off
on
À̰í Á¢±ÙÇϴ ȣ½ºÆ®´Â µ¿ÀÏÇÑ ÇüÅÂÀÇ ÇÁ·ÎÅäÄÝ(ident
protocol)À» Áö¿øÇØ¾ß ¼³Á¤µË´Ï´Ù.
ÁÖ·Î ¾Ë¸Â°Ô ½ÇÇàÇÏÁö ¾Ê°í ÀÖ´Â ½ºÅ©¸³Æ®µé¿¡ ´ëÇÑ Ãâ·Â(output)À»( standard output and error ) ¿¬±¸ÇÏ´Â °ÍÀº °¡´ÉÇÏÁö ¾Ê¾Ò±â ¶§¹®¿¡, CGI ½ºÅ©¸³Æ®¸¦ µð¹ö±ë ÇÏ´Â °ÍÀº ½±Áö ¾Ê½À´Ï´Ù. ¾Æ·¡ÀÇ ¼±¾ðÀº ¿¡·¯¿¡ ´ëÇÑ Á¶±Ý ÀÚ¼¼ÇÑ ±â·Ï(·Î±ë)À» Á¦°øÇÕ´Ï´Ù.(Apache 1.2 ÀÌÈÄ )
±âº»°ªÀ¸·Î ¾Ë¸Â°Ô ½ÇÇàÇÏÁö ¾ÊÀº CGI´Â
±â·ÏÇÏÁö ¾Ê½À´Ï´Ù.
Á¶ÀÛ(operation)¿¡ ½ÇÆÐÇÑ °¢ CGI ½ºÅ©¸³Æ®´Â
¸îÁÙÀÇ Á¤º¸°¡ ±â·ÏµÇµµ·Ï ÇÕ´Ï´Ù.
±× 1¹øÂ° 2 ¼±µé Çü½Ä(format)Àº
Ç×»ó ´ÙÀ½°ú °°½À´Ï´Ù.
%% [time] request-line %% HTTP-status CGI-script-filename
¸¸¾à ¿¡·¯°¡ CGI½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏÁö ¸øÇÏ¿´´Ù¸é ´ÙÀ½ µÎÁÙÀ» ·Î±×ÆÄÀÏ¿¡ Æ÷ÇÔÇÕ´Ï´Ù.:
%%error error-message
¶Ç ´Ù¸¥ ¹æ¹ýÀ¸·Î, ¸¸¾à ±× ¿¡·¯°¡ ºÎÁ¤È® ÇÑ ¸Ó¸®¸» Á¤º¸¸¦(½ºÅ©¸³Æ®Áß¿¡ ¹ö±×·Î ÀÎÇØ Á¾Á¾) µ¹·ÁÁØ ½ºÅ©¸³Æ®ÀÇ °á°úÀ̸é, ±× Á¤º¸´Â ´ÙÀ½°ú °°ÀÌ ±â·ÏµË´Ï´Ù :
%request All HTTP request headers received POST or PUT entity (if any) %response All headers output by the CGI script %stdout CGI standard output %stderr CGI standard error
(The %stdout and %stderr parts may be missing if the script did not output anything on standard output or standard error).
ScriptLog ¼±¾ðÀº CGI ½ºÅ©¸³Æ® ¿¡·¯ logfileÀ» ÁöÁ¤ÇÕ´Ï´Ù. ¸¸¾à ScriptLog °ªÀÌ ÁÖ¾îÁöÁö ¾ÊÀ¸¸é, ¿¡·¯ ·Î±×´Â »ý¼ºµÇÁö ¾Ê½À´Ï´Ù. ÁÖ¾îÁø´Ù¸é, CGI ¿¡·¯µéÀº Àμö·Î ÁÖ¾îÁø ÆÄÀÏ À̸§(filename)¿¡ ±â·ÏµË´Ï´Ù. ¸¸¾à À̰ÍÀÌ »ó´ëÀû ÆÄÀÏ È¤Àº °æ·ÎÀ̸é, ±×°ÍÀº ¼¹ö ·çÆ®¿¡ °üÇÏ¿© ¾ò¾îÁý´Ï´Ù.
This log will be opened as the user the child processes run as, ie. the user specified in the main User directive. This means that either the directory the script log is in needs to be writable by that user or the file needs to be manually created and set to be writable by that user. If you place the script log in your main logs directory, do NOT change the directory permissions to make it writable by the user the child processes run as.
NOTE : ¾ÆÆÄÄ¡ ¼¹ö°¡ ½ÇÇàµÇ¾î ÀÖÀ»¶§ ¿¡·¯·Î±×¸¦ ºñ·ÔÇÑ ´Ù¸¥ ·Î±×ÆÄÀϵéÀº »èÁ¦ ÇÒ ¼ö ¾øÁö¸¸ ÀÌ ½ºÅ©¸³Æ® ·Î±× ÆÄÀÏÀº »èÁ¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ½ºÅ©¸³Æ® ·Î±× ÆÄÀÏÀº µð¹ö±ëÀ» À§ÇØ À߸øµÈ CGI ¸¦ ¼öÇàÇßÀ» °æ¿ì¿¡¸¸ »ç¿ëµÇ´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ½ºÅ©¸³Æ® ·Î±×´Â ¼Óµµ³ª È¿À²¿¡ ÀÖ¾î¼ ÃÖÀûȵÇÁö ¾Ê¾Ò½À´Ï´Ù, ±×¸®°í µðÀÚÀÎÇÑ Àǵµ´ë·Î »ç¿ëµÇÁö ¾ÊÀ» °æ¿ì º¸¾È ¹®Á¦µéÀ» °¡Áö°í ÀÖÀ»Áöµµ ¸ð¸¨´Ï´Ù.
ScriptLogLength ´Â
CGI ½ºÅ©¸³Æ® logfileÀÇ Å©±â¸¦ Á¦ÇÑÇÏ´Â °ÍÀ¸·Î »ç¿ëµË´Ï´Ù.
CGI
¿¡·¯¿¡(¸ðµÎ ¿ä±¸ ¸Ó¸®¸»µé, ¸ðµÎ ½ºÅ©¸³Æ® Ãâ·Â) ´ëÇÏ¿© ¸¹Àº
Á¤º¸°¡ ½×ÀÎ logfile ÀÇ Å©±â°¡ Áõ´ëµÉ ¼ö ÀÖ½À´Ï´Ù.ÇÑÁ¤µÇÁö¾ÊÀº
¼ºÀåÀ¸·Î ÀÎÇÑ ¹®Á¦µéÀ» ¸·±â À§ÇÏ¿©, ÀÌ ¼±¾ðÀº CGI logfile¸¦ À§ÇØ
ÃÖ´ë ÆÄÀÏ Å©±â¸¦ ¼³Á¤ÇÏ´Â °ÍÀ¸·Î »ç¿ëµË´Ï´Ù. ¸¸¾à ±× ÆÄÀÏÀÌ ÀÌ
Å©±â¸¦ ÃʰúÇϸé, ´õÀÌ»ó Á¤º¸´Â ±×°Í¿¡ ±â·ÏµÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
ÆÄÀÏ¿¡ ±â·ÏµÈ ¾î¶°ÇÑ PUT ȤÀº POST ¿£Æ¼Æ¼ ¸öüÀÇ Å©±â¸¦ Á¦ÇÑÇÕ´Ï´Ù. ¸¸¾à Å« ¿ë·®µéÀÌ ºü¸£°Ô ¹Þ¾ÆÁö°í ÀÖÀ¸¸é ³Ê¹« Å©°Ô Áõ´ëµÈ ·Î±× ÆÄÀÏÀ» ¸·±â À§ÇÏ¿© Á¦Çѵ˴ϴÙ. ±âº»°ªÀ¸·Î 1024 byte ±îÁö¸¸ ±â·ÏµÇÁö¸¸, À̰ÍÀº ÀÌ ¼±¾ð¿¡¼ ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù.
¡¡