| <?xml version="1.0" encoding="EUC-JP"?> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!-- |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| This file is generated from xml source: DO NOT EDIT |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| --> |
| <title>Apache Tutorial: CGI ¤Ë¤è¤ëưŪ¥³¥ó¥Æ¥ó¥Ä - Apache HTTP ¥µ¡¼¥Ð</title> |
| <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> |
| <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> |
| <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> |
| <link href="../images/favicon.ico" rel="shortcut icon" /></head> |
| <body id="manual-page"><div id="page-header"> |
| <p class="menu"><a href="../mod/">¥â¥¸¥å¡¼¥ë</a> | <a href="../mod/directives.html">¥Ç¥£¥ì¥¯¥Æ¥£¥Ö</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">ÍѸì</a> | <a href="../sitemap.html">¥µ¥¤¥È¥Þ¥Ã¥×</a></p> |
| <p class="apache">Apache HTTP ¥µ¡¼¥Ð ¥Ð¡¼¥¸¥ç¥ó 2.1</p> |
| <img alt="" src="../images/feather.gif" /></div> |
| <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> |
| <div id="path"> |
| <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP ¥µ¡¼¥Ð</a> > <a href="http://httpd.apache.org/docs-project/">¥É¥¥å¥á¥ó¥Æ¡¼¥·¥ç¥ó</a> > <a href="../">¥Ð¡¼¥¸¥ç¥ó 2.1</a> > <a href="./">How-To / ¥Á¥å¡¼¥È¥ê¥¢¥ë</a></div><div id="page-content"><div id="preamble"><h1>Apache Tutorial: CGI ¤Ë¤è¤ëưŪ¥³¥ó¥Æ¥ó¥Ä</h1> |
| <div class="toplang"> |
| <p><span>Available Languages: </span><a href="../en/howto/cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../ja/howto/cgi.html" title="Japanese"> ja </a> | |
| <a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> |
| </div> |
| </div> |
| <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#intro">¤Ï¤¸¤á¤Ë</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#configuring">CGI ¤òµö²Ä¤¹¤ë¤è¤¦¤Ë Apache ¤òÀßÄꤹ¤ë</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#writing">CGI ¥×¥í¥°¥é¥à¤ò½ñ¤¯</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">¤·¤«¤·¡¢¤Þ¤ÀÆ°¤«¤Ê¤¤ !</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#behindscenes">΢¤Ç²¿¤¬µ¯¤³¤Ã¤Æ¤¤¤ë¤Î¤«?</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#libraries">CGI ¥â¥¸¥å¡¼¥ë/¥é¥¤¥Ö¥é¥ê</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#moreinfo">¹¹¤Ê¤ë¾ðÊó</a></li> |
| </ul></div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="intro" id="intro">¤Ï¤¸¤á¤Ë</a></h2> |
| |
| |
| <table class="related"><tr><th>´ØÏ¢¥â¥¸¥å¡¼¥ë</th><th>´ØÏ¢¥Ç¥£¥ì¥¯¥Æ¥£¥Ö</th></tr><tr><td><ul><li><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code></li><li><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li></ul></td></tr></table> |
| |
| <p>CGI (Common Gateway Interface) ¤Ï¡¢¥¦¥§¥Ö¥µ¡¼¥Ð¤¬ |
| ¥³¥ó¥Æ¥ó¥ÄÀ¸À®¤ò¤¹¤ë³°Éô¥×¥í¥°¥é¥à¤È¶¨Ä´¤·¤ÆÆ°ºî¤¹¤ë¤¿¤á¤ÎÊýË¡¤ò |
| ÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤½¤Î¥×¥í¥°¥é¥à¤Ï¤·¤Ð¤·¤Ð CGI ¥×¥í¥°¥é¥à¤ä |
| CGI ¥¹¥¯¥ê¥×¥È¤È¸Æ¤Ð¤ì¤Þ¤¹¡£CGI ¤Ï¡¢¥¦¥§¥Ö¥µ¥¤¥È¤ËưŪ¤Ê |
| ¥³¥ó¥Æ¥ó¥Ä¤òÃÖ¤¯¤¿¤á¤ÎºÇ¤â´Êñ¤Ç°ìÈÌŪ¤ÊÊýË¡¤Ç¤¹¡£¤³¤Î¥É¥¥å¥á¥ó¥È¤Ï¡¢ |
| Apache ¥¦¥§¥Ö¥µ¡¼¥Ð¤Ç CGI ¤òÀßÄꤷ¡¢ |
| CGI ¥×¥í¥°¥é¥à¤ò½ñ¤»Ï¤á¤ë¤¿¤á¤ÎÆþÌç½ñ¤È¤Ê¤ë¤Ç¤·¤ç¤¦¡£</p> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="configuring" id="configuring">CGI ¤òµö²Ä¤¹¤ë¤è¤¦¤Ë Apache ¤òÀßÄꤹ¤ë</a></h2> |
| |
| |
| <p>CGI ¥×¥í¥°¥é¥à¤òÀµ¤·¤¯Æ°ºî¤µ¤»¤ë¤Ë¤Ï¡¢CGI ¤òµö²Ä¤¹¤ë¤è¤¦¤Ë |
| Apache ¤ÎÀßÄê¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ |
| ¤³¤ì¤ò¹Ô¤Ê¤¦¤¿¤á¤ÎÊýË¡¤¬¤¤¤¯¤Ä¤«¤¢¤ê¤Þ¤¹¡£</p> |
| |
| <h3><a name="scriptalias" id="scriptalias">ScriptAlias</a></h3> |
| |
| |
| <p><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> |
| ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ò»ÈÍѤ·¤Æ¡¢ |
| CGI ¥×¥í¥°¥é¥àÍѤÎÆÃÊ̤ÊÊ̥ǥ£¥ì¥¯¥È¥ê¤ò Apache ¤ËÀßÄꤷ¤Þ¤¹¡£ |
| Apache ¤Ï¡¢¤³¤Î¥Ç¥£¥ì¥¯¥È¥êÃæ¤ÎÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò CGI |
| ¥×¥í¥°¥é¥à¤Ç¤¢¤ë¤È²¾Äꤷ¤Þ¤¹¡£ |
| ¤½¤·¤Æ¡¢¤³¤ÎÆÃÊ̤ʥ꥽¡¼¥¹¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤éÍ׵ᤵ¤ì¤ë¤È¡¢ |
| ¤½¤Î¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤ò»î¤ß¤Þ¤¹¡£</p> |
| |
| <p><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> |
| ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ï°Ê²¼¤Î¤è¤¦¤Ë»ÈÍѤ·¤Þ¤¹:</p> |
| |
| <div class="example"><p><code> |
| ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/ |
| </code></p></div> |
| |
| <p>¥Ç¥Õ¥©¥ë¥È°ÌÃÖ¤Ë Apache ¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¤Ê¤é¤Ð¡¢ |
| ¤³¤ÎÎã¤Ï¥Ç¥Õ¥©¥ë¥È¾õÂ֤Π<code>httpd.conf</code> |
| ÀßÄê¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ |
| <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> |
| ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ï¡¢URL ¤ÎÁ°¤ËÉղ乤ë¥Ç¥£¥ì¥¯¥È¥ê¤òÄêµÁ¤¹¤ë |
| <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code> |
| ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤È¤«¤Ê¤ê»÷¤Æ¤¤¤Þ¤¹¡£ |
| <code class="directive">Alias</code> ¤È <code class="directive">ScriptAlias</code> |
| ¤ÏÄ̾<code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code> |
| ¥Ç¥£¥ì¥¯¥È¥ê³°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Î¤¿¤á¤Ë»ÈÍѤµ¤ì¤Þ¤¹¡£ |
| <code class="directive">Alias</code> ¤È <code class="directive">ScriptAlias</code> |
| ¤È¤Îº¹¤Ï¡¢<code class="directive">ScriptAlias</code> ¤¬ÀÜƬ¼¤Ç»Ï¤Þ¤ë¤¹¤Ù¤Æ¤Î |
| URL ¤Ï CGI ¥×¥í¥°¥é¥à¤È¤ß¤Ê¤µ¤ì¤ë¤È¤¤¤¦ÄɲäΰÕÌ£¤ò´Þ¤ó¤Ç¤¤¤ë¤³¤È¤Ç¤¹¡£ |
| ½¾¤Ã¤Æ¡¢¾åµ¤ÎÎã¤Ç¤Ï¡¢<code>/cgi-bin/</code> |
| ¤Ç»Ï¤Þ¤ë¥ê¥½¡¼¥¹¤Ø¤Î¤¢¤é¤æ¤ë¥ê¥¯¥¨¥¹¥È¤ËÂФ·¤Æ¡¢¥Ç¥£¥ì¥¯¥È¥ê |
| <code>/usr/local/apache2/cgi-bin/</code> ¤«¤éÄ󶡤·¡¢¤½¤ì¤é¤ò |
| CGI ¥×¥í¥°¥é¥à¤È¤·¤Æ°·¤¦¤è¤¦ Apache ¤Ë¼¨¤·¤Þ¤¹¡£</p> |
| |
| <p>Î㤨¤Ð¡¢URL <code>http://dev.rcbowen.com/cgi-bin/test.pl</code> |
| ¤¬Í׵ᤵ¤ì¤¿¾ì¹ç¡¢Apache ¤Ï ¥Õ¥¡¥¤¥ë |
| <code>/usr/local/apache2/cgi-bin/test.pl</code> |
| ¤ò¼Â¹Ô¤·¡¢¤½¤Î½ÐÎϤòÊÖ¤¹¤³¤È¤ò»î¤ß¤Þ¤¹¡£ |
| ¤â¤Á¤í¤ó¡¢¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¡¢¼Â¹Ô²Äǽ¤Ç¤¢¤ê¡¢·è¤á¤é¤ì¤¿ÊýË¡¤Ç½ÐÎϤòÊÖ¤·¤Þ¤¹¡£ |
| ¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢Apache ¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÊÖ¤·¤Þ¤¹¡£</p> |
| |
| |
| <h3><a name="nonscriptalias" id="nonscriptalias">ScriptAlias ¥Ç¥£¥ì¥¯¥È¥ê³°¤Î CGI</a></h3> |
| |
| |
| <p>CGI ¥×¥í¥°¥é¥à¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¾å¤ÎÍýͳ¤«¤é |
| <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> |
| ¤µ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ËÀ©¸Â¤µ¤ì¤ë¤³¤È¤¬¤·¤Ð¤·¤Ð¤¢¤ê¤Þ¤¹¡£¤³¤ÎÊýË¡¤Ë¤è¤ê¡¢ |
| CGI ¥×¥í¥°¥é¥à¤ò»ÈÍѤǤ¤ë¥æ¡¼¥¶¤ò´ÉÍý¼Ô¤¬¸·¤·¤¯À©¸æ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ |
| ¤·¤«¤·¤Ê¤¬¤é¡¢Å¬Àڤʥ»¥¥å¥ê¥Æ¥£»öÁ°Âкö¤¬¤È¤é¤ì¤ë¤Ê¤é¤Ð¡¢CGI |
| ¥×¥í¥°¥é¥à¤òǤ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç¼Â¹Ô¤Ç¤¤Ê¤¤¤è¤¦¤Ë¤¹¤ëÍýͳ¤Ï¤¢¤ê¤Þ¤»¤ó¡£ |
| Î㤨¤Ð¡¢¥æ¡¼¥¶¤Ë <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code> |
| ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÇÈà¤é¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤Ë¥¦¥§¥Ö¥³¥ó¥Æ¥ó¥Ä¤ò»ý¤¿¤»¤¿¤¤¤È¤·¤Þ¤¹¡£ |
| ¤â¤·¡¢Èà¤é¤¬ CGI ¥×¥í¥°¥é¥à¤ò»ý¤Ä¤³¤È¤ò˾¤ó¤Ç¤¤¤Æ¤â¡¢¥á¥¤¥ó¤Î |
| <code>cgi-bin</code> ¥Ç¥£¥ì¥¯¥È¥ê¤Ø¤Î¥¢¥¯¥»¥¹¤¬¤Ç¤¤Ê¤¤¾ì¹ç¡¢ |
| CGI ¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¾¤Î¾ì½ê¤¬É¬Íפˤʤê¤Þ¤¹¡£</p> |
| |
| <p>Ǥ°Õ¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ç CGI ¤Î¼Â¹Ô¤òµö²Ä¤¹¤ë¤Ë¤ÏÆóÃʳ¬¤ÎÀßÄ꤬ɬÍפǤ¹¡£ |
| ¤Þ¤º¡¢<code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> ¤ä <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code> ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ë¤è¤Ã¤Æ |
| <code>cgi-script</code> ¥Ï¥ó¥É¥é¤¬²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ |
| ¼¡¤Ë¡¢<code class="directive"><a href="../mod/core.html#options">Options</a></code> ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ç |
| <code>ExecCGI</code> ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£</p> |
| |
| |
| <h3><a name="options" id="options">CGI ¤Î¼Â¹Ô¤ò²Äǽ¤Ë¤¹¤ë¤¿¤á¤Ë Options ¤òÌÀ¼¨Åª¤Ë»ÈÍѤ¹¤ë</a></h3> |
| |
| |
| <p>¥µ¡¼¥Ð¤Î¥á¥¤¥ó¤ÎÀßÄê¥Õ¥¡¥¤¥ëÃæ¤Ç <code class="directive"><a href="../mod/core.html#options">Options</a></code> |
| ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤òÌÀ¼¨Åª¤Ë»ÈÍѤ¹¤ë¤³¤È¤Ç¡¢ÆÃÄê¤Î¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤Ç |
| CGI ¤Î¼Â¹Ô¤òµö²Ä¤¹¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹:</p> |
| |
| <div class="example"><p><code> |
| <Directory /usr/local/apache2/htdocs/somedir><br /> |
| <span class="indent"> |
| Options +ExecCGI<br /> |
| </span> |
| </Directory> |
| </code></p></div> |
| |
| <p>¾åµ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤Ï¡¢CGI ¥Õ¥¡¥¤¥ë¤Î¼Â¹Ô¤ò²Äǽ¤Ë¤¹¤ë¤è¤¦ |
| Apache ¤ËÅÁ¤¨¤Þ¤¹¡£¤Þ¤¿¡¢¤É¤Î¥Õ¥¡¥¤¥ë¤¬ CGI ¥Õ¥¡¥¤¥ë¤«¤ò |
| ¥µ¡¼¥Ð¤ËÅÁ¤¨¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¼¡¤Î |
| <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> |
| ¥Ç¥£¥ì¥¯¥Æ¥£¥Ö¤ÎÎã¤Ç¤Ï¡¢<code>cgi</code> ¤Þ¤¿¤Ï <code>pl</code> |
| ¤ò³ÈÄ¥»Ò¤Ë»ý¤Ä¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò CGI |
| ¥×¥í¥°¥é¥à¤È¤·¤Æ¤ß¤Ê¤¹¤³¤È¤ò¥µ¡¼¥Ð¤ËÅÁ¤¨¤Þ¤¹:</p> |
| |
| <div class="example"><p><code> |
| AddHandler cgi-script .cgi .pl |
| </code></p></div> |
| |
| |
| <h3><a name="htaccess" id="htaccess">.htaccess files</a></h3> |
| |
| |
| <p><a href="htaccess.html"><code>.htaccess</code> ¥Á¥å¡¼¥È¥ê¥¢¥ë</a> |
| ¤Ï <code>httpd.conf</code> ¤òÊѹ¹¤Ç¤¤Ê¤¤¾ì¹ç¤Ë¤É¤¦¤ä¤Ã¤Æ CGI ¥×¥í¥°¥é¥à¤ò |
| »È¤¨¤ë¤è¤¦¤Ë¤¹¤ë¤«¤òÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£</p> |
| |
| |
| <h3><a name="userdir" id="userdir">User ¥Ç¥£¥ì¥¯¥È¥ê</a></h3> |
| |
| |
| <p><code>.cgi</code> ¤Ç½ª¤ï¤ë¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ CGI ¥×¥í¥°¥é¥à¤Î |
| ¼Â¹Ô¤òµö²Ä¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤ÎÀßÄê¤ò»ÈÍѤǤ¤Þ¤¹¡£</p> |
| |
| <div class="example"><p><code> |
| <Directory /home/*/public_html><br /> |
| <span class="indent"> |
| Options +ExecCGI<br /> |
| AddHandler cgi-script .cgi<br /> |
| </span> |
| </Directory> |
| </code></p></div> |
| |
| <p>¥æ¡¼¥¶¥Ç¥£¥ì¥¯¥È¥ê¤Î <code>cgi-bin</code> ¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Î |
| ¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤ò CGI ¥×¥í¥°¥é¥à¤È¤·¤Æ»ØÄꤷ¤¿¤¤¾ì¹ç¤Ë¤Ï |
| °Ê²¼¤Î¤è¤¦¤Ê¤â¤Î¤ò»È¤¤¤Þ¤¹¡£</p> |
| |
| <div class="example"><p><code> |
| <Directory /home/*/public_html/cgi-bin><br /> |
| <span class="indent"> |
| Options ExecCGI<br /> |
| SetHandler cgi-script<br /> |
| </span> |
| </Directory> |
| </code></p></div> |
| |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="writing" id="writing">CGI ¥×¥í¥°¥é¥à¤ò½ñ¤¯</a></h2> |
| |
| |
| <p>¡ÖÄ̾ï¤Î¡×¥×¥í¥°¥é¥ß¥ó¥°¤È CGI |
| ¥×¥í¥°¥é¥ß¥ó¥°¤Î´Ö¤Ë¤Ï¼ç¤ËÆó¤Ä¤Î°ã¤¤¤¬¤¢¤ê¤Þ¤¹¡£</p> |
| |
| <p>°ì¤Ä¤Ï¡¢CGI ¥×¥í¥°¥é¥à¤Î¤¹¤Ù¤Æ¤Î½ÐÎÏ¤Ë¤Ï MIME-type |
| ¥Ø¥Ã¥À¤òÉÕ¤±¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ |
| ¤³¤ì¤Ï¤É¤Î¤è¤¦¤Ê¼ïÎà¤Î¥³¥ó¥Æ¥ó¥Ä¤ò¼õ¤±¼è¤Ã¤Æ¤¤¤ë¤«¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ë¼¨¤¹ |
| HTTP ¥Ø¥Ã¥À¤Ç¤¹¡£¤Û¤È¤ó¤É¤Î¾ì¹ç¤Ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ë½ÐÎϤ·¤Þ¤¹:</p> |
| |
| <div class="example"><p><code> |
| Content-type: text/html |
| </code></p></div> |
| |
| <p>¤â¤¦°ì¤Ä¤Ï¡¢½ÐÎϤò HTML |
| ¤«¡¢¥Ö¥é¥¦¥¶¤¬É½¼¨¤¹¤ë¤³¤È¤¬¤Ç¤¤ë²¿¤«Â¾¤Î·Á¼°¤Ë¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ |
| ÂçÄñ¤Î¾ì¹ç¤Ï HTML ¤Ç¤·¤ç¤¦¤¬¡¢GIF ¥¤¥á¡¼¥¸¤ä¾¤ÎÈó HTML |
| ¥³¥ó¥Æ¥ó¥Ä¤ò½ÐÎϤ¹¤ë CGI ¥×¥í¥°¥é¥à¤ò½ñ¤¯¤³¤È¤â¤¢¤ë¤Ç¤·¤ç¤¦¡£</p> |
| |
| <p>¤³¤ì¤éÆóÅÀ°Ê³°¤Ç¤Ï¡¢CGI ¥×¥í¥°¥é¥à¤ò½ñ¤¯¤³¤È¤Ï¡¢ |
| ¤¢¤Ê¤¿¤¬½ñ¤¤¤Æ¤¤¤ë¾¤Î¥×¥í¥°¥é¥à¤È¤è¤¯»÷¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¡£</p> |
| |
| <h3><a name="firstcgi" id="firstcgi">ºÇ½é¤Î CGI ¥×¥í¥°¥é¥à</a></h3> |
| |
| |
| <p>¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢¥Ö¥é¥¦¥¶¤Ë 1 ¹Ô°õ»ú¤¹¤ë CGI |
| ¥×¥í¥°¥é¥à¤ÎÎã¤Ç¤¹¡£°Ê²¼¤òÆþÎϤ·¡¢<code>first.pl</code> |
| ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤ËÊݸ¤·¡¢¤½¤ì¤ò <code>cgi-bin</code> |
| ¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤¤¤Æ¤¯¤À¤µ¤¤¡£</p> |
| |
| <div class="example"><p><code> |
| #!/usr/bin/perl<br /> |
| print "Content-type: text/html\n\n";<br /> |
| print "Hello, World."; |
| </code></p></div> |
| |
| <p>Perl ¤ËÀºÄ̤·¤Æ¤¤¤Ê¤¯¤Æ¤â¡¢ |
| ²¿¤¬µ¯¤³¤ë¤«¤òÍý²ò¤¹¤ë¤³¤È¤Ï¤Ç¤¤ë¤Ç¤·¤ç¤¦¡£1 ¹ÔÌܤϡ¢ |
| <code>/usr/bin/perl</code> ¤Ç¸«¤Ä¤±¤é¤ì¤ë¥¤¥ó¥¿¥×¥ê¥¿¤Ë |
| ¤³¤Î¥Õ¥¡¥¤¥ë¤ò¶¡µë¤¹¤ë¤³¤È¤Ç¤³¤Î¥×¥í¥°¥é¥à¤¬¼Â¹Ô¤µ¤ì¤ë¤³¤È¤ò |
| Apache ¤Ë (¥·¥§¥ë¾å¤Ç¼Â¹Ô¤·¤è¤¦¤È¤·¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢¤½¤Î¥·¥§¥ë¤Ë ) |
| ¼¨¤·¤Þ¤¹¡£2 ¹ÔÌܤϡ¢Á°½Ò¤·¤¿¤È¤ª¤ê content-type ¤ÎÄêµÁ¤ò°õ»ú¤·¤Þ¤¹¡£ |
| ¤³¤ì¤Ë¤ÏÉüµ¢²þ¹Ô¤ÎÆó¤Ä¤ÎÁȤò¸å¤ËÉղä·¤Þ¤¹¡£ |
| ¤³¤ì¤Ë¤è¤ê¡¢¥Ø¥Ã¥À¤Î½ª¤ê¤Ë¶õ¹Ô¤¬ÃÖ¤«¤ì¡¢HTTP |
| ¥Ø¥Ã¥À¤Î½ª¤ê¤È¥Ü¥Ç¥£¤Î»Ï¤Þ¤ê¤ò¼¨¤·¤Þ¤¹¡£3 ¹ÔÌܤϡ¢"Hello, World." |
| ¤È¤¤¤¦Ê¸»úÎó¤ò°õ»ú¤·¡¢¤³¤ì¤Ç½ª¤ê¤È¤Ê¤ê¤Þ¤¹¡£</p> |
| |
| <p>¹¥¤ß¤Î¥Ö¥é¥¦¥¶¤ò³«¤¡¢¥¢¥É¥ì¥¹</p> |
| |
| <div class="example"><p><code> |
| http://www.example.com/cgi-bin/first.pl |
| </code></p></div> |
| |
| <p>¤¢¤ë¤¤¤Ï¥Õ¥¡¥¤¥ë¤òÃÖ¤¤¤¿¥í¥±¡¼¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢ |
| <code>Hello, World.</code> |
| ¤È¤¤¤¦ 1 ¹Ô¤¬¥Ö¥é¥¦¥¶¥¦¥£¥ó¥É¤Ë¸½¤ì¤ë¤Ç¤·¤ç¤¦¡£ |
| ¤½¤ì¤Ï¤¢¤Þ¤ê¥¨¥¥µ¥¤¥Æ¥£¥ó¥°¤Ê¤³¤È¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ |
| ¤·¤«¤·¡¢¤³¤ì¤¬¤¦¤Þ¤¯Æ°¤±¤Ð¡¢ |
| ¾¤Î¤É¤Î¤è¤¦¤Ê¤â¤Î¤Ç¤âÆ°¤«¤¹¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</p> |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="troubleshoot" id="troubleshoot">¤·¤«¤·¡¢¤Þ¤ÀÆ°¤«¤Ê¤¤ !</a></h2> |
| |
| |
| <p>¥¦¥§¥Ö¤«¤é CGI ¥×¥í¥°¥é¥à¤Ø¤Î¥¢¥¯¥»¥¹¤ò¹Ô¤Ê¤Ã¤¿¤È¤¡¢ |
| ¥Ö¥é¥¦¥¶¤Ç¸«¤ë²ÄǽÀ¤¬¤¢¤ë»Í¤Ä¤Î´ðËÜŪ¤Ê¤³¤È¤¬¤¢¤ê¤Þ¤¹:</p> |
| |
| <dl> |
| <dt>CGI ¥×¥í¥°¥é¥à¤Î½ÐÎÏ</dt> |
| <dd>ÁÇÀ²¤é¤·¤¤ ! ¤½¤ì¤Ï¤¹¤Ù¤Æ¤¬¤¦¤Þ¤¯Æ°¤¤¤¿¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ |
| ½ÐÎϤ¬Àµ¾ï¤À¤±¤ì¤É¤â¡¢¥Ö¥é¥¦¥¶¤¬Àµ¾ï¤Ë½èÍý¤·¤Æ¤¯¤ì¤Ê¤¤¾ì¹ç¤Ï¡¢ |
| Àµ¤·¤¤ <code>Content-Type</code> ¤ò CGI ¥×¥í¥°¥é¥àÆâ¤Ç |
| ¥»¥Ã¥È¤·¤¿¤«¤ò³Îǧ¤·¤Æ¤¯¤À¤µ¤¤¡£</dd> |
| |
| <dt>CGI ¥×¥í¥°¥é¥à¤Î¥½¡¼¥¹¥³¡¼¥É¡¢¤Þ¤¿¤Ï "POST Method Not Allowed" |
| ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸</dt> |
| <dd>¤³¤ì¤Ï¡¢CGI ¥×¥í¥°¥é¥à¤ò½èÍý¤Ç¤¤ë¤è¤¦ Apache |
| ¤òŬÀÚ¤ËÀßÄꤷ¤Æ¤¤¤Ê¤«¤Ã¤¿¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£<a href="#configuring">¡ÖCGI ¤òµö²Ä¤¹¤ë¤è¤¦¤Ë |
| Apache ¤òÀßÄꤹ¤ë¡×</a>¤Î¾Ï¤òÆɤßľ¤·¡¢ |
| ¤¢¤Ê¤¿¤¬²¿¤ò´Ö°ã¤¨¤¿¤«¤òõ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£ |
| </dd> |
| |
| <dt>¥á¥Ã¥»¡¼¥¸¤¬ "Forbidden" ¤Ç»Ï¤Þ¤Ã¤Æ¤¤¤ë</dt> |
| <dd>¤³¤ì¤Ï¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ÎÌäÂê¤È¤¤¤¦¤³¤È¤ò°ÕÌ£¤·¤Þ¤¹¡£ |
| <a href="#errorlogs">Apache ¤Î¥¨¥é¡¼¥í¥°</a>¤È¡¢¸å½Ò¤Î<a href="#filepermissions">¡Ö¥Õ¥¡¥¤¥ë¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¡×</a> |
| ¤Î¾Ï¤ò¥Á¥§¥Ã¥¯¤·¤Æ¤¯¤À¤µ¤¤¡£ |
| </dd> |
| |
| <dt>"Internal Server Error" ¤È¤¤¤¦¥á¥Ã¥»¡¼¥¸</dt> |
| <dd><a href="#errorlogs">Apache |
| ¤Î¥¨¥é¡¼¥í¥°</a>¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤È¡¢"Premature end of script headers" |
| ¤È¤¤¤¦¥í¥°¤¬µÏ¿¤µ¤ì¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¡£¤½¤·¤Æ¡¢¤ª¤½¤é¤¯ CGI |
| ¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤âµÏ¿¤µ¤ì¤Æ¤¤¤ë¤Ç¤·¤ç¤¦¡£ |
| ¤³¤Î¾ì¹ç¡¢CGI ¥×¥í¥°¥é¥à¤¬Å¬ÀÚ¤Ê |
| HTTP ¥Ø¥Ã¥À¤ò½ÐÎϤǤ¤Ê¤¤¸¶°ø¤òÃΤ뤿¤á¤Ë¡¢ |
| °Ê²¼¤Î³Æ¾Ï¤Ç¥Á¥§¥Ã¥¯¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£</dd> |
| </dl> |
| |
| <h3><a name="permissions" id="permissions">¥Õ¥¡¥¤¥ë¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó</a></h3> |
| |
| |
| <p>¥µ¡¼¥Ð¤Ï¤¢¤Ê¤¿¤Î¸¢¸Â¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤Ê¤¤¤Î¤ò˺¤ì¤Ê¤¤¤è¤¦¤Ë¡£ |
| ¤Ä¤Þ¤ê¡¢µ¯Æ°¤¹¤ë¤È¤¡¢¥µ¡¼¥Ð¤ÏÆø¢¤ò¤â¤¿¤Ê¤¤¥æ¡¼¥¶ - Ä̾ï <code>nobody</code> |
| ¤ä <code>www</code> ¤Î¸¢¸Â¤Ç¼Â¹Ô¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤¢¤Ê¤¿¤¬½êͤ¹¤ë |
| ¥Õ¥¡¥¤¥ë¤ò¼Â¹Ô¤¹¤ë¤Ë¤ÏÊ̤Υѡ¼¥ß¥Ã¥·¥ç¥ó¤¬É¬ÍפȤʤê¤Þ¤¹¡£ |
| Ä̾<code>nobody</code> ¤¬¼Â¹Ô¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÍ¿¤¨¤ëÊýË¡¤Ï¡¢ |
| ¥Õ¥¡¥¤¥ë¤Ëï¤Ç¤â¼Â¹Ô²Äǽ¤È¤¹¤ë¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÍ¿¤¨¤ë¤³¤È¤Ç¤¹:</p> |
| |
| <div class="example"><p><code> |
| chmod a+x first.pl |
| </code></p></div> |
| |
| <p>¤Þ¤¿¡¢¤â¤·¤¢¤Ê¤¿¤Î¥×¥í¥°¥é¥à¤¬Â¾¤Î¥Õ¥¡¥¤¥ë¤òÆɤ߽ñ¤¤¹¤ë¤Ê¤é¤Ð¡¢ |
| ¤½¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¤³¤ì¤¬²Äǽ¤È¤Ê¤ëÀµ¤·¤¤¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó |
| ¤ò»ý¤Ã¤Æ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£</p> |
| |
| |
| |
| <h3><a name="pathinformation" id="pathinformation">¥Ñ¥¹¾ðÊó¤È´Ä¶</a></h3> |
| |
| |
| <p>¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¤È¤¡¢ |
| °Õ¼±¤·¤Ê¤¯¤Æ¤â¥·¥§¥ë¤ËÅϤµ¤ì¤ë¾ðÊ󤬤¢¤ê¤Þ¤¹¡£ |
| Î㤨¤Ð¡¢»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¤Î¤¿¤á¤Ë¤É¤³¤ò¸¡º÷¤·¤¿¤é¤è¤¤¤«¤ò |
| ¥·¥§¥ë¤ËÅÁ¤¨¤ë <code>PATH</code> ¤¬¤¢¤ê¤Þ¤¹¡£</p> |
| |
| <p>¥×¥í¥°¥é¥à¤¬ CGI ¥×¥í¥°¥é¥à¤È¤·¤Æ¥¦¥§¥Ö¥µ¡¼¥Ð¤Ë¤è¤Ã¤Æ¼Â¹Ô¤µ¤ì¤ë¤È¤¡¢ |
| ¤½¤ì¤ÏƱ¤¸ <code>PATH</code> ¤Ç¤Ï¤Ê¤¤¤«¤â¤·¤ì¤Þ¤»¤ó¡£ |
| CGI ¥×¥í¥°¥é¥àÆâ¤Ç¸Æ¤Ó½Ð¤¹¤¢¤é¤æ¤ë¥×¥í¥°¥é¥à |
| (Î㤨¤Ð¡¢<code>sendmail</code> ¤Î¤è¤¦¤Ê¤â¤Î) ¤Ï¡¢ |
| ¥Õ¥ë¥Ñ¥¹¤Ç»ØÄꤹ¤ëɬÍפ¬¤¢¤ë¤Ç¤·¤ç¤¦¡£¤½¤ì¤Ë¤è¤ê¡¢CGI |
| ¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤è¤¦¤È¤·¤¿¤È¤¡¢ |
| ¥·¥§¥ë¤Ï¤½¤Î¤è¤¦¤Ê¥×¥í¥°¥é¥à¤ò¸«¤Ä¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£</p> |
| |
| <p>ƱÍͤʤ³¤È¤Ï¡¢¥¹¥¯¥ê¥×¥È¤Î¥¤¥ó¥¿¥×¥ê¥¿ (¤·¤Ð¤·¤Ð <code>perl</code>) |
| ¤Ø¤Î¥Ñ¥¹¤Ç¡¢CGI ¥×¥í¥°¥é¥à¤Î 1 ¹ÔÌܤ˼¡¤Î¤è¤¦¤Ë¼¨¤µ¤ì¤Þ¤¹:</p> |
| |
| <div class="example"><p><code> |
| #!/usr/bin/perl |
| </code></p></div> |
| |
| <p>¤³¤ì¤¬¥¤¥ó¥¿¡¼¥×¥ê¥¿¤Ø¤Î¼ÂºÝ¤Î¥Ñ¥¹¤Ç¤¢¤ë¤³¤È¤ò³Î¼Â¤Ë¤·¤Æ¤ª¤¤Þ¤¹¡£</p> |
| |
| |
| <h3><a name="syntaxerrors" id="syntaxerrors">¥×¥í¥°¥é¥à¥¨¥é¡¼</a></h3> |
| |
| |
| <p>CGI |
| ¥×¥í¥°¥é¥à¤¬¼ºÇÔ¤¹¤ë¤Î¤ÏÂçÄñ¡¢¥×¥í¥°¥é¥à¼«¿È¤ËÌäÂ꤬¤¢¤ë¾ì¹ç¤Ç¤¹¡£ |
| °ìÅÙ CGI ¤Î»È¤¤Êý¤òÍý²ò¤·¡¢Á°½Ò¤ÎÆó¤Ä¤Î¸í¤ê¤òÈȤ·¤Æ¤¤¤Ê¤¤¤Ê¤é¤Ð¡¢ |
| ¤Þ¤º´Ö°ã¤¤¤Ê¤¯¤½¤¦¤Ç¤·¤ç¤¦¡£¥Ö¥é¥¦¥¶¤ò»È¤Ã¤Æ¥Æ¥¹¥È¤¹¤ëÁ°¤Ë |
| ¤Þ¤º³Îǧ¤¹¤ë¤³¤È¤Ï¡¢¥³¥Þ¥ó¥É¥é¥¤¥ó¤«¤é¥×¥í¥°¥é¥à¤¬¼Â¹Ô¤Ç¤¤ë¤³¤È¤Ç¤¹¡£ |
| Î㤨¤Ð¡¢°Ê²¼¤ò¼Â¹Ô¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤:</p> |
| |
| <div class="example"><p><code> |
| cd /usr/local/apache2/cgi-bin<br /> |
| ./first.pl |
| </code></p></div> |
| |
| <p>(<code>perl</code> ¥¤¥ó¥¿¥×¥ê¥¿¤Ï¸Æ¤Ð¤Ê¤¤¤Ç¤¯¤À¤µ¤¤¡£ |
| ¥·¥§¥ë¤È Apache ¤¬¥¹¥¯¥ê¥×¥È¤ÎºÇ½é¤Î¹Ô¤Î <a href="#pathinformation">¥Ñ¥¹¾ðÊó</a> ¤ò»È¤Ã¤Æ¸«¤Ä¤±¤Þ¤¹¡£)</p> |
| |
| <p>ºÇ½é¤Ë¥×¥í¥°¥é¥à¤«¤é½ÐÎϤµ¤ì¤ë¤Î¤Ï <code>Content-Type</code> ¤ò´Þ¤ß¡¢ |
| ¸å¤Ë¶õ¹Ô¤Î³¤¯ HTTP ¥Ø¥Ã¥À¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£Â¾¤Î¤â¤Î¤¬½ÐÎϤµ¤ì¤Æ¤¤¤ë |
| ¾ì¹ç¤Ï¡¢Apache ¤Ï¤³¤Î¥×¥í¥°¥é¥à¤ò¥µ¡¼¥Ð·Ðͳ¤Ç¼Â¹Ô¤·¤è¤¦¤È¤·¤¿¤È¤¤Ë¤Ï |
| <code>Premature end of script headers</code> ¥¨¥é¡¼¤ò½ÐÎϤ·¤Þ¤¹¡£¾ÜºÙ¤Ï |
| ¾åµ¤Î <a href="#writing">CGI ¥×¥í¥°¥é¥à¤ò½ñ¤¯</a> ¤òÆɤó¤Ç¤¯¤À¤µ¤¤¡£</p> |
| |
| |
| <h3><a name="errorlogs" id="errorlogs">¥¨¥é¡¼¥í¥°</a></h3> |
| |
| |
| <p>¥¨¥é¡¼¥í¥°¤Ïͧã¤Ç¤¹¡£ |
| Á´¤Æ¤Î¤¦¤Þ¤¯¤¤¤«¤Ê¤¤¤³¤È¤Ï¡¢¥¨¥é¡¼¥í¥°¤Ë¥á¥Ã¥»¡¼¥¸¤òÀ¸À®¤·¤Þ¤¹¡£ |
| ɬ¤º¤½¤ì¤òºÇ½é¤Ë¸«¤ë¤Ù¤¤Ç¤¹¡£ |
| ¤â¤·¡¢¤¢¤Ê¤¿¤¬¥¦¥§¥Ö¥µ¥¤¥È¤ò¼çºÅ¤·¤Æ¤¤¤ë¾ì½ê¤¬ |
| ¥¨¥é¡¼¥í¥°¤Î»²¾È¤òµö¤·¤Æ¤¤¤Ê¤¤¤Ê¤é¤Ð¡¢¤¤Ã¤È¾¤Î¥µ¥¤¥È¤Ç¼çºÅ¤¹¤ë¤Ù¤¤Ç¤¹¡£ |
| ¥¨¥é¡¼¥í¥°¤ÎÆɤßÊý¤ò³Ø¤Ö¤³¤È¤Ç¡¢¤Û¤È¤ó¤ÉÁ´¤Æ¤ÎÌäÂ꤬¿×®¤Ë³Îǧ¤µ¤ì¡¢ |
| ¿×®¤Ë²ò·è¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤¬Ê¬¤«¤ë¤Ç¤·¤ç¤¦¡£</p> |
| |
| |
| <h3><a name="suexec" id="suexec">Suexec</a></h3> |
| |
| |
| <p><a href="../suexec.html">suexec</a> ¥µ¥Ý¡¼¥È¥×¥í¥°¥é¥à¤Ï |
| ¥Ð¡¼¥Á¥ã¥ë¥Û¥¹¥È¤ä¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î¾ì½ê¤Ë°Í¤Ã¤Æ |
| CGI ¥×¥í¥°¥é¥à¤ò°ã¤¦¥æ¡¼¥¶¸¢¸Â¤Î²¼¤ÇÁö¤é¤»¤ë¤³¤È¤ò²Äǽ¤Ë¤·¤Þ¤¹¡£ |
| Suexec ¤Î¸¢¸Â¤Î¥Á¥§¥Ã¥¯¤ÏÈó¾ï¤Ë¸·¤·¤¯¡¢¤½¤ì¤òËþ¤¿¤µ¤Ê¤¤¾ì¹ç¤Ï |
| CGI ¥×¥í¥°¥é¥à¤¬ <code>Premature end of script headers</code> ¥¨¥é¡¼¤Ç |
| ¼Â¹Ô¤µ¤ì¤Þ¤»¤ó¡£</p> |
| |
| <p>suexec ¤ò»È¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤òÄ´¤Ù¤¿¤á¤Ë¤Ï <code>apachectl |
| -V</code> ¤ò¼Â¹Ô¤·¤Æ¡¢<code>SUEXEC_BIN</code> ¤Î¾ì½ê¤òÄ´¤Ù¤Æ¤¯¤À¤µ¤¤¡£ |
| Apache ¤¬¤½¤³¤Ë suexec ¤Î¥Ð¥¤¥Ê¥ê¤òȯ¸«¤·¤¿¾ì¹ç¤Ï¡¢suexec ¤¬ |
| »ÈÍѤµ¤ì¤Þ¤¹¡£</p> |
| |
| <p>suexec ¤ò´°Á´¤ËÍý²ò¤·¤Æ¤¤¤Ê¤¤¸Â¤ê¡¢»È¤¦¤Ù¤¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡£ |
| suexec ¤ò̵¸ú¤Ë¤¹¤ë¤Ë¤Ï¡¢<code>SUEXEC_BIN</code> ¤«¤é»Ø¤µ¤ì¤Æ¤¤¤ë |
| <code>suexec</code> ¥Ð¥¤¥Ê¥ê¤òºï½ü (¤«Ì¾Á°¤òÊѹ¹) ¤¹¤ë¤À¤±¤Ç¤¹¡£ |
| <a href="../suexec.html">suexec</a> ¤òÆɤó¤À¸å¤Ç¡¢¤Þ¤À¤½¤ì¤ò |
| »È¤¤¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢<code>suexec -V</code> ¤ò¼Â¹Ô¤·¤Æ suexec ¤Î |
| ¥í¥°¥Õ¥¡¥¤¥ë¤Î°ÌÃÖ¤òÄ´¤Ù¡¢¤½¤Î¥í¥°¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤Æ¥Ý¥ê¥·¡¼°ãÈ¿¤ò |
| ¸«¤Ä¤±¤Æ¤¯¤À¤µ¤¤¡£</p> |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="behindscenes" id="behindscenes">΢¤Ç²¿¤¬µ¯¤³¤Ã¤Æ¤¤¤ë¤Î¤«?</a></h2> |
| |
| |
| <p>CGI ¥×¥í¥°¥é¥ß¥ó¥°¤Ë½¬½Ï¤¹¤ë¤È¡¢ |
| ΢¤Çµ¯¤³¤Ã¤Æ¤¤¤ë¤³¤È¤Ë¤Ä¤¤¤Æ¹¹¤ËÍý²ò¤¹¤ë¤³¤ÈÌò¤ËΩ¤Á¤Þ¤¹¡£ |
| ¥Ö¥é¥¦¥¶¤È¥µ¡¼¥Ð¤¬¤É¤Î¤è¤¦¤ËÁê¸ßÄÌ¿®¤¹¤ë¤«¤Ë¤Ä¤¤¤Æ¤ÏÆäˤ½¤¦¤Ç¤¹¡£ |
| ¤Ê¤¼¤Ê¤é¡¢"Hello, World." |
| ¤ò°õ»ú¤¹¤ë¥×¥í¥°¥é¥à¤ò½ñ¤¯¤³¤È¤Ï¤ª¤ª¤¤¤Ë·ë¹½¤Ç¤¹¤¬¡¢ |
| ¤½¤ì¤ÏÆäËͱפǤϤ¢¤ê¤Þ¤»¤ó¡£</p> |
| |
| <h3><a name="env" id="env">´Ä¶ÊÑ¿ô</a></h3> |
| |
| |
| <p>´Ä¶ÊÑ¿ô¤Ï¡¢ |
| ¤¢¤Ê¤¿¤¬¥³¥ó¥Ô¥å¡¼¥¿¤ò»È¤¦¤È¤¤ËÊÕ¤ê¤Ë¸ºß¤·¤Æ¤¤¤ëÃͤǤ¹¡£ |
| ¤½¤ì¤é¤Ï¡¢¥Ñ¥¹ |
| (¥³¥Þ¥ó¥É¤ò¥¿¥¤¥×¤·¤¿¤È¤¤Ë¼Â¹Ô¤¹¤ë¼ÂºÝ¤Î¥Õ¥¡¥¤¥ë¤òõ¤·½Ð¤¹¤È¤³¤í)¡¢ |
| ¥æ¡¼¥¶Ì¾¡¢Ã¼Ëö·¿¤Ê¤É¤Î¤è¤¦¤ÊÊØÍø¤Ê¤â¤Î¤Ç¤¹¡£ |
| Ä̾ÉáÃÊ»ÈÍѤ·¤Æ¤¤¤ë´Ä¶ÊÑ¿ô¤Î´°Á´¤Ê¥ê¥¹¥È¤òÄ´¤Ù¤ë¤Ë¤Ï¡¢ |
| ¥³¥Þ¥ó¥É¥×¥í¥ó¥×¥È¤Ç <code>env</code> ¤òÆþÎϤ·¤Þ¤¹¡£</p> |
| |
| <p>CGI ¤Î½èÍýÃæ¡¢¥µ¡¼¥Ð¤È¥Ö¥é¥¦¥¶¤â´Ä¶ÊÑ¿ô¤òÀßÄꤷ¡¢ |
| ¤½¤ì¤Ë¤è¤êÁê¸ß¤ËÄÌ¿®¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£ |
| ¤½¤Î´Ä¶ÊÑ¿ô¤Ï¡¢¥Ö¥é¥¦¥¶¥¿¥¤¥× (Netscape, IE, Lynx)¡¢¥µ¡¼¥Ð¥¿¥¤¥× |
| (Apache, IIS, WebSite)¡¢¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë CGI |
| ¥×¥í¥°¥é¥à¤Î̾Á°¤Ê¤É¤Ç¤¹¡£</p> |
| |
| <p>¤³¤ì¤é¤ÎÊÑ¿ô¤Ï CGI ¥×¥í¥°¥é¥Þ¤¬»ÈÍѤǤ¤Þ¤¹¡£ |
| ¤½¤·¤Æ¡¢¤½¤ì¤Ï¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ÎÄÌ¿®¤ÎÏäÎȾʬ¤Ç¤¹¡£ |
| ɬÍפÊÊÑ¿ô¤Î´°Á´¤Ê¥ê¥¹¥È¤Ï <a href="http://hoohoo.ncsa.uiuc.edu/cgi/env.html">http://hoohoo.ncsa.uiuc.edu/cgi/env.html</a> ¤Ë¤¢¤ê¤Þ¤¹¡£</p> |
| |
| <p>°Ê²¼¤Îñ½ã¤Ê Perl CGI |
| ¥×¥í¥°¥é¥à¤Ï¡¢ÅϤµ¤ì¤ëÁ´¤Æ¤Î´Ä¶ÊÑ¿ô¤òɽ¼¨¤·¤Þ¤¹¡£Æ±ÍÍ¤Î¥×¥í¥°¥é¥à¤Ï¡¢ |
| Apache ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Î <code>cgi-bin</code> |
| ¥Ç¥£¥ì¥¯¥È¥ê¤ËÆó¤Ä´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ |
| ¤¤¤¯¤Ä¤«¤ÎÊÑ¿ô¤¬É¬¿Ü¤Ç¤¢¤ê¡¢¤¤¤¯¤Ä¤«¤ÏǤ°Õ¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ |
| ¤½¤·¤Æ¡¢¸ø¼°¤Î¥ê¥¹¥È¤Ë¤Ï¤Ê¤¤¤¤¤¯¤Ä¤«¤ÎÊÑ¿ô¤¬É½¼¨¤µ¤ì¤Æ¤¤¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£ |
| ¤µ¤é¤Ë¡¢Apache ¤Ï¥Ç¥Õ¥©¥ë¥È¤ÇÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë´ðËÜŪ¤Ê¤â¤Î¤Ë |
| <a href="../env.html">¤¢¤Ê¤¿¼«¿È¤Î´Ä¶ÊÑ¿ô¤ò²Ã¤¨¤ë</a>¤¿¤á¤Î¡¢ |
| ¿¤¯¤Î°Û¤Ê¤ëÊýË¡¤òÍÑ°Õ¤·¤Æ¤·¤Þ¤¹¡£</p> |
| |
| <div class="example"><p><code> |
| #!/usr/bin/perl<br /> |
| print "Content-type: text/html\n\n";<br /> |
| foreach $key (keys %ENV) {<br /> |
| <span class="indent"> |
| print "$key --> $ENV{$key}<br>";<br /> |
| </span> |
| } |
| </code></p></div> |
| |
| |
| <h3><a name="stdin" id="stdin">STDIN ¤È STDOUT</a></h3> |
| |
| |
| <p>¥µ¡¼¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È´Ö¤Î¤â¤¦°ì¤Ä¤ÎÄÌ¿®¤Ï¡¢É¸½àÆþÎÏ |
| (<code>STDIN</code>)¤Èɸ½à½ÐÎÏ (<code>STDOUT</code>) |
| ¤òÄ̤¸¤Æ¹Ô¤Ê¤ï¤ì¤Þ¤¹¡£Ä̾ï¤Îʸ̮¤Ë¤ª¤¤¤Æ¡¢<code>STDIN</code> |
| ¤Ï¥¡¼¥Ü¡¼¥É¤ä¥×¥í¥°¥é¥à¤¬Æ°ºî¤¹¤ë¤¿¤á¤ËÍ¿¤¨¤é¤ì¤ë¥Õ¥¡¥¤¥ë¤ò°ÕÌ£¤·¡¢ |
| <code>STDOUT</code> ¤ÏÄ̾拾¥ó¥½¡¼¥ë¤Þ¤¿¤Ï¥¹¥¯¥ê¡¼¥ó¤ò°ÕÌ£¤·¤Þ¤¹¡£</p> |
| |
| <p>¥¦¥§¥Ö¥Õ¥©¡¼¥à¤«¤é CGI ¥×¥í¥°¥é¥à¤Ø<code>POST</code> |
| ¤·¤¿¤È¤¡¢¥Õ¥©¡¼¥à¤Î¥Ç¡¼¥¿¤ÏÆÃÊ̤ʥե©¡¼¥Þ¥Ã¥È¤Ç«¤Í¤é¤ì¡¢ |
| <code>STDIN</code> ¤òÄ̤·¤Æ¡¢CGI ¥×¥í¥°¥é¥à¤Ë°ú¤ÅϤµ¤ì¤Þ¤¹¡£ |
| ¥×¥í¥°¥é¥à¤Ï¥Ç¡¼¥¿¤¬¥¡¼¥Ü¡¼¥É |
| ¤â¤·¤¯¤Ï¥Õ¥¡¥¤¥ë¤«¤éÍè¤Æ¤¤¤¿¤«¤Î¤è¤¦¤Ë½èÍý¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£</p> |
| |
| <p>¡ÖÆÃÊ̤ʥե©¡¼¥Þ¥Ã¥È¡×¤Ï¤È¤Æ¤âñ½ã¤Ç¤¹¡£¥Õ¥£¡¼¥ë¥É̾¤ÈÃͤϥ¤¥³¡¼¥ë |
| (=) ¤Ç·ë¤Ð¤ì¤Þ¤¹¡£¤½¤·¤ÆÃͤÎÁȤϥ¢¥ó¥Ñ¥µ¥ó¥É (&) ¤Ç·ë¤Ð¤ì¤Þ¤¹¡£ |
| ¥¹¥Ú¡¼¥¹¡¢¥¢¥ó¥Ñ¥µ¥ó¥É¡¢¥¤¥³¡¼¥ë¤Î¤è¤¦¤ÊÌÌÅݤÊʸ»ú¤Ï¡¢ |
| ¤½¤ì¤é¤¬Æ°ºî¤òÂÌÌܤˤ·¤Ê¤¤¤è¤¦¤Ë¤½¤Îʸ»ú¤ËÁêÅö¤¹¤ë 16 ¿Ê¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ |
| Á´¥Ç¡¼¥¿Ê¸»úÎó¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹: |
| </p> |
| |
| <div class="example"><p><code> |
| name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey |
| </code></p></div> |
| |
| <p>»þ¡¹¡¢¤³¤Î¤è¤¦¤Êʸ»úÎó¤¬ URL |
| ¤ËÉղ䵤ì¤ë¤Î¤ò¸«¤ë¤Ç¤·¤ç¤¦¡£¤½¤Î¾ì¹ç¡¢¥µ¡¼¥Ð¤Ï |
| <code>QUERY_STRING</code> ¤È¤¤¤¦´Ä¶ÊÑ¿ô¤Ë¤½¤Îʸ»úÎó¤òÆþ¤ì¤Þ¤¹¡£¤½¤ì¤Ï |
| <code>GET</code> ¥ê¥¯¥¨¥¹¥È¤È¸Æ¤Ð¤ì¤Þ¤¹¡£ |
| HTML ¥Õ¥©¡¼¥à¤Ç¤Ï¡¢¥Ç¡¼¥¿¤òÅϤ¹¤¿¤á¤Ë <code>GET</code> ¤È |
| <code>POST</code> ¤Î¤É¤Á¤é¤ò»ÈÍѤ¹¤ë¤«¤ò¡¢<code>FORM</code> ¥¿¥°¤Î |
| <code>METHOD</code> °À¤ÎÀßÄê¤Ç»ØÄꤷ¤Þ¤¹¡£</p> |
| |
| <p>CGI ¥×¥í¥°¥é¥à¤Ï¡¢¤½¤Îʸ»úÎó¤òÌò¤ËΩ¤Ä¾ðÊó¤Ëʬ³ä¤¹¤ëÀÕǤ¤¬¤¢¤ê¤Þ¤¹¡£ |
| ¹¬¤¤¤Ë¤â¡¢¤½¤Î¥Ç¡¼¥¿½èÍý¤ò½õ¤±¤ë¥é¥¤¥Ö¥é¥ê¤ä¥â¥¸¥å¡¼¥ë¤¬Â¸ºß¤·¤Þ¤¹¡£ |
| ¤³¤ì¤é¤Ï¡¢CGI ¥×¥í¥°¥é¥à¤Î¾¤ÎÌ̤ǤâƱÍͤËÌò¤ËΩ¤Á¤Þ¤¹¡£</p> |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="libraries" id="libraries">CGI ¥â¥¸¥å¡¼¥ë/¥é¥¤¥Ö¥é¥ê</a></h2> |
| |
| |
| <p>CGI ¥×¥í¥°¥é¥à¤ò½ñ¤¯¤È¤¡¢ÌÌÅݤʻŻö¤ÎÂçÉôʬ¤ò¤·¤Æ¤¯¤ì¤ë |
| ¥³¡¼¥É¥é¥¤¥Ö¥é¥ê¤Þ¤¿¤Ï¥â¥¸¥å¡¼¥ë¤ò»È¤¦¤³¤È¤ò¸¡Æ¤¤¹¤Ù¤¤Ç¤¹¡£ |
| ¤³¤ì¤Ï¥¨¥é¡¼¤ò¸º¤é¤·¡¢Áᤤ³«È¯¤Ë¤Ä¤Ê¤¬¤ê¤Þ¤¹¡£</p> |
| |
| <p>Perl ¤Ç CGI ¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ¤¤¤ë¤Ê¤é¡¢¥â¥¸¥å¡¼¥ë¤Ï <a href="http://www.cpan.org/">CPAN</a> ¤ÇÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£ |
| ¤³¤ÎÌÜŪ¤Î¤¿¤á¤ÎºÇ¤âÉáµÚ¤·¤Æ¤¤¤ë¥â¥¸¥å¡¼¥ë¤Ï <code>CGI.pm</code> ¤Ç¤¹¡£ |
| <code>CGI::Lite</code> ¤â¸¡Æ¤¤·¤Þ¤·¤ç¤¦¡£¤³¤ì¤Ï¡¢¤Û¤È¤ó¤É¤Î¥×¥í¥°¥é¥à |
| ¤Ë¤ª¤¤¤ÆɬÍפȤ¹¤ë¤¹¤Ù¤Æ¤Îµ¡Ç½¤ÎºÇ¾®¥»¥Ã¥È¤Î¼ÂÁõ¤Ç¤¹¡£</p> |
| |
| <p>C ¤Ç CGI ¥×¥í¥°¥é¥à¤ò½ñ¤¤¤Æ¤¤¤ë¤Ê¤é¡¢¤¤¤í¤¤¤í¤Ê |
| ¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤é¤ÎÆâ¤Î°ì¤Ä¤Ï <a href="http://www.boutell.com/cgic/">http://www.boutell.com/cgic/</a> |
| ¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë <code>CGIC</code> ¥é¥¤¥Ö¥é¥ê¤Ç¤¹¡£</p> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="moreinfo" id="moreinfo">¹¹¤Ê¤ë¾ðÊó</a></h2> |
| |
| |
| <p>CGI ¤Ë´Ø¤¹¤ë¾ðÊó¤Ï¥¦¥§¥Ö¤Ç¿ô¿¤¯Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£CGI |
| ¤ÎÌäÂê¤Ë¤Ä¤¤¤Æ¤Ï Usenet ¤Î <a href="news:comp.infosystems.www.authoring.cgi">comp.infosystems.www.authoring.cgi</a> ¤Ç¡¢ |
| ¾¤Î¥æ¡¼¥¶¤ÈÏÀµÄ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£HTML Writers Guide ¤Î |
| -servers ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Ï¡¢¤¢¤Ê¤¿¤Î¼ÁÌä¤Ë²óÅú¤·¤Æ¤¯¤ì¤ë°ÎÂç¤Ê¥ê¥½¡¼¥¹¤Ç¤¹¡£ |
| <a href="http://www.hwg.org/lists/hwg-servers/">http://www.hwg.org/lists/hwg-servers/</a> |
| ¤Ç¹¹¤Ë¿¤¯¤òõ¤·½Ð¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£</p> |
| |
| <p>¤½¤·¤Æ¤â¤Á¤í¤ó¡¢¤ª¤½¤é¤¯ CGI |
| ¥×¥í¥°¥é¥à¤ÎÆ°ºî¤Ë´Ø¤¹¤ë¾ÜºÙ¤ÎÁ´¤Æ¤¬µ½Ò¤µ¤ì¤Æ¤¤¤ë |
| CGI ¤Î»ÅÍͤòÆɤà¤Ù¤¤Ç¤¹¡£¥ª¥ê¥¸¥Ê¥ë¥Ð¡¼¥¸¥ç¥ó¤ò |
| <a href="http://hoohoo.ncsa.uiuc.edu/cgi/interface.html">NCSA</a> |
| ¤Ç¡¢¥¢¥Ã¥×¥Ç¡¼¥È¤µ¤ì¤¿¥É¥é¥Õ¥È¤ò |
| <a href="http://web.golux.com/coar/cgi/">Common Gateway Interface RFC |
| ¥×¥í¥¸¥§¥¯¥È</a>¤Ç»²¾È¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£</p> |
| |
| <p>CGI ¤ÎÌäÂê¤Ë¤Ä¤¤¤Æ¡¢²Ã¤ï¤Ã¤Æ¤¤¤ë¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Þ¤¿¤Ï¥Ë¥å¡¼¥¹ |
| ¥°¥ë¡¼¥×¤Ë¼ÁÌä¤òÁ÷¤ë¤È¤¡¢µ¯¤³¤Ã¤¿¤â¤Î¡¢µ¯¤³¤Ã¤Æ¤Û¤·¤¤¤³¤È¡¢ |
| ¼ÂºÝ¤Ëµ¯¤³¤Ã¤¿¤³¤È¤¬¤É¤¦°ã¤¦¤«¡¢»ÈÍѤ·¤Æ¤¤¤ë¥µ¡¼¥Ð¡¢ |
| CGI ¥×¥í¥°¥é¥à¤òµ½Ò¤·¤Æ¤¤¤ë¸À¸ì¤Ë´Ø¤¹¤ë½½Ê¬¤Ê¾ðÊó¤È¡¢ |
| ²Äǽ¤Ç¤¢¤ì¤ÐÌäÂê¤Î¥³¡¼¥É¤òÄ󶡤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ |
| ¤½¤¦¤¹¤ë¤³¤È¤Ç¡¢ÌäÂ꤬¤è¤ê´Öñ¤Ë¸«¤Ä¤«¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£</p> |
| |
| <p>Apache ¤Î¥½¡¼¥¹¥³¡¼¥É¤Ë¤ª¤¤¤ÆÌäÂê¤òȯ¸«¤·¤¿¤³¤È¤ò³Î¿®¤·¤Æ¤¤¤Ê¤¤¸Â¤ê¡¢ |
| CGI ¤ÎÌäÂê¤Ë´Ø¤¹¤ë¼ÁÌä¤ò Apache |
| ¥Ð¥°¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ë<strong>Á÷¤ë¤Ù¤¤Ç¤Ê¤¤</strong> |
| ¤³¤È¤ËÃíÌܤ·¤Æ¤¯¤À¤µ¤¤¡£</p> |
| </div></div> |
| <div class="bottomlang"> |
| <p><span>Available Languages: </span><a href="../en/howto/cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../ja/howto/cgi.html" title="Japanese"> ja </a> | |
| <a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> |
| </div><div id="footer"> |
| <p class="apache">Copyright 1999-2004 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> |
| <p class="menu"><a href="../mod/">¥â¥¸¥å¡¼¥ë</a> | <a href="../mod/directives.html">¥Ç¥£¥ì¥¯¥Æ¥£¥Ö</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">ÍѸì</a> | <a href="../sitemap.html">¥µ¥¤¥È¥Þ¥Ã¥×</a></p></div> |
| </body></html> |