Почему веб-сервер пишет в системном журнале «client denied by server configuration app/etc/local.xml»?

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
  • Тема закрыта
#1 Александр Матвиенко
  • Группа: Клиент
  • Сообщений: 1
  • Регистрация: 06.03.2014

  28.04.2014 09:55

Доброе утро, это мое первое сообщение на форуме, но думаю должно помочь многим проблема носит не единичный характер. Ссылка на мой сайт с российской сборкой: vrn-podarki.ru покупал, в принципе, из за поддержки на форуме, но увы тут пока есть не все ответы. Будем наполнять!
Сразу же начну с того, что поиском пользоваться умею, перекопал море материала, но безуспешно.
Тему Как настроить права доступа к файлам читал, даже не однократно. В доказательство картинка:

Командой id проверяем пользователя и группу.
Видим, что теперь они совпадают, до выполнения chown -R user:group отличались.
Прикрепленное изображение: localxml.jpg
Начал искать решение проблемы дальше, поиски привели к файлу .htaccess в папке /app/, при удаление из файла строки "Deny from all", ошибка исчезает. Но как я понимаю это не решение проблемы, ведь такой .htaccess идет с самой magento, и в админке тут же вылетает репорт о нарушенной безопасности, оно и понятно.
Дальше нашел в забугорном гугле статью, вот пруф: ссылка
В ней есть конструкция вида:
<layout>
    <default>
        <remove name="notification_security" />
        <remove name="notification_survey" />
    </default>
</layout>

Пишется в файл app/design/adminhtml/default/default/layout/local.xml и тоже решает проблему возникновения ошибки в логах.

Теперь исходя из выше написанного позволю себе отступиться от правил форума и задать несколько вопросов посвященных этой теме, думаю ответы на них помогут многим.

1. Чем грозит появление такой ошибки в логах апача "client denied by server configuration: /xxx/app/etc/local.xml"? (Просто очень не люблю всякого рода косяки, даже безобидные).
2. Зачем Magento пытается передать local.xml пользователю логиневшемуся в админку, если доступ к нему по умолчанию закрыт в .htaccess?
3. Могут ли появится побочные эффекты от использования такой конструкции?
<layout>
    <default>
        <remove name="notification_security" />
        <remove name="notification_survey" />
    </default>
</layout>

4. Альтернативные варианты устранения данной ошибки? Смену хостинга не предлагать, платить за выделенный сервер пока перебор.

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

28.04.2014 10:04

Посредством запроса у веб-сервера по протоколу HTTP файла app/etc/local.xml Magento проверяет правильность настроек веб-сервера.
Файл app/etc/local.xml содержит параметры для подключения к базе данных интернет-магазина (системное имя базы данных, системное имя пользователя базы данных, пароль этого пользователя для работы с базой данных), поэтому веб-сервер не должен возвращать веб-клиенту содержимое этого файла при запросе веб-клиентом этого файла по протоколу HTTP.
«client denied by server configuration» — это правильный ответ веб-сервера.

#3 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

28.04.2014 10:39

Кстати, когда веб-сервер не проходит такую проверку (то есть, возвращает содержимое файла app/etc/local.xml по протоколу HTTP), то Magento предупреждает об этом администратора непосредственно в административном интерфейсе:

Your web server is configured incorrectly
Конфигурация Вашего сервера не корректна

В Российской сборке Magento предупреждение выглядит так:
«Из-за неправильной настройки Вашего веб-сервера файл «app/etc/local.xml» с секретными данными Вашего магазина (обычно — с паролем к базе данных магазина) доступен любому желающему.
Возможно, это вызвано утратой файлов .htaccess (например, при некачественном копировании сайта по протоколу FTP).
Обратитесь к специалисту для устранения проблемы.
»

Поделиться темой: