Приветствую. Возможно кто то хорошо разбирается в серверах. Устанавливаю D7 на VDS, все вроде бы работает, однако при установке жалуется на то что нет прав на запись /sites/default/files, пробовал установить и 700 и 755 и 775, не пропускает, только 777 позволило установить.
После установки поменял на 700, при этих правах не позволяет загружать медиа файлы. Только при 775 загружаются. Может кто то в курсе что именно мешает серверу? Может быть что то дополнительно в апаче надо настраивать или еще где то.
Права доступа к /sites/default/files
Главные вкладки
Лучший ответ
1
Нужно вернуть в /etc/apache2/envvars как было www-data и у всех файлов и каталогов назначить владельцем www-data
Вам рассказать, почему нельзя веб-сервер от имени рута запускать или сами догадаетесь?
Комментарии
обычно, только на эту директорию права должны быть 770 или 777
https://www.drupal.org/docs/7/install/setting-up-the-files-directory
Дело в том, что например на том же timeweb у меня это работает с 700 правами на папку.
Смотрите кто владелец файлов и от какого имени работает веб-сервер. Вангую, что это разные пользователи
Спасибо, похоже на то, покопался, нашел что запись о том от имени какого пользователя запускается сервер находится тут
/etc/apache2/envvars
, там прописанwww-data
, владельцем папок является root, изменил в файле пользователя на root, перезапустил сервер, но сайт вообще перестал открываться) Поменял обратно, вбиваю адрес, и скрипт почему то пытается открыть install.php, удалил его, не помогает. Хотя сайт уже установлен.UPD: поменял права /sites/default/settings.php на 755, запустился сайт. Но вот почему он не запускался если сервер запускать из под рута не пойму. Или надо еще что то где то изменить?
Нужно вернуть в /etc/apache2/envvars как было www-data и у всех файлов и каталогов назначить владельцем www-data
Вам рассказать, почему нельзя веб-сервер от имени рута запускать или сами догадаетесь?
Сам наверное не догадаюсь, у меня с этим туго) но попробую что то нарыть) Спасибо, сейчас попробую.
Вашему серверу мешает то, что он так настроен.
Скорее всего, веб-сервер и пользователь с которого вы размещаете файлы - объединены общей группой, это всё что их объединяет
А от какого пользователя вообще в этом случае производятся действия? Если я пытаюсь из админки загрузить в поле field_imageзагрузить изображение. Не от рута?
Если файл грузится из админки, то он будет загружен от имени вебсервера, т.е. www-data
Если вы смените сейчас права как надо и в будущем не будете работать с ними от имени рута, то проблем с этим у вас больше не будет
Да, поменял, все заработало) Большое спасибо) Долго бился с этим вопросом, никак не мог понять как это работает.
>> нет прав на запись /sites/default/files
дайте owner-а от apache или nginx, всей папке друпала.