在Raspberry Pi上更改Apache2中的cgi-bin目录

时间:2014-09-04 12:36:47

标签: python apache directory cgi

目前,我的.py cgi文件存储在默认目录/usr/lib/cgi-bin/中并执行。这工作正常。但是我想将我的cgi目录更改为/var/www/cgi-bin,因为这样更容易通过ftp访问。

我尝试修改文件/etc/apache2/sites-available/default中的'cgi'代码块,如下所示

    ScriptAlias /cgi-bin/ /var/www/cgi-bin/
    <Directory "/var/www/cgi-bin">
            AddHandler cgi-script .py
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

重新启动Apache服务器并通过我的Web浏览器访问http://raspberryIP/cgi-bin/helloworld.py后,我收到了500 Internal Server Error。这里有什么问题?

btw:我使文件helloworld.py可以sudo chmod +x helloworld.py

执行

helloworld.py包含以下代码:

#!/usr/bin/env python
print "Content-type: text/html\n\n"
print "<h1>Hello World</h1>"

我的Apache错误日志显示以下错误:

[Wed Sep 03 09:22:31 2014] [error] [client 192.168.0.102] /usr/bin/env:
[Wed Sep 03 09:22:31 2014] [error] [client 192.168.0.102] python\r
[Wed Sep 03 09:22:31 2014] [error] [client 192.168.0.102] : No such file or directory
[Wed Sep 03 09:22:31 2014] [error] [client 192.168.0.102]
[Wed Sep 03 09:22:31 2014] [error] [client 192.168.0.102] Premature end of script headers: helloworld.py
似乎Apache无法找到python来执行脚本。我可能需要将路径#!/usr/bin/env python设置为python相对。任何帮助赞赏。

0 个答案:

没有答案