1 <?xml version="1.0" encoding="EUC-KR" ?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
4 <!-- English Revision: 105989:151408 (outdated) -->
7 Copyright 2003-2005 The Apache Software Foundation or its licensors,
10 Licensed under the Apache License, Version 2.0 (the "License");
11 you may not use this file except in compliance with the License.
12 You may obtain a copy of the License at
14 http://www.apache.org/licenses/LICENSE-2.0
16 Unless required by applicable law or agreed to in writing, software
17 distributed under the License is distributed on an "AS IS" BASIS,
18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 See the License for the specific language governing permissions and
20 limitations under the License.
23 <modulesynopsis metafile="mod_cgi.xml.meta">
26 <description>CGI ½ºÅ©¸³Æ® ½ÇÇà</description>
28 <sourcefile>mod_cgi.c</sourcefile>
29 <identifier>cgi_module</identifier>
32 <!-- XXX: Should mention Options ExecCGI
33 is the link to howto/cgi not sufficient? -nd
36 <p>¼¹ö´Â mime typeÀÌ <code>application/x-httpd-cgi</code>À̰ųª
37 (¾ÆÆÄÄ¡ 1.1 ÀÌÈÄ) Çڵ鷯°¡ <code>cgi-script</code>ÀÎ ¸ðµç
38 ÆÄÀÏÀ» CGI ½ºÅ©¸³Æ®·Î ÀνÄÇÏ¿©, ½ÇÇàÇÏ°í, ±× °á°ú¸¦ Ŭ¶óÀ̾ðÆ®¿¡°Ô
39 º¸³½´Ù. ÆÄÀÏÀÌ <directive module="mod_mime">AddType</directive>
40 Áö½Ã¾î·Î ÁöÁ¤ÇÑ È®ÀåÀÚ¸¦ °¡Áö°Å³ª, <directive
41 module="mod_alias">ScriptAlias</directive> µð·ºÅ丮 ¾È¿¡
42 ÀÖÀ¸¸é CGI·Î 󸮵ȴÙ.</p>
44 <p>¼¹ö´Â CGI ½ºÅ©¸³Æ®¸¦ ºÎ¸¦¶§ <code>DOCUMENT_ROOT</code>¶ó´Â
45 ȯ°æº¯¼ö¸¦ Ãß°¡ÇÑ´Ù. ÀÌ º¯¼ö´Â <directive
46 module="core">DocumentRoot</directive> ¼³Á¤°ªÀ» °¡Áø´Ù.</p>
48 <p>¾ÆÆÄÄ¡¿¡¼ CGI ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ¼Ò°³´Â
49 <a href="../howto/cgi.html">CGI·Î µ¿Àû ÆäÀÌÁö »ý¼º</a> ÅõÅ丮¾óÀ»
52 <p>À¯´Ð½º¿¡¼ ´ÙÁß¾²·¹µå MPMÀ» »ç¿ëÇÑ´Ù¸é ÀÌ ¸ðµâ´ë½Å
53 <module>mod_cgid</module> ¸ðµâÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. »ç¿ëÀÚ
54 ÀÔÀå¿¡¼ ÀÌ µÎ ¸ðµâÀº ±âº»ÀûÀ¸·Î µ¿ÀÏÇÏ´Ù.</p>
57 <seealso><directive module="core">AcceptPathInfo</directive></seealso>
58 <seealso><directive module="core">Options</directive></seealso>
59 <seealso><directive module="mod_alias">ScriptAlias</directive></seealso>
60 <seealso><directive module="mod_mime">AddHandler</directive></seealso>
61 <seealso><a href="../suexec.html">´Ù¸¥ »ç¿ëÀÚ ID·Î CGI ÇÁ·Î±×·¥
62 ½ÇÇàÇϱâ</a></seealso>
63 <seealso><a href="http://hoohoo.ncsa.uiuc.edu/cgi/">CGI Ç¥ÁØ</a></seealso>
65 <section id="env"><title>CGI ȯ°æº¯¼ö</title>
66 <p>¼¹ö´Â ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î <a
67 href="http://hoohoo.ncsa.uiuc.edu/cgi/">CGI Ç¥ÁØ</a>ÀÌ ¼³¸íÇÏ´Â
68 CGI ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù:</p>
73 <dd>ÀÌ º¯¼ö´Â <directive module="core"
74 >AcceptPathInfo</directive> Áö½Ã¾î¸¦ Á÷Á¢ <code>off</code>·Î
75 ÁöÁ¤ÇÑ °æ¿ì¿¡¸¸ ¼³Á¤ÇÑ´Ù. <directive
76 >AcceptPathInfo</directive>°¡ ¾ø´Â °æ¿ì ¼¹ö´Â ±âº»ÀûÀ¸·Î
77 °æ·Î Á¤º¸°¡ ÀÖ´Â ¿äû¿¡ ´ëÇØ 404 NOT FOUND ¿À·ù¸¦ ³»Áö¸¸,
78 <module>mod_cgi</module>´Â °æ·Î Á¤º¸¸¦ (URI¿¡¼ ½ºÅ©¸³Æ®
79 ÆÄÀÏ¸í µÚ¿¡ ³ª¿À´Â <code>/more/path/info</code>) ¹Þ´Â´Ù.
80 <directive>AcceptPathInfo</directive> Áö½Ã¾î¸¦ »ý·«Çϸé
81 <module>mod_cgi</module> ¿äû¿¡ ´ëÇؼ <directive
82 module="core">AcceptPathInfo</directive>¸¦ <code>On</code>À¸·Î
83 ¼³Á¤ÇÑ °Í°ú °°´Ù.</dd>
87 <dd>ÀÌ º¯¼ö´Â <directive module="core"
88 >HostnameLookups</directive>°¡ <code>on</code>ÀÌ°í (±âº»°ªÀº
89 off), Á¢¼ÓÇÑ È£½ºÆ® ÁÖ¼Ò¸¦ ¿ªDNS °Ë»öÇÏ¿© ½ÇÁ¦ È£½ºÆ®¸íÀ»
90 ãÀº °æ¿ì¿¡¸¸ ¼³Á¤ÇÑ´Ù.</dd>
94 <dd>ÀÌ º¯¼ö´Â <directive module="core"
95 >IdentityCheck</directive>°¡ <code>on</code>ÀÌ°í, Á¢¼ÓÇÑ
96 È£½ºÆ®°¡ ident ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÏ´Â °æ¿ì¿¡¸¸ ¼³Á¤ÇÑ´Ù.
97 ½±°Ô ÀÌ °ªÀ» ¼ÓÀÏ ¼ö Àֱ⶧¹®¿¡ ÀÌ º¯¼öÀÇ ³»¿ëÀ» ¹ÏÀ¸¸é
98 ¾ÈµÇ°í, Ŭ¶óÀ̾ðÆ®¿Í ¼¹ö »çÀÌ¿¡ ÇÁ·Ï½Ã°¡ ÀÖ´Ù¸é º¯¼ö
99 ³»¿ëÀÌ ¿ÏÀüÈ÷ ¹«ÀǹÌÇÔÀ» ÁÖÀÇÇ϶ó.</dd>
103 <dd>CGI ½ºÅ©¸³Æ®°¡ ÀÎÁõÀ» °ÅÃľßÇÏ´Â °æ¿ì¿¡¸¸ ¼³Á¤ÇÑ´Ù.</dd>
107 <section id="cgi-debug"><title>CGI µð¹ö±ë</title>
108 <p>¾îµð¿¡¼ À߸ø ½ÇÇàµÇ´ÂÁö ½ºÅ©¸³Æ®ÀÇ Ãâ·ÂÀ» (Ç¥ÁØÃâ·Â°ú
109 Ç¥ÁØ¿À·ù) º¼ ¼ö ¾ø±â¶§¹®¿¡ CGI ½ºÅ©¸³Æ®´Â ÀüÅëÀûÀ¸·Î µð¹ö±ëÇϱâ
110 ¾î·Á¿ü´Ù. ¾ÆÆÄÄ¡ 1.2 ÀÌÈÄ¿¡ Ãß°¡µÈ Áö½Ã¾î¸¦ »ç¿ëÇÏ¸é ¹ß»ýÇÑ
111 ¿À·ù¸¦ ÀÚ¼¼È÷ ·Î±×¿¡ ³²±æ ¼ö ÀÖ´Ù.</p>
113 <section><title>CGI ·Î±×ÆÄÀÏ Çü½Ä</title>
114 <p>CGI ¿À·ù·Î±×´Â Á¤»óÀûÀ¸·Î ½ÇÇàÇÏÁö ¸øÇÑ CGI¸¦ ±â·ÏÇÑ´Ù.
115 ¿À·ù°¡ ¹ß»ýÇÑ CGI ½ºÅ©¸³Æ®´Â ·Î±×¿¡ ¿©·¯ ÁÙÀÇ Á¤º¸¸¦ ³²±ä´Ù.
116 ù¹ø° µÎ ÁÙÀº Ç×»ó ¾Æ·¡¿Í °°Àº Çü½ÄÀÌ´Ù:</p>
119 %% [<var>½Ã°£</var>] <var>¿äûÁÙ</var><br />
120 %% <var>HTTP-»óÅÂ</var> <var>CGI-½ºÅ©¸³Æ®-ÆÄÀϸí</var>
123 <p>CGI ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ ¼ö ¾ø´Â ¿À·ùÀÎ °æ¿ì ·Î±×ÆÄÀÏ¿¡
124 Ãß°¡·Î µÎ ÁÙÀ» ´õ ±â·ÏÇÑ´Ù:</p>
131 <p>½ºÅ©¸³Æ®°¡ (º¸Åë ½ºÅ©¸³Æ®ÀÇ ¹ö±×¶§¹®¿¡) À߸øµÈ Çì´õ
132 Á¤º¸¸¦ ¹ÝȯÇÏ´Â °æ¿ì, ´ÙÀ½ ³»¿ëÀ» ·Î±×¿¡ ±â·ÏÇÑ´Ù:</p>
136 <var>¹ÞÀº ¸ðµç HTTP Çì´õ</var><br />
137 <var>(ÀÖ´Ù¸é) POST³ª PUT ³»¿ë</var><br />
139 <var>CGI ½ºÅ©¸³Æ® Ãâ·ÂÀÇ ¸ðµç Çì´õ</var><br />
141 <var>CGI Ç¥ÁØÃâ·Â</var><br />
143 <var>CGI Ç¥ÁØ¿À·ù</var><br />
146 <p>(½ºÅ©¸³Æ®°¡ Ç¥ÁØÃâ·ÂÀ̳ª Ç¥ÁØ¿À·ù¿¡ ¾Æ¹« ³»¿ëµµ Ãâ·ÂÇÏÁö
147 ¾Ê¾Ò´Ù¸é %stdout°ú %stderr ºÎºÐÀº »ý·«µÉ ¼ö ÀÖ´Ù).</p>
152 <name>ScriptLog</name>
153 <description>CGI ½ºÅ©¸³Æ® ¿À·ù·Î±×ÆÄÀÏÀÇ À§Ä¡</description>
154 <syntax>ScriptLog <var>file-path</var></syntax>
155 <contextlist><context>server config</context>
156 <context>virtual host</context></contextlist>
157 <modulelist><module>mod_cgi</module><module>mod_cgid</module>
161 <p><directive>ScriptLog</directive> Áö½Ã¾î´Â CGI ½ºÅ©¸³Æ®
162 ¿À·ù·Î±×ÆÄÀÏÀ» ÁöÁ¤ÇÑ´Ù. <directive>ScriptLog</directive>¸¦
163 »ç¿ëÇÏÁö¾ÊÀ¸¸é ¿À·ù·Î±×¸¦ ¸¸µéÁö ¾Ê´Â´Ù. »ç¿ëÇÏ¸é ¾Æ±Ô¸ÕÆ®·Î
164 ÁöÁ¤ÇÑ ÆÄÀÏ¿¡ CGI ¿À·ù¸¦ ±â·ÏÇÑ´Ù. »ó´ë°æ·Î¸¦ ÁöÁ¤Çϸé
165 <directive module="core">ServerRoot</directive>¿¡ »ó´ë°æ·Î·Î
169 <example><title>¿¹Á¦</title>
170 ScriptLog logs/cgi_log
173 <p>ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚ, <em>Áï</em> <directive
174 module="mpm_common">User</directive> Áö½Ã¾î·Î ÁöÁ¤ÇÑ »ç¿ëÀÚ
175 ±ÇÇÑÀ¸·Î ·Î±×¸¦ ¿¬´Ù. ±×·¡¼ ±× »ç¿ëÀÚ°¡ ½ºÅ©¸³Æ® ·Î±×°¡
176 ÀÖ´Â µð·ºÅ丮¿¡ ¾²±â±ÇÇÑÀÌ ÀÖ´øÁö, Á÷Á¢ ¹Ì¸® ÆÄÀÏÀ» ¸¸µé¾î¼
177 ±× »ç¿ëÀÚ¿¡°Ô ¾²±â±ÇÇÑÀ» Áà¾ß ÇÑ´Ù. ½ºÅ©¸³Æ® ·Î±×¸¦ ÁÖ ·Î±×
178 µð·ºÅ丮¿¡ µÐ´Ù¸é ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ ½ÇÇàÇÏ´Â »ç¿ëÀÚ¿¡°Ô ¾²±â±ÇÇÑÀ»
179 ÁÖ±âÀ§ÇØ µð·ºÅ丮 ±ÇÇÑÀ» º¯°æÇÏÁö <strong>¸¶¶ó</strong>.</p>
181 <p>½ºÅ©¸³Æ® ·Î±×´Â CGI ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÒ¶§ µð¹ö±ëÀ» À§ÇÑ
182 ¿ëµµÀÌÁö ¼¹ö¸¦ ½ÇÇàÇÏ´Â µ¿¾È °è¼Ó »ç¿ëÇϱâÀ§ÇÔÀÌ ¾Æ´ÔÀ»
183 ÁÖÀÇÇ϶ó. ¼Óµµ¿Í È¿À²¼º¸é¿¡¼ ÃÖÀûÈ°¡ ¾ÈµÇÀÖ°í, ¼³°èÇÑ
184 ¸ñÀûÀÌ¿ÜÀÇ ¹æ¹ýÀ¸·Î »ç¿ëÇÏ¸é º¸¾È»ó ¹®Á¦°¡ µÉ ¼ö ÀÖ´Ù.</p>
189 <name>ScriptLogLength</name>
190 <description>CGI ½ºÅ©¸³Æ® ·Î±×ÆÄÀÏÀÇ Å©±â Á¦ÇÑ</description>
191 <syntax>ScriptLogLength <var>bytes</var></syntax>
192 <default>ScriptLogLength 10385760</default>
193 <contextlist><context>server config</context>
194 <context>virtual host</context></contextlist>
195 <modulelist><module>mod_cgi</module><module>mod_cgid</module>
199 <p><directive>ScriptLogLength</directive>´Â CGI ½ºÅ©¸³Æ®
200 ·Î±×ÆÄÀÏÀÇ Å©±â¸¦ Á¦ÇÑÇÑ´Ù. CGI ¿À·ù°¡ ¹ß»ýÇÒ¶§¸¶´Ù (¸ðµç
201 ¿äû Çì´õ, ¸ðµç ½ºÅ©¸³Æ® Ãâ·Â µî) ¸¹Àº Á¤º¸°¡ ·Î±×¿¡
202 ±â·ÏµÇ±â¶§¹®¿¡ ÆÄÀÏÀÌ ¸Å¿ì Ä¿Áú ¼ö ÀÖ´Ù. ÆÄÀÏÀÌ ¹«ÇÑÈ÷ Ä¿Áö´Â
203 ¹®Á¦¸¦ ¸·±âÀ§ÇØ ÀÌ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© CGI ·Î±×ÆÄÀÏÀÇ ÃÖ´ë
204 ÆÄÀÏÅ©±â¸¦ ¼³Á¤ÇÑ´Ù. ÆÄÀÏÀÇ Å©±â°¡ ¼³Á¤ÇÑ °ªÀ» ³ÑÀ¸¸é ´õ
205 ÀÌ»ó Á¤º¸¸¦ ±â·ÏÇÏÁö¾Ê´Â´Ù.</p>
210 <name>ScriptLogBuffer</name>
211 <description>½ºÅ©¸³Æ® ·Î±×¿¡ ±â·ÏÇÒ PUT ȤÀº POST ¿äûÀÇ ÃÖ´ë·®</description>
212 <syntax>ScriptLogBuffer <var>bytes</var></syntax>
213 <default>ScriptLogBuffer 1024</default>
214 <contextlist><context>server config</context>
215 <context>virtual host</context></contextlist>
216 <modulelist><module>mod_cgi</module><module>mod_cgid</module>
220 <p>Å« ³»¿ëÀ» ¹Þ¾Æ¼ ·Î±×ÆÄÀÏÀÌ ³Ê¹« »¡¸® Ä¿Áö´Â Çö»óÀ» ¸·±âÀ§ÇØ
221 ÆÄÀÏ¿¡ ±â·ÏÇÒ PUT ȤÀº POST ³»¿ëÀÇ Å©±â¸¦ Á¦ÇÑÇÑ´Ù. ±âº»ÀûÀ¸·Î
222 1024 ¹ÙÀÌÆ®±îÁö ·Î±×¿¡ ±â·ÏÇÏÁö¸¸, ÀÌ Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©