¸®´ª½º¸¦ ¾²´Â ºÐÀ̶ó¸é ´ç¿¬È÷ ¸®´ª½º¸¦ ÀνºÅç ÇÏ¸é¼ ¾ÆÆÄÄ¡¿Í ÆÞµîÀÌ ÇÔ²² ÀνºÅç µÇ±â ¶§¹®¿¡ ¾ÆÆÄÄ¡ÀÇ ¼³Á¤ ÆÄÀϸ¸ (httpd.conf) Á¶±Ý ¼öÁ¤ ÇÏ½Ã¸é ½±°Ô ÆÞ·Î ¸¸µç cgi¸¦ ½ÇÇàÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª À©µµ¿ìÁî ȯ°æ¿¡¼´Â Çϳª Çϳª ´Ù¿î·Îµå¸¦ ÇØ¾ß Çϰí, ¶Ç ¸®´ª½º¿Í´Â ¾à°£ ´Ù¸¥ Ãø¸éÀÌ ÀÖ¾î¼ Á¶±Ý ¼ö°í¸¦ ÇØ¾ß ÇÕ´Ï´Ù.
¸ÕÀú, ¾îµð¼ ´Ù¿î·Îµå¸¦ ÇÏ´ÂÁö ºÎÅÍ:
´Ù¿î·Îµå ÇϼÌÀ¸¸é ÀνºÅç Çϼ¼¿ä. msi ÆÄÀϵéÀ̱⠶§¹®¿¡ ±×³É Ŭ¸¯¸¸ ÇØÁÖ¸é setup ÇÁ·Î±×·¥ÀÌ ¶ß°í ÆòÀÌÇÏ°Ô ÁøÇàµË´Ï´Ù. ¼³Á¤Àº ¾Æ¹«°Íµµ °Çµå¸®Áö ¸¶¼¼¿ä.
ÀÌÁ¦ ¾ÆÆÄÃë ¼³Á¤À» ÇÕ´Ï´Ù. ¸®´ª½º¿¡¼ ÇØº¸½Å ºÐÀº Àß ¾Æ½Ã°ÚÁö¸¸ ¾ÆÆÄÃë´Â httpd.conf ¶ó´Â ÅØ½ºÆ® ÆÄÀÏÀ» ÆíÁýÇØ¼ ¼³Á¤À» ÇÕ´Ï´Ù. ÀÌ ÆÄÀÏÀº, ¾Æ¹«°Íµµ ¾È °Çµå·È´Ù¸é C:\Program Files\Apache Group\Apache\conf µð·ºÅ丮 ¾È¿¡ ÀÖ½À´Ï´Ù. °Å±â º¸¸é "httpd.default.conf"¶ó´Â °Íµµ Àִµ¥ ±×°Ç °Çµå¸®Áö ¸»°í "httpd.conf"¸¦ ¿©¼¼¿ä. ¸Þ¸ðÀåÀ̳ª ±âŸ ¾Æ¹«·± ÅØ½ºÆ® ¿¡µðÅͷγª ¿©½Ã¸é µË´Ï´Ù.
¾ÆÆÄÄ¡ ¼³Á¤¿¡¼ Çϳª ÁÖÀÇÇÒ Á¡Àº, À©µµ¿ìÁî¿¡¼´Â µð·ºÅ丮 ±¸ºÐÀ» \¸¦ ÀÌ¿ëÇÏÁö¸¸ ¾ÆÆÄÃë´Â À¯´Ð½º½Ä ±×´ë·Î /¸¦ »ç¿ëÇÑ´Ù´Â °ÍÀÔ´Ï´Ù. ¿¹¸¦µé¾î C: ÃÖ»óÀ§¿¡ "dog"À̶ó´Â Æú´õ°¡ ÀÖ´Ù¸é À©µµ¿ìÁî¿¡¼´Â C:\dog ¶ó°í Ç¥ÇöÇÏÁö¸¸ ¾ÆÆÄÃë¿¡¼´Â C:/dog ¶ó°í ÇØ¾ß ÇÕ´Ï´Ù. ÀϹÝÀûÀÎ À¥ÆäÀÌÁö ÁÖ¼Ò(url)µµ ¸¶Âù°¡ÁöÁöÁÒ? À¥ÀÌ À¯´Ð½º¸¦ ±â¹ÝÀ¸·Î ¸¸µé¾îÁø µ¥¼ ºñ·ÔµÈ °ÍÀÔ´Ï´Ù. ¾î·µç C: ÃÖ»óÀ§¿¡ "mysite"¶ó´Â µð·ºÅ丮¸¦ Çϳª ¸¸µå¼¼¿ä. ¿©±â¿¡ ¸ðµç html ÆÄÀÏ, cgi ½ºÅ©¸³Æ® µîÀÌ ´ã±â°Ô µË´Ï´Ù. ³» À¥½á¹öÀÇ ¹®¼ ·çÆ®°¡ c:\mysite°¡ µÇ´Â °Ì´Ï´Ù.
C:\Program Files\Apache Group\Apache\conf µð·ºÅ丮 ¾È¿¡ ÀÖ´Â httpd.conf¸¦ ÅØ½ºÆ® ¿¡µðÅÍ·Î ¿¾ú´Ù¸é ´ÙÀ½À» ¼öÁ¤Çϼ¼¿ä.
1. ¸ÕÀú DocumentRoot ¶ó´Â °ÍÀ» ãÀ¸¼¼¿ä. ¾Æ¸¶,
DocumentRoot "C:/Program Files/Apache Group/Apache/htdoc"
¶ó°í µÇ¾î ÀÖÀ» °ÍÀÔ´Ï´Ù. À̰ÍÀ»,
DocumentRoot "C:/mysite"
·Î ¹Ù²Ù¼¼¿ä.
2. ±× ¹Ø¿¡ Á¶±Ý ´õ ³»·Á°¡º¸¸é
<Directory "C:/Program Files/Apache Group/Apache/htdoc">°¡ ³ª¿É´Ï´Ù.
À̰ÍÀº À§ÀÇ DocumentRoot¿Í ¶È°°ÀÌ ¸ÂÃçÁà¾ß ÇÕ´Ï´Ù.
<Directory "C:/mysite">·Î ¹Ù²Ù¼¼¿ä.
3. ±× ´ÙÀ½ Áß¿äÇÑ °ÍÀÌ ³ª¿É´Ï´Ù. ScriptAlias ¶ó´Â °ÍÀ» ãÀ¸¼¼¿ä.
5¹é¹ø´ë ÁÙ¿¡ ÀÖÀ» °ÍÀÔ´Ï´Ù. (CTRL-F ۸¦ ÀÌ¿ëÇÏ¸é ºü¸£°ÚÁÒ? ^^) ¾Æ¸¶ ÀÌ·¸°Ô ³ª¿Í ÀÖÀ» °ÍÀÔ´Ï´Ù.
ScriptAlias "C:/Program Files/Apache Group/Apache/cgi-bin/"
±×°ÍÀ»,
ScriptAlias "C:/mysite/cgi-bin/"
À¸·Î °íÄ¡¼¼¿ä.
°íÄ£ ´ÙÀ½ mysite µð·ºÅ丮 ¾È¿¡ cgi-bin À̶ó´Â µð·ºÅ丮¸¦ Çϳª »õ·Î ¸¸µå¼¼¿ä.
ScriptAliasÀÇ Àǹ̴Â, "Alias" Áï, ¹Ù·Î°¡±â³ª ¸Æ¿¡¼ÀÇ °¡»óº»°ú °°Àº °³³ä ÀÔ´Ï´Ù. Ưº°È÷ cgi ½ºÅ©¸³Æ®¸¦ ´ã°í ÀÖ´Ù°í ÇØ¼ "ScriptAlias" ¶ó´Â À̸§ÀÌ ºÙ¾úÀ» »ÓÀÌÁÒ. Áï, À¥ºê¶ó¿ìÁ®ÀÇ ÁÖ¼Òâ¿¡¼ http://www.domain.com/cgi-bin/somecgi.cgi ¿Í °°ÀÌ ÁÖ¼Ò¸¦ ÀÔ·ÂÇßÀ» ¶§ À¥ÁÖ¼Ò(url)¿¡ µé¾îÀÖ´Â cgi-bin"Àº À¥½á¹ö ¼ÂÆÃ(http.conf)¿¡¼ ÁöÁ¤ÇØÁØ C:\mysite\cgi-bin Æú´õ¸¦ °¡¸£Å°°Ô µÇ´Â °ÍÀÔ´Ï´Ù. ÁÖ¼ÒâÀÇ cgi-bin ÀÌ °¡¸£Å°´Â ½ÇÁ¦ µð·ºÅ丮¸¦ ÁöÁ¤ÇÏ´Â °ÍÀÌ ScriptAliasÀÎ °ÍÀÌÁÒ. º¸ÅëÀÇ °æ¿ì cgi ÆÄÀϵéÀº ´Ù cgi-bin µð·ºÅ丮¿¡ ¸ð¾Æ µÎ±â ¶§¹®¿¡ À§¿Í °°ÀÌ ÁöÁ¤À» ÇØµÐ °æ¿ì Ưº°ÇÑ ¼³Á¤ÀÌ ¾øÀ̵µ C:\mysite\cgi-bin µð·ºÅ丮¿¡ µé¾î ÀÖ´Â ÆÄÀϵéÀº cgi·Î ÀνÄÇÏ°í ½ÇÇàÀ» ÇÏ°Ô µË´Ï´Ù.
±×·±µ¥, "ScriptAlias"·Î ÁöÁ¤ÇÑ µð·ºÅ丮 ¹Ù±ù¿¡ ÀÖ´Â ÆÄÀÏÀ» cgi·Î ÀνÄÇØ¼ ½ÇÇàÇÏ·Á¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î¿ä. ¸î °¡Áö ´Ù¸¥ °ÍÀ» ¼öÁ¤ÇØÁà¾ß ÇÕ´Ï´Ù. À̸¦Å×¸é ¾î¶² ƯÁ¤ µð·ºÅ丮¿¡ (ÇϺΠµð·ºÅ丮±îÁö Æ÷ÇÔ) ´ã±ä ¾î¶² ÆÄÀϵéÀ» cgi·Î °£ÁÖÇØ¼ ½ÇÇàÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ Directory¸¦ ÁöÁ¤ÇØÁÖ¸é µË´Ï´Ù.
<Directory "C:/mysite">
AllowOverride None
Options ExecCGI
AddHandler cgi-script .pl .cgi
Order allow,deny
Allow from all
</Directory>
À§¿Í °°ÀÌ ¼³Á¤Çϸé, C:\mysite µð·ºÅ丮 (ÇϺΠµð·ºÅ丮 Æ÷ÇÔ) ³»¿¡ µé¾î ÀÖ´Â ÆÄÀÏ Áß¿¡ È®ÀåÀÚ°¡ .pl À̳ª .cgiÀÎ ÆÄÀϵéÀº cgi ½ºÅ©¸³Æ®·Î Ãë±ÞÇØ¼ ½ÇÇàÇÏ°Ô µË´Ï´Ù. À§ÀÇ Äڵ带 ¾ÆÆÄÄ¡ ¼³Á¤ ÆÄÀÏ httpd.conf ÀÇ ¾Æ¹« ºÎºÐ¿¡³ª ÷°¡ÇØÁÖ¸é ÆÄÀÏ È®ÀåÀÚ¸¸À¸·Î cgi ÆÄÀÏÀ» ½Äº°Çؼ ½ÇÇàÇÏ´Â °ÍÀÔ´Ï´Ù.
À§¿Í °°ÀÌ ÆÄÀÏ È®ÀåÀÚ¸¦ ÀÌ¿ëÇØ¼ ÁöÁ¤ÇÏ´Â ¹æ¹ý ¿Ü¿¡µµ "Addtype"À» ÀÌ¿ëÇÏ´Â ¹æ¹ý µî ¿©·¯°¡Áö°¡ ´õ ÀÖÁö¸¸ ´Ù¸¥ ±Û¿¡¼ ±âȸ°¡ µÇ¸é ´Ù·ç±â·Î Çϱ¸¿ä.
ÀÚ. ÀÌÁ¦ À§¿¡¼ ¸»¾¸µå¸°´ë·Î ScriptAlias¸¦ ÀûÀýÈ÷ ÁöÁ¤ Çϼ̴ٸé ÀÌÁ¦ ¾ÆÆÄÃ븦 restart ÇÕ´Ï´Ù. restart ÇÏ´Â ¹æ¹ýÀº Á¤¸» °£´ÜÇÕ´Ï´Ù. ½ÃÀÛ ¸Þ´ºÀÇ "ÇÁ·Î±×·¥" ¿¡ º¸¸é "Apache httpd Server" ¶õ °ÍÀÌ ÀÖ½À´Ï´Ù. °Å±â º¸¸é "Control Apache Server" Ç׸ñÀÌ ÀÖ°í, ±×°ÍÀ» ¼±ÅÃÇØº¸¸é restart°¡ ÀÖ½À´Ï´Ù. À̰ÍÀ» ½ÇÇà½ÃŰ¼¼¿ä. ¸í·É¾î ÀÔ·ÂâÀÌ(cmd.exe) Àá½Ã ¶¹´Ù°¡ »ç¶óÁö¸é¼ ¾ÆÆÄÄ¡´Â Àç½Ãµ¿µË´Ï´Ù. ÀÌÁ¦ ¾ÆÆÄÃë ¼³Á¤ ³¡!
ÀÌÁ¦, ÅØ½ºÆ® ¿¡µðÅ͸¦ ¿°í cgi¸¦ Çϳª ¸¸µé¾î¼ Å×½ºÆ® ÇØº¾½Ã´Ù.
cgi´Â ¸¹Àº º¹ÀâÇÑ À̾߱Ⱑ ÀÖ½À´Ï´Ù¸¸, ¿©±â¼´Â ±×³É °¡Àå °£´ÜÇÑ °Í Çϳª¸¸ ¸¸µé¾î¼ ¾ÆÆÄÄ¡ ¼ÂÆÃÀÌ Á¦´ë·Î µÇ¾ú´ÂÁö¸¸ È®ÀÎÇØ º¾½Ã´Ù. ÀÏ´Ü ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇϼ¼¿ä.
#!C:/Perl/bin/Perl.exe
print "Content-type: text/html\n\n";
print "<html><head><title>Hello, World!</title></head>";
print "<body><p>Hello, world !</body></html>";
Áß¿äÇÑ °ÍÀº ù ÁÙÀÔ´Ï´Ù. ´Ù¸¥ ÁÙµéÀº ±×³É html ű׸¦ »Ñ·ÁÁÖ´Â °ÍÀ̱¸¿ä. À¯´Ð½º¿¡¼ "Shebang" À̶ó°í ÇÏ´Â °ÍÀÔ´Ï´Ù. (#!À̴ϱî sharp+bang = shebang) ShebangÀº, ´ÙÀ½ ÁÙºÎÅÍ ³ª¿À´Â Äڵ带 ¾î¶² ¾î¶² ÇÁ·Î±×·¥À¸·Î (ÀÎÅÍÇÁ¸®ÅÍ·Î) ½ÇÇàÇØ¶ó´Â ÀǹÌÀÔ´Ï´Ù. ¿ì¸®´Â ÆÞÀ» ÀÌ¿ëÇØ¼ cgi¸¦ ¸¸µé°ÍÀ̹ǷΠÆÞÀÌ ¾îµð¿¡ ÀÖ´ÂÁö¸¦ ¾Ë·ÁÁà¾ß ÇÕ´Ï´Ù. À§ Äڵ带 º¸½Ã¸é Cµå¶óÀ̺ê-->Perl-->bin µð·ºÅ丮 ¾È¿¡ ÀÖ´Â Perl.exe¶ó´Â ÇÁ·Î±×·¥À¸·Î ½ÇÇàÇØ¶ó°í ¾Ë·ÁÁÖ°í ÀÖ½À´Ï´Ù. ¿©±â¼ ÁÖÀÇÇÏ½Ç Á¡Àº 3°¡ÁöÀÔ´Ï´Ù. ù°, À§¿¡¼ ¾ê±âÇßÁö¸¸, À©µµ¿ìÁîÀÇ ÆÐ¾² ¾²´Â°Í°ú ´Þ¸® /¸¦ »ç¿ëÇØ¼ Perl.exe À§Ä¡¸¦ ÁöÁ¤Çϰí ÀÖ´Ù´Â Á¡ÀÔ´Ï´Ù. µÑ°, Perl.exe´Â ±×³É Perl¸¸ ½áµµ µË´Ï´Ù. (À©95 Áß ¾î¶² °Ç ¾ÈµË´Ï´Ù. ±× °æ¿ì¿£ Perl.exe ±îÁö ´Ù ÀÔ·Â) Áï, #!C:/Perl/bin/PerlÀ̶ó°í ÇØµµ µË´Ï´Ù. ¼Â°, #!¸¦ ¾µ ¶§ µð·ºÅ丮 À̸§À̳ª ÆÄÀÏÀ̸§ÀÇ ´ë¼Ò¹®ÀÚ´Â ±¸ºÐ ¾ÈÇϼŵµ µË´Ï´Ù. Perl À̳ª perl À̳ª ¶È°°½À´Ï´Ù. À¯´Ð½º¿¡¼´Â ´ç¿¬È÷ ´ë¼Ò¹®ÀÚ ±¸ºÐÇØ¾ß ÇÕ´Ï´Ù.
À§¿Í °°ÀÌ ÀÔ·ÂÇßÀ¸¸é C:\mysite\cgi-bin µð·ºÅ丮¿¡ "hello.cgi" µîÀÇ À̸§À¸·Î ÀúÀåÇϼ¼¿ä.
ÀÌÁ¦ ÀÎÅÍ³Ý ÀͽºÇ÷η¯¸¦ ¶ç¿ì°í ÁÖ¼Òâ¿¡ http://localhost/cgi-bin/hello.cgi¶ó°í ÀÔ·ÂÇÏ°í ¿£Å͸¦ Ä¡¼¼¿ä.
Hello, Wolrd!¶ó°í ¶ßÁÒ? ¼º°øÀ» ÃàÇϵ帳´Ï´Ù. ^_^
¸¸¾à ¿¡·¯°¡ ³µ´Ù¸é, -_-
C:/Program Files/Perl/Perl°ú °°Àº ¾û¶×ÇÑ ÆÐ¾²¸¦ »ç¿ëÇß´ÙµîÀÇ ¿øÀÎÀÏ °¡´É¼ºÀÌ ³ô½À´Ï´Ù. ¹Ýµå½Ã ³» ÄÄÇ»ÅÍÀÇ ¾îµð¿¡ "Perl.exe" ÆÄÀÏÀÌ ÀÖ´ÂÁö È®ÀÎÇØ¼ Á¤È®ÇÑ ÆÐ¾²¸¦ ¾²¼¼¿ä.
