如何为cgi-bin执行设置VirtualHost?

时间:2014-07-28 20:24:12

标签: apache cgi

我在httpd:

的配置文件的VirtualHost选项卡中创建了以下指令
      ScriptAlias /cgi-bin/ "/usr/myhome/cgi"
      <Directory "/usr/myhome/cgi/">
       AllowOverride None
       Options None
       Order allow,deny
       Allow from all
      </Directory>

我还创建了shell脚本:

      #! /bin/sh

     echo "Content-type: text/html"
     echo
     echo
     echo Hello
myhome / cgi目录中的

但是,我无法运行http://server.com/cgi-bin/1.sh

我收到“内部服务器错误”。

httpd日志文件显示:

           [Mon Jul 28 21:18:19 2014] [error] [client 128.237.220.69] /bin/sh: /usr/myhome/cgi/1.sh: Permission denied
           [Mon Jul 28 21:18:19 2014] [error] [client 128.237.220.69] Premature end of script headers: 1.sh

即使我将目录的权限更改为全局可读和可执行,并且脚本也使用chmod 0777(只是为了确保它可以执行任何操作)。

任何想法如何调试权限被拒绝的错误来源是什么?

1 个答案:

答案 0 :(得分:0)

您至少需要Options +ExecCGIAddHandler cgi-script

http://httpd.apache.org/docs/2.2/howto/cgi.html

编辑 gah my bad我完全错过了您使用ScriptAlias,但我不确定您的文件路径should be quoted