Запрещено У вас нет прав доступа к /cgi-bin/mailman/

Я только что обновился с сервера Ubuntu до 14.0.4 LTS и больше не могу получить доступ к 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)

Вы получаете ошибку 403 не только в том случае, если ваши конфиги apache не разрешены этими каталогами, но даже если apache не имеет разрешения для доступа к этому каталогу.

Чтобы узнать это, вы можете очень легко проверить это: просто 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.

Другие вопросы по тегам