vine-users ML アーカイブ



[vine-users:058513] Re: Perl のパス

  • From: ShuntaSusuki <shuntasusuki@xxxxxxx>
  • Subject: [vine-users:058513] Re: Perl のパス
  • Date: Thu, 20 Feb 2003 04:36:00 +0900

On 2003.2.20, at 04:00 午前, 気のない鍛冶屋 wrote:

ところが、CGIが動きません
状況的にはそのまま文字として表示されてしまいます。
アクセス権をいじったところ今度はCGIファイルを
ダウンロードしようとしてしまいます。
この場合、perlよりもapacheの設定を見直した方が良いと思います。

手始めに、現在perlによるCGIを置いてあるディレクトリがCGIの実行
を許可されているかを見る必要があります。

/etc/httpd/conf/httpd.conf

の内容を確認して下さい。例えば、

/home/httpd/html

にCGIが置いてある場合は

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory /home/httpd/html>

#
# This may also be "None", "All", or any combination of "Indexes",
# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
Options Indexes Includes FollowSymLinks MultiViews ExecCGI-->これが書き込んであるかを確認

ちなみにSSIでしたらIncludesが書き込んでないと実行されません。(確か、、、。)

もしCGIが

/home/httpd/cgi-bin

に置いてある場合は同様に

ScriptAlias /cgi-bin/ /home/httpd/cgi-bin/

#
# "/home/httpd/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory /home/httpd/cgi-bin>
    AllowOverride None
    Options ExecCGI Includes-->ここにExecCGIが書き込んであるかを確認
    Order allow,deny
    Allow from all
</Directory>

更に更に、もしCGIがユーザーディレクトリのpublic_htmlに置いてあるのであれば、

<Directory /home/*/public_html>
    AllowOverride None
    Options ExecCGI Includes
    Order allow,deny
    Allow from all
</Directory>

というような記述が必要だと思います。

あとは、

# To use CGI scripts:
#
#AddHandler cgi-script .cgi-->頭の部分の#を消すこと

が必要でしょうか。


--
++++++++++++++++++++++++++
須々木俊太(ススキ シュンタ)