Ошибка при установке модуля c помощью composer

Аватар пользователя Joseph Joseph 6 ноября 2021 в 3:32

Установил 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?

Лучший ответ

Аватар пользователя ivnish ivnish 6 ноября 2021 в 7:05
1

1. Нет, не достаточно. Владельцем ВСЕХ файлов должен быть вебсервер
2. Нет, конечно

Комментарии

Аватар пользователя ivnish ivnish 6 ноября 2021 в 7:05
1

1. Нет, не достаточно. Владельцем ВСЕХ файлов должен быть вебсервер
2. Нет, конечно

Аватар пользователя bsyomov bsyomov 6 ноября 2021 в 11:20
1

1. Вообще, это не так. Это может быть и другой пользователь, а веб сервер должен иметь возможность читать, везде и писать в */files. Но и запускать композер надо тогда от этого пользователя. Просто когда это один пользователь, удобнее зачастую.
2. А вот тут всё правильно. От рута работать, конечно, не надо, только править какой-нибудь системный конфиг/ставить софт.

Аватар пользователя ivnish ivnish 6 ноября 2021 в 11:51

1. Я знаю, но новичкам проще сделать владельцем веб-сервер, чем объяснять про права доступа Smile

Аватар пользователя bsyomov bsyomov 8 ноября 2021 в 21:57

Это первая же концепция, которую надо усвоить, если вообще как-то пересекаться с *nix. И уж точно до того, как что-то делать на собственной vps/сервере.