📄 cgi.html.ja.euc-jp
字号:
<?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.0</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/">ドキュメンテ〖ション</a> > <a href="../">バ〖ジョン 2.0</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 class="outofdate">This translation may be out of date. Check the English version for recent changes.</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">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -