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-->頭の部分の#を消すこと
が必要でしょうか。
--
++++++++++++++++++++++++++
須々木俊太(ススキ シュンタ)