在apache2上配置cgi

时间:2011-08-10 10:27:45

标签: c++ apache2 cgi

我需要我的apache web服务器来运行c ++编译的二进制文件。我已经完成了我在不同教程中设置的所有内容,以设置我的cgi-bin目录,但没有任何帮助!

我已添加到apache config(sites-available / default):

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

我的c ++文件(/var/www/cgi-bin/test.cgi)只是简单地告诉了hello world!,但是当我在浏览器上询问这个文件时,我收到错误:内部服务器错误!

2 个答案:

答案 0 :(得分:3)

您的test.cgi不输出任何标头。它应该输出一组标题和一个用空行分隔的正文,如下所示:

Content-type: text/plain

Hello world!

还有很多问题可能出现,但首先要在测试程序输出中添加“内容类型”标题和空行。

答案 1 :(得分:1)

非常感谢!很抱歉我来不及回答。

通过更改权限解决了无法访问文件的问题。但是我创建的文件夹名称/var/www/cgi-bin/出现了错误,cgi-bin是文件夹/usr/lib/cgi-bin/的别名。

当我将test.cgi文件放在那里时,我可以访问该文件,但仍然在apache中记录了Header Content的错误。这是因为标题应为Content-type: text/html