Ubuntu
Forbidden 你沒有權限訪問 /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)
不僅如果您的 apache 配置不允許這些目錄,而且*即使 apache 沒有訪問此目錄的權限,*您也會收到 403 錯誤。
要知道這一點,您可以很容易地測試:只需
su
對 apache 使用者su www-data -c /bin/bash
((2)
無論如何,通常
error.log
apache 的大部分都包含相對清晰和不穩定的推理,為什麼這樣的請求是不可服務的。(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 。