Drupal и VPS

Главные вкладки

Аватар пользователя Bezlepkin Bezlepkin 27 января 2013 в 11:34

Привет! Подскажите кто знает! Поставил drupal 6 на VPS (Centos).
Drupal ругается на то что у него нет прав на запись некоторых папок, стоит как обычно 755.
Когда ставишь 777 все нормально.
Я так понимаю надо какого то пользователя в системе сделать?

Комментарии

Аватар пользователя orb orb 27 января 2013 в 12:10

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

Аватар пользователя WadimKo51 WadimKo51 27 января 2013 в 12:18

Пользователь там уже создан, называется WWW-DATA, от его имени работает движок на PHP. Попробуйте поставить права 775
Про права написано в Википедии ru.wikipedia.org/wiki/Chmod
Вы когда файлы записываете по FTP или если распаковываете через МС заксчанный файл, вы это делайте не под пользователем root. Создайте какого-нибудь пользователя, например WWW от его имени ходите по FTP через консоль и распаковывайте файлы.

Вообще не представляю как на VPS, там наверное это ставиться через панель, или что-то в этом роде, но вообще-то под пользователем любым нужно выложить установочный архив по FTP, распаковать через MC это файловый менеджер для текстового режима через консоль.

А права по идее так и надо. Иначе пользователи не смогут там на сервер загрузить картинки, не будет создаваться кэш, и так далее. Только после установки поменяйте права на файл настроек на 640.

может ко-то более правильно ответит
А вообще по Гуглу на этом же сайте находиться
drupal.ru/node/73645
drupal.ru/node/18019

Вам правильно написали, что лучше выполнять скрипты и запускать приложение от того же пользователя который выкладывал файлы. В идеале это должен быть WWW-Data или как настроете Апач.

Думаю глупость мог написать, более умные напишут точно. Но суть примерно такая же.

Аватар пользователя MainVisor MainVisor 27 января 2013 в 12:38

чтобы апач запускался от webmaster в файле envvars изменил два параметра:
export APACHE_RUN_USER=webmaster
export APACHE_RUN_GROUP=webmaster

Или второй вариант

чтобы Drupal при инсталяции сам создавал files & settings.php нужно установить:
apt-get install apache2-mpm-itk
и прописать в конфигурацию apache:
AssignUserID webmaster webmaster
Теперь права на директории и группы на директории друпала менять не придется.

Аватар пользователя EvgenySorokin EvgenySorokin 27 января 2013 в 15:18

А я обычно ставлю панельку ispmanager и не парюсь с такими проблемами :).

Ну если не гуру линукса - так не лезьте туда, ставьте панельку, она сама настроит все (ну может не совсем все, но такое элементарное точно).
Сначала кулибины лезут сами сервер настраивать, а потом жалуются, что "меня взломали", и оказывается что апач имел доступ куда надо и куда не надо (а папки других юзеров).

Аватар пользователя bsyomov bsyomov 27 января 2013 в 19:28

Bezlepkin wrote:
Привет! Подскажите кто знает! Поставил drupal 6 на VPS (Centos).
Drupal ругается на то что у него нет прав на запись некоторых папок, стоит как обычно 755.
Когда ставишь 777 все нормально.
Я так понимаю надо какого то пользователя в системе сделать?

То, что надо сделать, зависит от того, что вы в итоге хотите получить и "работающий друпал", в данном случае не ответ.
Можно, например, создать пользователя с группой www-data, и заливать файлы им. Можно добавить пользователя www-data в группу пользователя, под которым вы планируете работать (надеюсь, что это не root). При этих вариантах на site/default/files надо будет выставить права g+w.

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

А вообще, не стоит браться за настройку сервера, без необходимых для этого знаний, особенно если это продакшен проект, а не ваша песочница, и вы не учитесь системному администрированию. Иначе получится у вас не сервер, а нечто глюкавое медленное и дырявое.

Лучше обратитесь к сисадмину. Или используйте шаред хостинг хороший, особенно, если вы выбрали VPS из-за того, что кто-то сказал вам, что это быстрее, что зачастую рекламное враньё...

По поводу же панелей - они не настраивают сервер до годного состояния, а автоматизируют _некоторые_ процессы, и создают иллюзию, что всё хорошо, и всё работает. На самом же деле, есть ещё масса всего, что нужно настраивать на сервере...

Аватар пользователя Bezlepkin Bezlepkin 27 января 2013 в 20:21

Это как раз моя песочница Smile
Файлы как раз заливал из под root (я так понимаю это грубая ошибка!?).
Друпал то работающий. Просто хочу понять сам принцип. Apache запускается от какого то имени, но файлы заливал через root, то есть у apache нет прав к некоторым папкам, ну а если я создал другого пользователя то как apache получит доступ на запись в некоторых папках?
Нужно ли сохранять права на папки которые были изначально при инсталляции?

Аватар пользователя bsyomov bsyomov 27 января 2013 в 21:19

Ну раз песочница, и хочется поучиться, стоит начать с изучения OC.
Например почитать какую-нибудь книжку из разряда "Администрирование Debian GNU/Linux"
Вот по этой, например, ссылочке: http://debian-handbook.info/browse/stable/ есть полезная книжка, которую можно скачать или почитать онлайн.

Естественно, заливать сайт под root не слишком правильно. Вообще работать под root не стоит...
Надо создать пользователя и работать под ним, только при необходимости выполняя комманды (например перезапуск сллужб и.т.п. из под root, например, используя sudo.

Apache в Debian запускается от пользователя www-data с группой www-data.
Как можно сделать так, чтобы у пользователя www-data были права на запись в определённые папки, я уже выше писал.

"Bezlepkin" wrote:
Нужно ли сохранять права на папки которые были изначально при инсталляции?

Надо понимать, что означают те или иные права. Что такое владелец и группа. Тогда вопрос отпадёт сам. Вообще, это должен любой веб разработчик знать.

Аватар пользователя MainVisor MainVisor 1 февраля 2013 в 13:42

У вас уровень начальный, я бы вам советовал обычный хостинг или, на крайний случай, панель управления. В общем пишите в кличку, помогу.

Аватар пользователя bsyomov bsyomov 31 января 2013 в 22:41

"Bezlepkin" wrote:

А сколько стоит настроить vps?

Если это был вопрос ко мне, то 2000-3000р. Но учиться всё равно надо - сервер мало настроить, его ещё надо администрироать.

Аватар пользователя Bezlepkin Bezlepkin 2 февраля 2013 в 0:29

Заказал хостинг, сайт гораздо быстрее грузится Smile Ну это понятно, надо настраивать VPS. Но эту идею воплощу чуть позже.
И вашими услугами воспользуюсь!