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

Аватар пользователя F0xshp10n F0xshp10n 12 ноября 2013 в 21:30

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

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

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

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

Комментарии

Аватар пользователя alex_shut alex_shut 12 ноября 2013 в 21:40

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

Аватар пользователя F0xshp10n F0xshp10n 12 ноября 2013 в 22:11

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

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

Аватар пользователя alex_shut alex_shut 12 ноября 2013 в 22:24

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

Аватар пользователя drupby drupby 12 ноября 2013 в 22:58

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

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

Аватар пользователя drupby drupby 12 ноября 2013 в 23:02

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

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

Аватар пользователя drupby drupby 12 ноября 2013 в 23:11

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

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

Аватар пользователя alex_shut alex_shut 12 ноября 2013 в 23:13

"drupby" wrote:

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

Аватар пользователя drupby drupby 12 ноября 2013 в 23:16

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

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

Аватар пользователя multpix multpix 13 ноября 2013 в 0:33

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

P.S.

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

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

Аватар пользователя drupby drupby 13 ноября 2013 в 0:55

"multpix" wrote:
ls -la корень/друпала

в убунтупроизводных дистрибутивах обычно есть такое
alias ll='ls -alF'

Аватар пользователя bsyomov bsyomov 13 ноября 2013 в 3:47

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

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

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

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

Аватар пользователя drupby drupby 13 ноября 2013 в 4:49

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

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

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

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

Аватар пользователя bsyomov bsyomov 15 ноября 2013 в 15:49

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

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

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

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

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

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

Аватар пользователя F0xshp10n F0xshp10n 15 ноября 2013 в 16:58

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

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

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

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

Аватар пользователя bsyomov bsyomov 15 ноября 2013 в 20:10

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

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