2016-12-17 47 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