Как писал ранее, на собеседовании мне задали некое тестовое задание.
Я с ним не справился, поэтому прошу сообщество помочь мне устранить пробелы в знаниях.
Вот один момент мне не совсем ясен.
Задание по настройке площадки для работы сайта site.ru:
Необходимо настроить связку Nginx+Apache2+PHP+MySQL для работы сайта(site.ru).
На сервере подготовить площадку под сайт и развернуть в рамках неё CMS WordPress
тут еще некие несущественные моменты по проксированию запросов...
Настроить минимально необходимые для работы Nginx и Apache права на площадку для сайта.
Задание по настройке площадки для работы сайта site-2.ru:
Необходимо настроить связку Nginx+Apache2+PHP для работы сайта(site-2.ru).
Сайт должен работать от пользователя site-2.ru
Установить на площадке любой файл менеджер на PHP. Загрузить/удалить с его помощью несколько файлов внутрь сайта(статических(картинки) и динамических файлов(например phpinfo)).
Проверить корректность доступа к загруженным файлам.
Собственно, все достаточно просто и разжевано 1000 раз на куче сайтов.
Заинтересовал меня один вопрос - Настроить минимально необходимые для работы Nginx и Apache права на площадку для сайтов.
Дать права дело не хитрое, но являются ли они минимально необходимыми?
Я сделал 755 для папок и 644 для файлов, владелец site.ru - www-data:www-data, сайта site-2.ru - пользователь site-2.ru и группа site-2.ru, пользователь www-data входит в группу site-2.ru. Apache и nginx запущены от www-data.
По хорошему у тебя апачь должен запускаться от этого юзера а не в одной и той же группе www-data.
ЭТо сделано именно для того чтоб действительно разделить права. а так же можно будет смотреть в top кто и где ест процесс.
В идиале вообще должно быть так
apache 1 web1:client1 644 755
apache 2 web2: client2 644 755
и так далее
и тут есть небольшие сложности, когда апачь работает как FastCGI тут все понятно
и когда работает nginx+phpfpm -кстати это рекомендованный вариант
А вот когад apache и чистый mod_apache - то тут разграничить и группы и юзеров без костылей не получится.