Назад | Перейти на главную страницу

Параметры +/- взаимодействие со Все, что по умолчанию в 2.2, но не по умолчанию в 2.4

У меня есть серия серверов, которые я обновляю с 2.0 / 2.2 до 2.4. Предыдущие админы сделали довольно хеш из различных опций. Я сбит с толку, потому что в документации 2.0 / 2.2 сказано, что Options 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, а не All, мы можем не указывать его.

<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 /?

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

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

# apache2ctl configtest
Syntax OK