Я понимаю , что Magento говорит иметь / вар и / СМИ на 700 для папок и 600 для файлов , но когда я делаю это, он ломает некоторые части моего сайта. Мне любопытно посмотреть, какие разрешения большинство людей используют для этих папок.
Я понимаю , что Magento говорит иметь / вар и / СМИ на 700 для папок и 600 для файлов , но когда я делаю это, он ломает некоторые части моего сайта. Мне любопытно посмотреть, какие разрешения большинство людей используют для этих папок.
Ответы:
Я не вижу много упоминаний об использовании 700 и 600, но в целом это хороший совет. К сожалению, каждый сервер настроен по-разному, и его необходимо сравнить с удобством (доступ пользователей к обновлению / редактированию файлов).
Основной подход должен состоять в том, чтобы отдавать как можно меньше и блокировать его как можно больше (700/600 хорошо для этого). В этом отношении «официальный» совет в вики хочет применить к как можно большему количеству обстоятельств и предлагает разрешения на чтение для всех (что означает, что любой скомпрометированный другой сервис на сервере, например, сможет читать app / etc / local. XML с вашей конфигурацией БД).
В вашем случае это звучит так, как будто файлы принадлежат другому пользователю, нежели тот, под которым работает ваш веб-сервер / php. Смена владельца файлов на веб-сервер должна решить вашу первоначальную проблему.
Обратите внимание, что использование 700/600 и назначение файлов веб-серверу означает, что ваш обычный пользователь не сможет редактировать файлы.
Ниже, я чувствую, хороший компромисс для удобства против блокировки. Все файлы принадлежат пользователю: webservergroup
var и media 770/660
Сервер и ваш пользователь могут читать и писать из папок var и media (session / cache / images).
остальные 750/640
Ваш пользователь может редактировать / обновлять код.
Веб-сервер может читать файлы для выполнения / отображения.
В общем, все файлы должны быть, 644
и все папки должны быть 755
и должны принадлежать пользователю, под которым работает ваш веб-сервер . mage
Исполняемый файл должен быть предоставлены 550
разрешения разрешить выполнение.
Этот сценарий оболочки должен исправлять ситуацию, если он запускается из корня Mage:
#!/bin/sh
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 550 mage
Источник: http://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions
Хотя решение Фила хорошо, я использую немного другой подход. Помимо того, что я сделал владельца файла php / webserver, я создаю дополнительную группу. Обычно это называется dev . И я добавляю «php user», себя и других разработчиков в эту группу dev . Затем я делаю chgrp, чтобы все файлы в поддереве проекта Magento имели группу dev . Я добавляю бит + s к папкам, который гарантирует, что вновь созданные подпапки получают те же разрешения.
Я создал публичную суть с моим сценарием fix_permissions.sh. Не стесняйтесь использовать его :) Это поможет вам сохранить все поддерево проекта Magento с хорошими разрешениями.
https://gist.github.com/svenvarkel/8062778#file-fix_permissions-sh
Исходный вопрос - var и media должны иметь такие разрешения, чтобы «пользователь php» мог читать и записывать в эти папки. Он должен быть в состоянии записывать кеш, файлы сессий и т. Д. Под var, и он должен быть в состоянии записывать кэш изображений продукта и изображения под носитель. Так что сделайте, как советует Фил: chown или chgrp для «php user» и предоставьте права доступа «php user».
Я думаю, что более правильно ссылаться на «пользователя php» в контексте FPM (CGI). Пользователь веб-сервера может отличаться от того, на котором работает PHP.
/ var - magento используется для записи данных в кеш, сессии и т.д.
/ media - magento используется для обновления изображения продукта, изображения категории (любой тип изображения).
Таким образом, эти две папки вы должны использовать разрешение на чтение + запись. Другой файл вы должны использовать разрешение на чтение + выполнение.
Разрешение на файл - 644. Запустите приведенный ниже код в корневом каталоге, используя ssh. находить .
-type f -exec chmod 644 {} \;
Разрешение для папки - 755. Запустите приведенный ниже код в корневом каталоге, используя ssh. находить .
-type d -exec chmod 755 {} \;
Разрешение папки Var - 777. Запустите приведенный ниже код в корневом каталоге, используя ssh.
chmod -R 777 var
Разрешение статической папки - 777. Запустите приведенный ниже код в корневом каталоге, используя ssh.
chmod -R 777 pub/static
Разрешение папки мультимедиа - 777. Запустите приведенный ниже код в корневом каталоге, используя ssh.
chmod -R 777 pub/media
Отсюда: http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html
find . -type f -exec chmod 400 {} \;
find . -type d -exec chmod 500 {} \;
find var/ -type f -exec chmod 600 {} \;
find media/ -type f -exec chmod 600 {} \;
find var/ -type d -exec chmod 700 {} \;
find media/ -type d -exec chmod 700 {} \;
chmod 700 includes
chmod 600 includes/config.php