Конфигурация Apache Magento (доступное приложение / etc / local.xml)

Только что закончил установку Magento на сервер Linux.

Когда я захожу в Magento & quot; Панель администратора & quot; Я вижу следующее сообщение на верхняя часть страницы.

Ваш веб-сервер настроен неправильно. В результате файлы конфигурации с конфиденциальной информацией доступны извне. Пожалуйста, свяжитесь с вашим хостинг-провайдером.

Какова наиболее вероятная причина этого сообщения об ошибке?

Спасибо,

Джон Гош

 John Goche15 июл. 2012 г., 18:19
Я хотел бы, чтобы magento был более конкретным здесь. Не уверен, в чем проблема на самом деле.
 Jürgen Thelen15 июл. 2012 г., 15:25
Какие разрешения вашиapp/etc/local.xml иметь?
 John Goche15 июл. 2012 г., 18:24
Я даже связался с посещением System - & gt; Управление кэшем, очистка всех кэшей и настройка отключенного действия для всех кэшей, чтобы увидеть, является ли предупреждение какой-то устаревшей информацией, но нет, даже после этого шага я все еще получаю то же старое предупреждение о неправильной настройке веб-сервера и доступности конфиденциальной информации из вне. Так в чем же проблема?
 John Goche15 июл. 2012 г., 18:19
Спасибо за указание на это. Я не знаю, как это произошло, когда скрипт установки создал этот файл с моим криптографическим ключом внутри него в конце установки, но действительно, ls -l /var/www/magento/app/etc/local.xml выдает следующие разрешения для файла: & quot; -rwxrwxrwx & quot; с пользовательскими www-data и групповыми www-data на Ubuntu 12.04 LTS (Long Term Support) Desktop. Однако даже после выполнения команды "sudo chmod o-wx local.xml" на этом файле и при загрузке страницы я все равно получаю то же сообщение (даже если я вхожу в систему и возвращаюсь в консоль администратора Magentolocalhost/index.php/admin).

Ответы на вопрос(7)

/app/etc/local.xml доступно (с помощью curl). Вы можете попробовать это самостоятельно в браузере, чтобы проверить.

Чтобы это исправить, убедитесь, что этот файл больше не виден. Как вы это сделаете, зависит от вашего веб-сервера. Magento поставляется с.htaccess чтобы запретить доступ, но вы могли скопировать папки без скрытых файлов.cp не копирует их. Или apache не может получить доступ.htaccess проверьте права доступа к файлу.

Ваше решение сработало. Я использую AWS Linux для установки Magento.

Go to /etc/httpd/conf/httpd.conf

Add following in httpd.conf.

Options FollowSymLinks AllowOverride All

3. установить разрешение от SSH / FTP на local.xml = & gt; 600 в пути к файлу /app/etc/local.xml

sudo service httpd restart

Убедитесь, что в подкаталоге приложения установки Magento есть файл .htaccess. Если файл .htaccess отсутствует, создайте новый файл .htaccess в подкаталоге приложения, который содержит следующие директивы:

Order deny,allow
Deny from all

Убедитесь, что права доступа к файлам установлены правильно. Как правило, для каталогов должны быть установлены разрешения 755 (разрешения на чтение, запись и выполнение для пользователя, а также разрешения на чтение и выполнение для группы и мира). Для файлов должны быть установлены разрешения 644 (разрешения на чтение и запись для пользователя и разрешения на чтение для группы и мира).

Пожалуйста, измените разрешение файла .htaccess на 644, а затем обновите страницу администрирования magento.

Решение Вопроса

чтобы запретить доступ к деревьям каталогов. Вы найдете их в app, media, var и везде, где Magento сочтет нужным прикрепить их. Они делают разные вещи, такие как запретить просмотр (app, var), выполнение (media .htaccess). Чтобы эти файлы .htaccess работали, очень важно, чтобы следующее было задано либо в корневом каталоге doc .htaccess, либо в конфигурации виртуального сервера.

Options FollowSymLinks
AllowOverride All

Скорее всего, Magento обнаружит, что файлу .htaccess каталога приложения не разрешено запрещать сетевой доступ к вашему файлу app / etc / local.xml, поэтому все ваши учетные данные и ключ шифрования видны всем, у кого есть веб-браузер.

Другая проблема может быть в том, что ваши права доступа к файлам / каталогам слишком слабые.

Для Magento, работающего под FastCGI, SuPHP или LSAPI

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 550 pear #for Magento pre 1.5
chmod 550 mage #for Magento 1.5 and up
chmod 550 cron.sh

Для Magento, работающего под DSO (mod_php)

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod o+w var var/.htaccess app/etc
chmod 550 pear #for Magento pre 1.5
chmod 550 mage #for Magento 1.5 and up
chmod 550 cron.sh
chmod -R o+w media

For the question below, папка app / etc должна иметь следующий файл .htaccess. Попытка прочитать что-либо через сервер должна выдать ошибку 403. Ваш следующий шаг - связаться с вашим веб-хостером, чтобы узнать, почему этот файл не соблюдается.

Order deny,allow
Deny from all

Note: Если вы используете альтернативные http-серверы, такие как nginx, вы должны выполнить поиск по всем файлам .htaccess, созданным в дереве каталогов Magento, и воссоздать все функции .htaccess, используемые Magento в ваших настройках nginx, чтобы у вас была такая же защита файлов / каталогов. как стандартная установка Apache DSO. То же самое касается установки Windows на IIS.

 16 окт. 2012 г., 18:35
Есть ли у вас какие-либо идеи о том, что может решить проблему, если я предпринял оба эти действия, и файл все еще доступен для общественности? Я проверил, что перезапись apache также включена.
 18 окт. 2012 г., 20:55
Благодарю. Для тех, у кого возникли проблемы помимо ответа выше, я нашел полезным проверить мой журнал ошибок apache. Он указал, что у меня проблема в моем файле .htaccess в / var / www. Мне действительно не нужен этот файл, поэтому удаление его решило проблему.
 16 окт. 2012 г., 23:19
Смотрите выше последний абзац. Проверьте, существует ли этот файл .htaccess, а затем выясните, почему ваш веб-сервер не подчиняется директивам для обеспечения элементарной безопасности.
 20 окт. 2015 г., 20:59
Я рекомендую разрешать только файлам .htaccess переопределять то, что им нужно, а не что-либо еще Я обнаружил, что позволяяFileInfo Indexes Options Limit обычно достаточно, но вы должны просмотреть свои журналы ошибок, чтобы увидеть, может ли веб-приложение или какое-либо расширение нуждаться в большем количестве доступа.

и ошибка исчезнет;)

 25 июн. 2017 г., 08:27
@pspahn Это было ...
 13 мар. 2013 г., 01:00
В зависимости от настроек сервера это может вызвать запуск установщика в ранее установленной среде.

и никто не работал на нашем веб-хостинге. & quot; AllowOverride All & quot; не будет работать на нашем vhosts.conf и, как следствие, "Отклонить от всех" был проигнорирован.

Добавьте этот код в .htaccess, и он работает шарм ...

##### Block access to local.xml #####
RewriteRule ^(.*)local.xml$ - [F,L]
 29 янв. 2016 г., 13:09
Благодарю. Я подозревал, что что-то было не так, когда мы испытывали другие аномалии. Это оказалось проблемой с сохранением файлов на выделенном сервере - с тех пор мы создали новый, поскольку на старом сервере возникли проблемы с оборудованием, которые вызывали проблемы с записью поврежденных данных на жесткий диск, что затем повлияло на среду хостинга. Новый сервер работает отлично без необходимости этого обходного пути .htaccess.
 29 янв. 2016 г., 08:35
Это метод защиты доски с частоколом. Пока цель находится за доской, стрелка не может поразить ее; это оставляет все остальное открытым. Они не могут читать ваши файлы local.xml, но могут читать все остальное. Возможно, вам понадобится хостинг-провайдер, который позволит корректно работать защите .htaccess.

1..conf.

    <Directory "/var/www/html/app/etc">
        Options FollowSymLinks
        AllowOverride All
    </Directory>

set permission from ftp to local.xml =>600

sudo /etc/init.d/httpd restart

sudo /etc/init.d/httpd reload
 01 июл. 2015 г., 21:19
В зависимости от настроек сервера это может вызвать запуск установщика в ранее установленной среде.

Ваш ответ на вопрос