Apache2.2.14中CGI模块的配置

发布于 2022-10-15 10:18:04 字数 2659 浏览 60 评论 0

本帖最后由 飞刀斩尘 于 2011-04-12 19:21 编辑

问题有点冗长,劳烦耐心看完
我在Ubuntu10.04上安装了Apache2.2.14和Tomcat6.0.24,通过jsp探针测试,应该已经整合成功了。
现在我的问题是,访问http://localhost/cgi-bin/*.cgi时,网页提示
Not Found
The requested URL /test1.cgi was not found on this server.
查看apache日志,有以下提示:
[notice] Apache/2.2.14 (Ubuntu) mod_jk/1.2.28 configured -- resuming normal operations
[error] [client IP] script not found or unable to stat: test1.cgi

我在mods-enabled目录下添加了../mods-available/cgi.load和cgi.conf的软链接,其中cgi.load代码为LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so
Cgi.conf是自己在mods-available下创建的,只添加了代码
AddHandler cgi-script .cgi .pl .py
在sites-enabled/000-default文件下
   DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www>
                Options Indexes ExecCGI FollowSymLinks MultiViews
               AllowOverride None
                Order allow,deny
                allow from all
        </Directory>
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
        AddType text/html .html .py .cgi
        <Directory "/var/www/cgi-bin">
#AllowOverride None
                Options FollowSymLinks MultiViews ExecCGI
                Order allow,deny
                Allow from all
        </Directory>
        AddHandler cgi-script .cgi .py

对了,我在cgi-bin目录下存放的index.html文档能正常打开,把.cgi文件放到/var/www目录下,也是提示not found
我的test1.cgi脚本代码如下
#! /usr/bin/python
print ("Content-type: text/html\n\n")
print ("Hello")
直接在命令行里用Python解析,可以正确运行。
.cgi 的权限是755 Apache:Apache
cgi-bin 目录的权限也是755 Apache:Apache
大侠们能不能帮我分析下,问题出在哪里了,我已经没有走投无路了~~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

鸩远一方 2022-10-22 10:18:04

回复 2# mitmax

    不行啊,还是老样子,我现在怀疑是不是没有安装mod_perl模块,我下了一个mod_perl.so,放到了/usr/lib/apache2/modules下,不过不知道该如何设置perl.load,perl.conf.我先试验下

对了
运行你说得命令,得到结果如下
$ps -ef|grep http
yrf       1062   942  0 15:54 pts/1    00:00:00 grep --color=auto http

这样是不是不对

一瞬间的火花 2022-10-22 10:18:04

在mitmax的给力帮助下,我的问题解决了,他说估计是在我的配置中,整合了tomcat,但是有没用域名或者端口区别出来。
真的太开心了。
经mitmax修改后,完整的default如下

  1. <VirtualHost *:80>
  2.     ServerName www.test.com
  3.     DocumentRoot "/var/www"
  4.     <Directory /var/www>
  5.       Options FollowSymLinks
  6.       AllowOverride None
  7.       Order deny,allow
  8.       Allow from all
  9.     </Directory>
  10.     <IfModule dir_module>
  11.       DirectoryIndex index.html
  12.     </IfModule>
  13.     HostnameLookups off
  14.     <Files ~ "\.(html|cgi)$">
  15.       HostnameLookups on
  16.     </Files>
  17.     ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  18.     <Directory /usr/lib/cgi-bin/>
  19.       Options +ExecCGI
  20.       AddHandler cgi-script .cgi
  21.       AllowOverride None
  22.       Order Deny,Allow
  23.       Allow from all
  24.     </Directory>
  25. </VirtualHost>

复制代码真的万分感谢~~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文