У меня есть серия серверов, которые я обновляю с 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