Опции +/- взаимодействие со всеми, что по умолчанию в 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