[РЕШЕНО] Помогите с настройкой локалки на Linux mint под drupal

12 ноября 2013 в 21:30

Доброе время суток всем!

Предыстория...Поставил на минт стандартную связку apache+php+mysql+phpmyadmin. Практически со всеми настройками справиться самостоятельно удалось. Друпал установился нормально и даже работает! Но есть одна ложка дёгтя,которая портит весь мёд. Имеется ошибка "Updating modules and themes requires FTP access to your server" ,следовательно я не могу закачивать темы,модули,а также пользоваться ими. Нашёл темы на этом форуме с похожими проблемами,НО конкретно под мою ситуацию они не подходят.Также очень долго искал ответ в интернете,но не нашел. Подозреваю,что проблема с установкой прав. Вот и сами вопросы:

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

Буду рад любым толковым ответам.Всё ,что будет необходимо,я постараюсь пояснить!!!

Комментарии

странно. юзаю минт, всякое вылазило. но такого ни разу не было.
где у тя сайт лежит? Файлы сайта заливал под каким юзером?

12 ноября 2013 в 21:40

alex_shut wrote:
странно. юзаю минт, всякое вылазило. но такого ни разу не было.
где у тя сайт лежит? Файлы сайта заливал под каким юзером?

Сайт лежит стандартно (/var/www/). Файлы заливал под рутом.

12 ноября 2013 в 22:11

попробуй финт ушами - в файлах настройки апача, где указан путь к сайту, укажи директорию в папке юзера своего. и под простым юзером залей файло сайта.
что то типа /home/vasya/sayto/www

12 ноября 2013 в 22:24

"alex_shut" wrote:
драш круто конечно, но как по мне - не для начинающего

время как известно деньги , а драш сэкономит в итоге порядочно времени

12 ноября 2013 в 22:58

"alex_shut" wrote:
попробуй финт ушами - в файлах настройки апача, где указан путь к сайту, укажи директорию в папке юзера своего. и под простым юзером залей файло сайта.

не поможет все равно - нужно давать апачу права дополнительно(делать его собственником ) на некоторые каталоги
или же заюзать apache2-mpm-itk

12 ноября 2013 в 23:02

"alex_shut" wrote:
апач.конфиге он не назначил юзера и группу?

а ты имеешь ввиду поменять стандартного юзера апача на своего?
чтобы этого не делать есть apache2-mpm-itk - он позволяет для каждого хоста назначать юзера

12 ноября 2013 в 23:11

"drupby" wrote:

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

12 ноября 2013 в 23:13

"alex_shut" wrote:
Но для локалки, думаю, проще раз в конфиг вписать и не парится.

ну если юзер один , то конечно проще

12 ноября 2013 в 23:16

http://www.versatilewebsolutions.com/blog/2012/11/installing-apache-2-wi...

P.S.

"F0xshp10n" wrote:
Также очень долго искал ответ в интернете,но не нашел.

ниищи в интернете - там нету нифига))
ищи в консоли:
ls -la корень/друпала
top | grep apaсhe
зри от какого юзера работает сервер - и тебе станет понятно, почему он не пишет в каталоги дру

13 ноября 2013 в 0:33

Файлы залиты от рута. Веб сервер, работающий от www-data, прав на запись не имеет.

Как поступить:
Сменить владельца файлов на не привелигированного пользователя. И заливать впреть под ним. Вообще под рутом не надо делать чего-либо, что можно сделать не под рутом.
Поднять ftp сервер.
В настройках drupal прописать соответствуюий сервер, логин.

Не надо давать права на запись пользователю, под которым запущен веб сервер куда-либо кроме sites/*/files/ - не надо привыкать к плохому.
Естественно не надо ставить 777 на папки и файлы.

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

13 ноября 2013 в 3:47

"bsyomov" wrote:
а именно, когда надо изолировать разные сайты, запуская обработку скриптов от разных пользователей.

ну он бы в данном случае помог , если бы файлы отchownить на пользователя и для хоста прописать того же пользователя
"bsyomov" wrote:
Поднять ftp сервер.
В настройках drupal прописать соответствуюий сервер, логин.
Не надо давать права на запись пользователю, под которым запущен веб сервер куда-либо кроме sites/*/files/ - не надо привыкать к плохому.

и зачем ему на локальном сервере ftp ? да и по поводу прав на локалке я бы так категорично не рассуждал ,просто надо иметь ввиду как оно должно быть
некоторые делают собственником каталога /sites пользователя апача (хотя здесь https://drupal.org/node/244924 и здесь прописано как должно быть)
многие я смотрю запускают сервер от своего пользователя и не печалятся и не только на локалках , но и я видел такие настройки на vps некоторых

ps по поводу запуска сервера от юзера пишет кстати klausi здесь

13 ноября 2013 в 4:49

"drupby" wrote:
и зачем ему на локальном сервере ftp ?

Настраивается элементарно, и позволяет просто решить проблему, не делая лишних допущений.

"drupby" wrote:
да и по поводу прав на локалке я бы так категорично не рассуждал ,просто надо иметь ввиду как оно должно быть
некоторые делают собственником каталога /sites пользователя апача (хотя здесь https://drupal.org/node/244924 и здесь прописано как должно быть)
многие я смотрю запускают сервер от своего пользователя и не печалятся и не только на локалках , но и я видел такие настройки на vps некоторых

Миллион лемингов не может ошибаться? Smile
Так делают потому, что это кажется проще, и о безопасности не думают просто от слова совсем, а часто просто по незнанию делают, прочитав первый попавшияся howto, не думая, что он написан профаном, или для каких-то конкретных условий.

Собственно весь мой спитч был к тому, что надо привыкать делать нормально. Это потом очень поможет. И на локалке тоже, чтобы понять, как это делать, и какие могут быть проблемы.

ITK для решения данной проблемы не нужен от слова совсем, потому, что нет более одного сайта с разными пользователями, и если уж надо, чтобы апач работал от другого пользователя это можно сделать без ITK, указав от кого работать апачу в конфиге. Собственно это как раз примерно то, что описано у klausi. Но так делать не надо. Как и сотни других, этот howto показывает упрощённый и некорректный подход, хотя и будет работать. И после их прочтения, и тупого выполнения, и получаются странные конфиги в продакшене потом.

15 ноября 2013 в 15:49

Спасибо всем,кто откликнулся и написал свои способы решения проблем!
Вот решение,которое мне помогло:(надеюсь,всем у кого будет такая-же проблема это поможет!)

1.Перенёс папку www из /var/ в /home/username/ (Естественно ,уведомил об этом апач)
2.Командой из-под рута "chown -R www-data:username /home/username/www" изменил владельца и группу всех файлов каталога (ну и самого каталога)

Всё работает замечательно.Ещё раз,всем спасибо(=

PS ftp на всякий случай поднял))

15 ноября 2013 в 16:58

"F0xshp10n" wrote:
chown -R www-data:username /home/username/www

Напрасно. В крайнем случае, надо было наоборот- username:www-data и дать дать g+w, куда надо писать веб серверу.

15 ноября 2013 в 20:10