Права доступа к /sites/default/files

Аватар пользователя y-vo y-vo 19 июля в 11:06

Приветствую. Возможно кто то хорошо разбирается в серверах. Устанавливаю D7 на VDS, все вроде бы работает, однако при установке жалуется на то что нет прав на запись /sites/default/files, пробовал установить и 700 и 755 и 775, не пропускает, только 777 позволило установить.
После установки поменял на 700, при этих правах не позволяет загружать медиа файлы. Только при 775 загружаются. Может кто то в курсе что именно мешает серверу? Может быть что то дополнительно в апаче надо настраивать или еще где то.

0 Thanks

Лучший ответ

Аватар пользователя ivnish ivnish 19 июля в 18:38
1

Нужно вернуть в /etc/apache2/envvars как было www-data и у всех файлов и каталогов назначить владельцем www-data

Вам рассказать, почему нельзя веб-сервер от имени рута запускать или сами догадаетесь? :)

Комментарии

Аватар пользователя y-vo y-vo 19 июля в 11:43

Дело в том, что например на том же timeweb у меня это работает с 700 правами на папку.

Аватар пользователя ivnish ivnish 19 июля в 11:45
1

Смотрите кто владелец файлов и от какого имени работает веб-сервер. Вангую, что это разные пользователи

Аватар пользователя y-vo y-vo 19 июля в 18:38

Спасибо, похоже на то, покопался, нашел что запись о том от имени какого пользователя запускается сервер находится тут /etc/apache2/envvars, там прописан www-data, владельцем папок является root, изменил в файле пользователя на root, перезапустил сервер, но сайт вообще перестал открываться) Поменял обратно, вбиваю адрес, и скрипт почему то пытается открыть install.php, удалил его, не помогает. Хотя сайт уже установлен.
UPD: поменял права /sites/default/settings.php на 755, запустился сайт. Но вот почему он не запускался если сервер запускать из под рута не пойму. Или надо еще что то где то изменить?

Аватар пользователя ivnish ivnish 19 июля в 18:38
1

Нужно вернуть в /etc/apache2/envvars как было www-data и у всех файлов и каталогов назначить владельцем www-data

Вам рассказать, почему нельзя веб-сервер от имени рута запускать или сами догадаетесь? :)

Аватар пользователя y-vo y-vo 19 июля в 18:40

Сам наверное не догадаюсь, у меня с этим туго) но попробую что то нарыть) Спасибо, сейчас попробую.

Аватар пользователя Semantics Semantics 19 июля в 11:35
1

Вашему серверу мешает то, что он так настроен.
Скорее всего, веб-сервер и пользователь с которого вы размещаете файлы - объединены общей группой, это всё что их объединяет

Аватар пользователя y-vo y-vo 19 июля в 11:42

А от какого пользователя вообще в этом случае производятся действия? Если я пытаюсь из админки загрузить в поле field_imageзагрузить изображение. Не от рута?

Аватар пользователя ivnish ivnish 19 июля в 18:41
1

Если файл грузится из админки, то он будет загружен от имени вебсервера, т.е. www-data

Если вы смените сейчас права как надо и в будущем не будете работать с ними от имени рута, то проблем с этим у вас больше не будет

Аватар пользователя y-vo y-vo 19 июля в 18:48

Да, поменял, все заработало) Большое спасибо) Долго бился с этим вопросом, никак не мог понять как это работает.

Аватар пользователя Nikit Nikit 20 июля в 3:53
1

>> нет прав на запись /sites/default/files
дайте owner-а от apache или nginx, всей папке друпала.