Ошибка файловой системы Drupal 7: каталог sites / default / files существует, но недоступен для записи и не может быть сделан доступным для записи - PullRequest
2 голосов
/ 24 апреля 2011

Я копирую установку Drupal 7 с одной машины на другую. Обе машины являются Mac OSX с текущими версиями MAMP. Процедура выглядит следующим образом:

  1. создать файл дампа sql
  2. rsync -ar path/to/source path/to/destination
  3. chmod -R 755 destination/sites/default/files
  4. chown -R username destination
  5. import sql dumpfile
  6. настроить settings.php (на самом деле, они остаются неизменными в разных средах, но просто проверяют информацию о подключении к БД и $ base_url.)

Здесь все работает, на стороне назначения, за исключением того, что каталог sites / default / files нельзя сделать доступным для записи [sic]. Что-то в дереве каталогов и / или разрешениях меняется, но я не могу понять, что и как. Что дает?

Ответы [ 2 ]

14 голосов
/ 26 апреля 2011

sites / default / files должны быть доступны для записи веб-пользователю или всем пользователям.

все пользователи:

chmod -R a + w пункт назначения / сайты / по умолчанию / файлы

или сделайте apache (или кем бы ни был ваш веб-пользователь) владельцем

chown -R apache: назначение apache / sites / default / files

Примечание: 755 и 777 устанавливают все как исполняемые. 777 работало бы, это просто не правильно. Разрешение на выполнение необходимо для каталогов, но файлы, как правило, не должны быть исполняемыми, если они не должны быть.

Лично я предпочитаю сделать apache владельцем каталога files и всего содержимого внутри, потому что именно так все и происходит, когда Drupal пишет файлы.

0 голосов
/ 25 июля 2016

Возможно, вам нужно запустить restorecon в каталоге, например:

restorecon -rv default/
...