¡¡

[APACHE DOCUMENTATION]

Apache HTTP Server Version 1.3

Module mod_cgi

ÀÌ ¸ðµâÀº CGI ½ºÅ©¸³Æ®ÀÇ ½ÇÇàÀ» °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù. mod_cgi.c ¿¡ Æ÷ÇԵǾî ÀÖÀ¸¸ç ±âº»À¸·Î ÄÄÆÄÀÏ µÇ¾î ÀÖ½À´Ï´Ù. ÄÁÅÙÃ÷ Çü½Ä(MIME)ÀÌ application/x-httpd-cgi ·Î °¡Áø ÆÄÀÏÀº ¾î¶²°ÍÀ̵ç ÀÌ ¸ðµâ¿¡ ÀÇÇØ ¼öÇàµË´Ï´Ù.

Summary - ¿ä¾à

ÄÁÅÙÃ÷Çü½Ä(MIME)À» application/x-httpd-cgi ³ª Çڵ鷯 cgi-script ¸¦ °¡Áø ÆÄÀÏÀº CGI ½ºÅ©¸³Æ®·Î 󸳵˴ϴÙ. ±×¸®°í ¼­¹ö¿¡ ÀÇÇØ¼­ ±× °á°ú(output)¸¦ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô µ¹·ÁÁÖ°Ô µË´Ï´Ù. ÆÄÀÏÀº AddType ¼±¾ð À̳ª Çڵ鷯 ¼±¾ð¿¡¼­ Á¤ÀÇµÈ È®ÀåÀÚ¸¦ °¡Áö°í ÀÖ´ÂÁö¿Í ScriptAlias µð·ºÅ丮(EexcCGI ¿É¼Ç) ¾È¿¡ Á¸ÀçÇØ¾ß¸¸ ¼­¹ö¿¡¼­ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϵµ·Ï ¹Þ¾Æ µéÀÔ´Ï´Ù.

¼­¹ö°¡ CGI½ºÅ©¸³Æ®¸¦ ºÒ·¯¿Ã¶§ , ¹®¼­·çÆ®(DOCUMENT_ROOT)ÀÇ È¯°æ¿¡¼­ Àоî¿Â º¯¼öµéÀ» Ãß°¡ ÇÕ´Ï´Ù. ÀÌ º¯¼öµéÀº ¹®¼­·çÆ®(DocumentRoot)ÀÇ È¯°æº¯¼öÀÇ °ªÀ» Æ÷ÇÔÇÕ´Ï´Ù.

CGI Environment variables - ȯ°æº¯¼öµé

´ÙÀ½ÀÇ ´Ü¼­¿Í ÇÔ²² ¼­¹ö´Â CGI ±Ô¾à - CGI specification ¿¡ µû¸£´Â CGIȯ°æº¯¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

REMOTE_HOST
À̰ÍÀº HostnameLookups ¼±¾ðÀÌ on À¸·Î µÇ¾î ÀÖÀ» °æ¿ì¸¸ ¼³Á¤µË´Ï´Ù, ±×¸®°í À̰ÍÀº Á¢±ÙÇϴ ȣ½ºÆ® ÁÖ¼ÒÀÇ »ó¹ÝµÈ DNS Á¶»ç°¡ È£½ºÆ® À̸§À» ÁøÂ¥·Î ¹ß°ßÇÏ¿©¾ß¸¸ ºñ·Î¼Ò ¼³Á¤µÉ °ÍÀÔ´Ï´Ù. HostnameLookups ÀÇ ±âº»°ªÀº off  
REMOTE_IDENT
À̰ÍÀº IdentityCheck on  À̰í Á¢±ÙÇϴ ȣ½ºÆ®´Â µ¿ÀÏÇÑ ÇüÅÂÀÇ ÇÁ·ÎÅäÄÝ(ident protocol)À» Áö¿øÇØ¾ß ¼³Á¤µË´Ï´Ù.
NOTE: ÀÌ º¯¼öÀÇ ³»¿ëµéÀÌ ±×°ÍÀÌ ½±°Ô À§Á¶µÉ ¼ö Àֱ⠶§¹®¿¡¿¡ ÀÇÁ¸ÇÒ ¼ö ¾ø½À´Ï´Ù. ±×¸®°í ¸¸¾à ÇÁ¶ô½Ã°¡ Ŭ¶óÀÌ¾ðÆ®¿Í ¼­¹ö»çÀÌ¿¡ ÀÖÀ¸¸é, ±×°ÍÀº º¸Åë ÀüÀûÀ¸·Î ¾µ¸ð ¾ø½À´Ï´Ù.
REMOTE_USER
À̰ÍÀº ´ÜÁö CGI½ºÅ©¸³Æ®°¡ ÀÎÁõÀ» À§ÀÓÇÏ¿´À» °æ¿ì¿¡¸¸ ¼³Á¤ µË´Ï´Ù


CGI Debugging

ÁÖ·Î ¾Ë¸Â°Ô ½ÇÇàÇÏÁö ¾Ê°í ÀÖ´Â ½ºÅ©¸³Æ®µé¿¡ ´ëÇÑ Ãâ·Â(output)À»( standard output and error ) ¿¬±¸ÇÏ´Â °ÍÀº °¡´ÉÇÏÁö ¾Ê¾Ò±â ¶§¹®¿¡, CGI ½ºÅ©¸³Æ®¸¦ µð¹ö±ë ÇÏ´Â °ÍÀº ½±Áö ¾Ê½À´Ï´Ù. ¾Æ·¡ÀÇ ¼±¾ðÀº ¿¡·¯¿¡ ´ëÇÑ Á¶±Ý ÀÚ¼¼ÇÑ ±â·Ï(·Î±ë)À» Á¦°øÇÕ´Ï´Ù.(Apache 1.2 ÀÌÈÄ )


CGI Logfile Format

±âº»°ªÀ¸·Î ¾Ë¸Â°Ô ½ÇÇàÇÏÁö ¾ÊÀº 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).


Directives - ¼±¾ð

ScriptLog

Syntax: ScriptLog filename
Default: none
Context: server config
Status: mod_cgi

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

Syntax: ScriptLogLength size
Default: 10385760
Context: server config
Status: mod_cgi

ScriptLogLength ´Â CGI ½ºÅ©¸³Æ® logfileÀÇ Å©±â¸¦ Á¦ÇÑÇÏ´Â °ÍÀ¸·Î »ç¿ëµË´Ï´Ù.
CGI ¿¡·¯¿¡(¸ðµÎ ¿ä±¸ ¸Ó¸®¸»µé, ¸ðµÎ ½ºÅ©¸³Æ® Ãâ·Â) ´ëÇÏ¿© ¸¹Àº Á¤º¸°¡ ½×ÀÎ logfile ÀÇ Å©±â°¡ Áõ´ëµÉ ¼ö ÀÖ½À´Ï´Ù.ÇÑÁ¤µÇÁö¾ÊÀº ¼ºÀåÀ¸·Î ÀÎÇÑ ¹®Á¦µéÀ» ¸·±â À§ÇÏ¿©, ÀÌ ¼±¾ðÀº CGI logfile¸¦ À§ÇØ ÃÖ´ë ÆÄÀÏ Å©±â¸¦ ¼³Á¤ÇÏ´Â °ÍÀ¸·Î »ç¿ëµË´Ï´Ù. ¸¸¾à ±× ÆÄÀÏÀÌ ÀÌ Å©±â¸¦ ÃʰúÇϸé, ´õÀÌ»ó Á¤º¸´Â ±×°Í¿¡ ±â·ÏµÇÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù.

ScriptLogBuffer

Syntax: ScriptLogBuffer size
Default: 1024
Context: server config
Status: mod_cgi

ÆÄÀÏ¿¡ ±â·ÏµÈ ¾î¶°ÇÑ PUT ȤÀº POST ¿£Æ¼Æ¼ ¸öüÀÇ Å©±â¸¦ Á¦ÇÑÇÕ´Ï´Ù. ¸¸¾à Å« ¿ë·®µéÀÌ ºü¸£°Ô ¹Þ¾ÆÁö°í ÀÖÀ¸¸é ³Ê¹« Å©°Ô Áõ´ëµÈ ·Î±× ÆÄÀÏÀ» ¸·±â À§ÇÏ¿© Á¦Çѵ˴ϴÙ. ±âº»°ªÀ¸·Î 1024 byte ±îÁö¸¸ ±â·ÏµÇÁö¸¸, À̰ÍÀº ÀÌ ¼±¾ð¿¡¼­ ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù.

¡¡