禁止您无权访问 /cgi-bin/mailman/

禁止您无权访问 /cgi-bin/mailman/

我刚刚从 Ubuntu 服务器升级到 14.0.4 LTS,我无法再通过 Web 界面访问 Mailman。我收到 403 禁止错误(禁止:您无权访问 /cgi-bin/mailman/)。我已经检查过 apache 配置几次了,没有发现问题。

我正在运行 Apache 2.4.7 和 Mailman 2.1.16。这是我的 /etc/mailman/apache2.conf 中的配置。我不确定此时还能查看哪里。这可能是虚拟主机问题吗?

# Logos:
Alias /images/mailman/ /usr/share/images/mailman/

# Use this if you don't want the "cgi-bin" component in your URL:
# In case you want to access mailman through a shorter URL you should enable
# this:
#ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
# In this case you need to set the DEFAULT_URL_PATTERN in
# /etc/mailman/mm_cfg.py to http://%s/mailman/ for the cookie
# authentication code to work.  Note that you need to change the base
# URL for all the already-created lists as well.

<Directory /usr/lib/cgi-bin/mailman/>
    AllowOverride all
    Options +ExecCGI
    AddHandler cgi-script .cgi index.cgi
    Order allow,deny
    Allow from all
</Directory>
<Directory /var/lib/mailman/archives/public/>
    Options +FollowSymlinks
    AllowOverride all
    Order allow,deny
    Allow from all
</Directory>
<Directory /usr/share/images/mailman/>
    AllowOverride all
    Order allow,deny
    Allow from all
</Directory>

答案1

不,这肯定不是虚拟主机的问题。

(1)

不仅当您的 apache 配置不允许这些目录时,您也会收到 403 错误,而且如果甚至 apache 也没有权限访问该目录

要了解这一点,您可以非常轻松地进行测试:只需su向 apache 用户(su www-data -c /bin/bash)输入以下命令,并尝试进入命名目录、列出它、从中读取文件等,就像 apache 满足您的请求一样。

(2)

无论如何,通常error.logapache 的大多数内容都包含相对清晰和稳定的理由,说明为什么这样的请求无法提供服务。

(3)

接下来,可以做的事情是:您可以停止 apache,然后使用 strace 重新启动。所以:

strace -s 200 -f -o trace.txt apachectl start

它会很慢,但你会得到一个非常详细日志trace.txt,您将能够从中找出问题究竟是什么。不幸的是,整个技巧对您来说可能非常神秘。

(4)可能的解决方案:

在 apache 2.2 和 2.4 之间,配置文件语法略有变化。您的 ubuntu 升级可能升级了 apache,但没有更改配置。阅读此内容可获得更详细的答案:https://httpd.apache.org/docs/2.4/upgrading.html#access

相关内容