我刚刚从Ubuntu服务器升级到14.0.4LTS,我不能再通过Web接口访问Mailman了。我得到了一个403禁止的错误(禁止:您没有访问/cgi-bin/mailman/的权限)。我已经看过apache配置几次了,但没有看到问题。
我正在运行Apache2.4.7和Mailman2.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>发布于 2015-01-22 09:13:44
不,这肯定不是虚拟主机的问题。
(1)
不仅当apache信任不允许这些目录时,而且如果apache也没有访问该目录的权限时,就会出现403错误。
要知道这一点,您可以非常容易地测试:简单地将su发送给apache (su www-data -c /bin/bash),并尝试在指定目录中执行步骤,列出它,从它读取文件等等,就像apache为您的请求提供服务一样。
(2)
无论如何,apache的error.log通常包含相对清晰和欠稳定的推理,为什么这样的请求不能使用。
(3)
接下来是什么:您可以停止apache,然后使用一个strace重新启动。所以:
strace -s 200 -f -o trace.txt apachectl start这将是缓慢的,但您将得到一个非常详细的trace.txt日志,在那里您将能够发现,到底是什么问题。不幸的是,这个把戏对你来说可能很神秘。
(4)可能的解决办法:
在Apache2.2和2.4之间,配置文件语法略有改变。您的ubuntu升级可能升级了apache,但没有更改配置。阅读以下内容可以得到更详细的答案:https://httpd.apache.org/docs/2.4/upgrading.html#access。
https://serverfault.com/questions/661479
复制相似问题