Опции +/- взаимодействие со всеми, что по умолчанию в 2.2, но не по умолчанию в 2.4

У меня есть ряд серверов, которые я обновляю с 2.0/2.2 до 2.4. Предыдущие админы сделали хеш различных опций. Я сбит с толку, потому что в документации 2.0/2.2 сказано, что параметры All (то есть "все, кроме MultiViews") являются значениями по умолчанию, тогда как в 2.4 значение по умолчанию было изменено на FollowSymLinks. Я также не понимаю, как соотносятся параметры родительского каталога с параметрами дочернего каталога - что наследуется? Это мой проблемный ребенок...

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
<Directory "/opt/apache/netegrity/webagent/pw/">
    Options -Indexes MultiViews ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Хорошо, это 2.2, где документация определенно ругает вас за смешивание +/- с не +/- опциями в той же строке, но действительно запускает ваш сервер. Итак, какие параметры устанавливаются для / opt / apache / netegrity / webagent / pw / в этом коде? Директория pw наследует FollowSymLinks и устанавливает MultiViews & ExecCGI, и -Indexes - нонсенс, потому что индексы не включены в любом случае? Если бы вторая директива Options была только

    Options MultiViews ExecCGI

Индексы будут включены или нет для / opt / apache / netegrity / webagent / pw /? А как насчет FollowSymLinks? Я знаю, как это развивалось - эта вторая директива Options начала создаваться установщиком веб-агента и была

    Options Indexes MultiViews ExecCGI

но затем администраторы хотели убрать индексы, поэтому они поставили знак минус перед ним. Я думаю (если я правильно читаю документацию), что способ отключить индексы - просто не указывать их, а не вставлять знаки минуса.

Таким образом, мы подошли к вопросу о деньгах, а именно, как перенести этот синтаксис с 2.2 на 2.4. Поскольку по умолчанию для параметров теперь выбрано FollowSymLinks, а не все, мы можем оставить

<Directory />
    AllowOverride none
    Require all denied
</Directory>

право? И сотрудники CA предлагают этот параметр для /opt/apache/CA/webagent/pw/

<Directory "/opt/apache/CA/webagent/pw/">
    Options Indexes MultiViews ExecCGI
    AllowOverride None
    Require all granted
</Directory>

Так что, если мы хотим удалить индексы, мы просто оставим это без всяких опций?

<Directory "/opt/apache/CA/webagent/pw/">
    Options MultiViews ExecCGI
    AllowOverride None
    Require all granted
</Directory>

И, последний вопрос, задан ли FollowSymLinks для /opt/apache/CA/webagent/pw/ неявно, потому что он установлен для? Или он установлен только в том случае, если он отображается в строке параметров для /opt/apache/CA/webagent/pw/?

1 ответ

Существует configtest параметр в apache2ctl проверить вашу конфигурацию (и).

Мне нравится использовать это, когда я не уверен:

# apache2ctl configtest
Syntax OK
Другие вопросы по тегам