От какого пользователя должен работать php-fpm в связке с nginx?
Пулы пока не требуются. По дефолту стоит user=php-fpm, group=php-fpm. Видел ставят user=nginx, group=nginx? Так от какого он должен работать? Видел еще вариант объединяют всех пользователей в группу www-data... Вопрос наверно пустяковый потому нигде нет инфы определенной, но хотелось бы понимания.
от пользователя, которому принадлежит сайт. не php-fpm и не nginx. Если сайт находится в /var/www/username/site.com то php-fpm должен быть настроен на /var/www/username с правами username, сервер nginx с правами www-data
это нужно чтобы запереть пользователя только в его директории и не иметь возможность лезть в чужие папки.
/var/www/username устанавливается с пользователем/группой username:www-data и правами 0760. так пхп от пользователя не может ходить в чужие папки, а www-data не управляем кодом пользователя и не может причинить вред, но ходить должен.
А что если сайт никому не принадлежит из пользователей? Мой webroot /var/www. И как понимать фразу "сервер nginx с правами www-data", что за права такие www-data?
Я как раз этого момента не понимаю, раньше был у меня сервер с апач, там webroot был /var/www/data/nikolay/www (николай - пользователь). А сейчас я накатил чистый centos7 и у меня не было даже /var/www, я ее создал от root вручную. Я должен был как-то иначе это сделать чтобы сайт принадлежал какому-то пользователю? Может есть что почитать на эту тему?
Правильно ли я Вас понял, что я должен создать группу www-data, в нее запихнуть своего пользователя под которым будут сайты, а также в нее запихнуть пользователя nginx?
То есть nginx'у гулять по системе не запрещено...Он ведь ничего вредоносного исполнить не может...И у него инклуды к примеру есть, которые лежат в /etc/nginx/conf.d/
gto6120: не. создайте пользователя nikolay. для него папку /var/www/nikolay/data
создайте пользователя (или не создавайте. это не важно, тогда оставьте того, под которым nginx работает. но если у вас nginx+apache тогда обязательно есть и должен быть) www-data.
chown nikokay:www-data -R /var/www/nikolay
chmod -R 0760 /var/www/nikolay
ну и создайте конфиг для php-fpm для пользователя nikolay с рутом в /var/www/nikolay/data. всё
romy4: Апача нет. Так получается: 'chown user:user -R /var/www/user' ? Но при этом возникает вопрос, а nginx'a откуда права возьмутся на доступ к /var/www/user/example.com ? Как ему их дать? К группе user присоединить пользователя nginx?
Кажется понял. Мне нужно создать пользователя www-data и от него будет работать nginx. И еще одного вроде nikolay, от него уже будет работать php-fpm и он будет владельцем webroot.
Но по идее я мог бы оставить пользователя nginx вместо www-data и тогда просто команда была бы ' 'chown nikolay:nginx -R /var/www/nikolay'. Вы вроде бы об этом и говорили.
Почему так? Ведь пользователь nginx в группе nginx по умолчанию и значит в первом случае у него тоже должен был быть доступ к /var/www/nikolay, а его нет
Тьфу ты я все понял .... Это я затупил, это сам файл nginx.conf по root, правильно так и должно быть, чтобы его только root мог изменять. А я писал: 'nginx.conf --- user: nginx;' имея ввиду содержимое файла, настройку, которая внутри файла задается