2016-12-17 76 views
0

我有我的index.py/var/www/cgi-bin设置cgi-bin目录服务器蟒蛇与apache2.4.18

index.py看起来是这样的:

#!/usr/bin/python 

print "Content-type:text/html\r\n\r\n" 
print '<html>' 
print '<head>' 
print '<title>Hello Word - First CGI Program</title>' 
print '</head>' 
print '<body>' 
print '<h2>Hello Word! This is my first CGI program</h2>' 
print '</body>' 
print '</html>' 

我的Apache2 /etc/apache2/sites-enabled/000-default.conf看起来是这样的:

<VirtualHost *:80> 
<Directory /var/www/cgi-bin> 

    Options +ExecCGI 
    AddHandler cgi-script .cgi .py 
    Order allow,deny 
    Allow from all 

</Directory>  

</VirtualHost> 

让我知道如果还有其他事情需要修改,我已经启用了cgi。

的问题是,无论什么网址我访问我不断收到错误未找到localhost,或localhost/index.py

+0

我的Apache的知识是有点生疏,但'index.py'有它的执行权限位设置? –

+0

是'chmod 755' – harshil9968

+0

你是直接尝试127.0.0.1,而不是本地主机? – Manel

回答

1

试试这个:

启用CGIa2enmod cgid

chmod a+x /var/www/cgi-bin/index.py但检查cgi-bin目录的所有者是wwwdata?要求每Virtualhost定义directory

需要一段时间restart用于查杀所有apache线程!

DocumentRoot /var/www/htdocs #A include B if owner are same ! 
    <Directory /var/www/htdocs/cgi-bin/ > 
      FallbackResource /index.py 
      Options +ExecCGI -MultiViews -SymLinksIfOwnerMatch -Indexes 

      Order allow,deny 
      Allow from all 
      AddHandler cgi-script .py 

    </Directory> 
+0

'选项'是缺少的东西。 我的设置有点不同'Options Indexes FollowSymLinks Includes ExecCGI' – harshil9968

+0

'CGI'表示**通用网关接口**,'-Indexes'用于从未声明的包含文件。 '-FollowSymLinks'抱歉,我无法在此服务器上为每个CGI脚本设置一个筛选器(但可以本地访问更多的CGI脚本)。你知道我的.py脚本名吗?快乐注入(当然你需要时间散列主键和变量模式)! – dsgdfg

-1

使用该文件来运行CGI脚本:

import cgi; 
import cgitb;cgitb.enable() 
+0

不,这不是问题,问题是与Apache安装程序。 – harshil9968