web-dev-qa-db-ja.com

禁止/ cgi-bin / mailman /にアクセスする権限がありません

Ubuntuサーバーから14.0.4 LTSにアップグレードしたばかりで、WebインターフェイスからMailmanにアクセスできなくなりました。 403 forbiddenエラーが表示されます(禁止:/ 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>
3
user2643864

いいえ、それは確かにvirtualhostの問題ではありません。

(1)

Apacheの設定でこれらのディレクトリが許可されていない場合だけでなく、Apacheにもこのディレクトリにアクセスする権限がない場合、403エラーが発生します。

これを知るには、非常に簡単にテストできます。Apacheと同じように、Apacheユーザー(su www-data -c /bin/bash)に対してsuを実行し、名前付きディレクトリにステップインし、リストし、そこからファイルを読み取ります。あなたの要求に応えます。

(2)

とにかく、通常、Apacheのerror.logには、ほとんどの場合比較的明確で不安定な理由が含まれているため、このようなリクエストを処理できませんでした。

(3)

次に、何ができるか:Apacheを停止してから、straceを使用して再起動します。そう:

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

遅くなりますが、trace.txtvery詳細なログが記録されます。ここで、正確に問題。残念ながら、このトリック全体はおそらくあなたにとって非常に不可解です。

(4)考えられる解決策:

Apache 2.2と2.4の間で、設定ファイルの構文が少し変更されました。あなたのubuntuアップグレードはおそらくApacheをアップグレードしましたが、設定を変更しませんでした。これを読んで、より詳細な回答を取得してください: https://httpd.Apache.org/docs/2.4/upgrading.html#access