Установил drupal 9 сайт в ubuntu, в папку /var/www/html.
При установке модуля admin toolbar через composer:
composer require drupal/admin_toolbar
Получаю ошибку:
./composer.json is not writable.
Наверное ошибка происходит из-за того, что владелец данного файла root. И все папки и файлы моего друпал сайта также принадлежат root кроме папки files и файла settings.php - они приндалежат www-data.
У меня есть такие вопросы:
1. Достаточно ли будет изменить только для файла composer.json владельца с root на www-data? Или еще для каких-то файлов или папок нужно сменить владельца на www-data чтобы не было в дальнейшем ошибок с правами?
2. И вообще это нормально, что весь проект принадлежит root?
Комментарии
1. Нет, не достаточно. Владельцем ВСЕХ файлов должен быть вебсервер
2. Нет, конечно
1. Вообще, это не так. Это может быть и другой пользователь, а веб сервер должен иметь возможность читать, везде и писать в */files. Но и запускать композер надо тогда от этого пользователя. Просто когда это один пользователь, удобнее зачастую.
2. А вот тут всё правильно. От рута работать, конечно, не надо, только править какой-нибудь системный конфиг/ставить софт.
1. Я знаю, но новичкам проще сделать владельцем веб-сервер, чем объяснять про права доступа
Это первая же концепция, которую надо усвоить, если вообще как-то пересекаться с *nix. И уж точно до того, как что-то делать на собственной vps/сервере.
https://drupal.ru/docs/chastye-voprosy/pravilnye-prava-na-fayly-i-katalogi
Вот ещё по теме