我刚刚从 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)
不仅如果您的 apache 配置不允许这些目录,而且即使 apache 没有访问此目录的权限,您也会收到 403 错误。
要知道这一点,您可以很容易地测试:只需
su
对 apache 用户su www-data -c /bin/bash
((2)
无论如何,通常
error.log
apache 的大部分都包含相对清晰和不稳定的推理,为什么这样的请求是不可服务的。(3)
接下来,可能会发生什么:您可以停止 apache,然后使用 strace 重新启动。所以:
这会很慢,但您会获得非常详细的登录信息
trace.txt
,您可以在其中找到问题所在。不幸的是,这整个技巧对你来说可能非常神秘。(4)可能的解决方案:
在 apache 2.2 和 2.4 之间,配置文件语法发生了一些变化。您的 ubuntu 升级可能升级了 apache,但没有更改配置。阅读本文以获得更详细的答案:https ://httpd.apache.org/docs/2.4/upgrading.html#access 。