об установке composer

Главные вкладки

Аватар пользователя cornet cornet 2 октября 2020 в 11:40

Здравствуйте.
Установил drupal-9.0.6 с https://www.drupal.org/download, теперь возникла нужда установить composer.
В сети не нашел чёткого ответа на вопросы:
1. в чём разница двух способов установке composer: "в папку проекта" или "в систему", напр., командой apt install composer.
2. где находится "папка проекта" ? это папка /var/www/html/drupal или папка /var/www/html ?

Помогите установить смысл этих фраз.

Комментарии

Аватар пользователя VVS VVS 2 октября 2020 в 11:42

0. Drupal лучше устанавливать с помощью composer
1. В том, что его обновлять придётся во всех проектах.
2. Скорее /var/www/html/drupal

Аватар пользователя Punk_UnDeaD Punk_UnDeaD 2 октября 2020 в 11:43

1 разница в том, что композер в папке проекта будет именно той версии, которую скачали
а в системе - той, которую в систему поставили
и в папке проекта будете вызывать через composer.phar файл

2 там, где файл composer.json

0 друпал правильно ставить компосером после установки композера и вообще щас модно докер

Аватар пользователя cornet cornet 2 октября 2020 в 14:55

спасибо, понятно.
вот, интересно, про установку с пом. composer.
Я всегда считал, что установка без посредников, т.е. в данном случае, без composer, более настраиваемая, и пр. Но, похоже, для установки drupal следует использовать composer.

Аватар пользователя cornet cornet 2 октября 2020 в 18:01

по установке composer:
проверка php
php -v
PHP 7.4.10 (cli) (built: Sep 9 2020 06:54:34) ( NTS )
затем выполнил установку coposer по https://getcomposer.org/download/
в произвольном каталоге
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
– появился файл composer-setup.php

php -r "if (hash_file('sha384', 'composer-setup.php') === '795f976fe0ebd8b75f26a6dd68f78fd3453ce79f32ecb33e7fd087d39bfeb978342fb73ac986cd4f54edd0dc902601dc') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

-- появилось сообщение Installer verified

php composer-setup.php --install-dir=/usr/local/bin --filename=composer
– установка в папку /usr/local/bin с общедоступным именем filename=composer
– появилось сообщение
All settings correct for using Composer
Downloading...
Composer (version 1.10.13) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

php -r "unlink('composer-setup.php');"
---
итого: оказалось, что composer не папка с файлами, а один исполняемый файл

/usr/local/bin# composer -V
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Composer version 1.10.13 2020-09-09 11:46:34

следуя подсказке, сменил владельца
chown www-data:www-data composer
далее придётся ставить drupal

Аватар пользователя bsyomov bsyomov 2 октября 2020 в 19:18

cornet wrote: следуя подсказке, сменил владельца
chown www-data:www-data composer
далее придётся ставить drupal

Вы не верно поняли подсказку. Ошибка не во владельце файла, а в том, что запускался он от root.
Владельца менять было не нужно. Нужно было работать под другим пользователем.
Под root надо только менять настройки сервера. Все работы с сайтом должны производиться от непривилегированного пользователя и это предупреждение попытка помочь не выстрелить себе в ногу. Smile

Аватар пользователя cornet cornet 2 октября 2020 в 22:41

drupal запустился по рекомендациям
https://www.drupal.org/docs/develop/using-composer/using-composer-to-ins...

выполнил
composer create-project drupal/recommended-project my_site_name_dir

со значением my_site_name_dir = /usr/share/drupal

моя ошибка была в том, что запустил composer под root и потому при следующих шагах от обычного user получил проблемы с доступом.

затем, после настройки virtualHost, браузер запустил "обычную" установку drupal через index.php

получилось, и спасибо за помощь

Аватар пользователя karmike karmike 15 апреля 2021 в 21:11

bsyomov wrote: Все работы с сайтом должны производиться от непривилегированного пользователя

Но sudo должно быть у этого пользователя? А то ж Линух ничего не позволит ему делать ...

Аватар пользователя bsyomov bsyomov 15 апреля 2021 в 22:24

А ему совсем не обязательно что-то такое делать. Ну и если давать sudo, то только с паролем. А вообще вполне можно и не давать, если это продакшен.