gpt4 book ai didi

python - Apache2 CGI 配置

转载 作者:行者123 更新时间:2023-12-04 19:21:06 26 4
gpt4 key购买 nike

我无法访问我用 python 编写的一个非常简单的 cgi 脚本,并且在找到解决方案时遇到了太多麻烦。我有一种感觉,这将是一个很容易解决的问题,但我自己无法弄清楚。

url: localhost/cgi-bin/test.cgi (我也试过命名为 test.py)
我得到的错误是一个简单的 404,我认为下面的 ScriptAlias 会解决这个问题。此外,如果我尝试访问 localhost/cgi-bin/,我会得到 403:拒绝访问。我尝试将权限(我知道这很愚蠢)重置为 777,但没有更好的结果。

/etc/apache2/httpd.conf(对默认/etc/apache2/apache2.conf 没有特殊编辑):

ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/

<Directory /usr/local/apache2/cgi-bin/>
Options +ExecCGI
AddHandler cgi-script .cgi .py
</Directory>

/usr/local/apache2/cgi-bin:
.
└── test.cgi

测试.cgi:
#!/usr/bin/python 
import cgi
#cgi.test()
print 'Content-type: text/html\n\n'
print 'test'

此外,在更改 httpd.conf 文件后,我还重新启动了 apache2。除了我已经看过的内容之外,我想不出任何其他内容:
ScriptAlias configuration not working in apache2
但我不明白作者所引用的全局。我非常强烈地认为这是我的一个配置中的错误,但看起来代码非常简单。

如果有人能帮助我解决这个愚蠢的问题,我将不胜感激。

编辑:

错误日志:
--clip--
[Thu Sep 26 23:34:59 2013] [error] [client 127.0.0.1] script not found or unable to stat: /usr/lib/cgi-bin/test.cgi
[Thu Sep 26 23:42:08 2013] [error] [client 127.0.0.1] script not found or unable to stat: /usr/lib/cgi-bin/test.cgi

系统信息:
lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 12.04.2 LTS
Release: 12.04
Codename: precise
uname -a
Linux #### 3.2.0-39-generic #62-Ubuntu SMP Thu Feb 28 00:28:53 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

我想我找到了罪魁祸首:

/etc/apache2/sites-enabled/000-默认值:
1    <VirtualHost *:80>
2 ServerAdmin webmaster@localhost
3
4 DocumentRoot /var/www
5 <Directory />
6 Options FollowSymLinks
7 AllowOverride None
8 </Directory>
9 <Directory /var/www/>
10 Options Indexes FollowSymLinks MultiViews
11 AllowOverride None
12 Order allow,deny
13 allow from all
14 </Directory>
15
16 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
17 <Directory "/usr/lib/cgi-bin">
18 AllowOverride None
19 Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
20 Order allow,deny
21 Allow from all
22 </Directory>

特别是第 16 行。我从没想过要查看此目录

最佳答案

根据您的错误日志,您没有编辑正确的配置或其他内容。
注意它说/usr/lib/cgi-bin?
只是为了好玩,如果您将脚本复制到/usr/lib/cgi-bin,然后尝试一下,它是否有效?
这个 apache 安装在什么操作系统上?

还有一件事,该配置文件中的某个地方是否还有另一个 ScriptAlias?
也许这会覆盖您的/cgi-bin/映射?

关于python - Apache2 CGI 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19038299/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com