5

Это из файла /etc/apache2/sites-enabled/000-default сразу после установки apache2 из репозиториев.

DocumentRoot /var/www
<Directory />
        Options FollowSymLinks
        AllowOverride None
</Directory>
<Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
</Directory>

Что настраивает эта первая часть? Для меня это выглядит так, что DocumentRoot должен быть / вместо / var / www, позволяющим этой части <Directory /> иметь какой-либо эффект, но я должен ошибаться.

1 ответ1

4

Он устанавливает perms для корня (в этом контексте '/' является директорией, это не имеет ничего общего с закрытием тега) и все время вниз, если не переопределено. Root down => весь ваш диск. Затем он переопределяет его для вашего DocRoot.

Таким образом, в этом файле он устанавливает очень-очень ограничительные права доступа (AllowOverride None) на весь диск, а затем следующий раздел Справочника открывает его специально для вашего DocRoot.

Эти ограничения на / также ускоряют ход вещей. Это позволяет FollowSymLinks, что означает, что веб-серверу НЕ нужно выполнять вызов lstat() для каждого каталога вплоть до root, сохраняя некоторые системные дисковые вызовы. AllowOverrideNone также означает, что вам не нужно искать файлы .htaccess в этих каталогах, что сокращает некоторые (медленные) системные вызовы диска. Помните, что для каждого запроса веб-сервер должен учитывать каждый каталог, начиная с каталога, в котором находится содержимое, вплоть до корневого. С помощью этих разрешений вы замыкаете эти проверки, устраняя попадания на диск, которые являются настоящим врагом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .