Установка и запуск Composer на уже установленном Drupal на веб-хостинге

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

Аватар пользователя ivkoles23 ivkoles23 16 октября 2023 в 15:27

Добрый день. На Drupal разрабатывал сайты несколько лет назад, работал и с 6 версией, и с 7. Сейчас внедряю интересный проект, для Drupal 9/10 - самое оно.
Но вот столкнулся с какой проблемой - с composer'ом не работал вообще. Да и вообще через консоль не работал, все модули устанавливал ручками.
В сети не нашел ни одной толковой инструкции, как же установить composer на уже работающий сайт, не на локалку. Везде какие-то обрывочные сведения...
Ткните носом, пжл, здесь на форуме, может была уже тема.

Комментарии

Аватар пользователя pselfin pselfin 16 октября 2023 в 15:39

Так, а вопрос в чем в итоге?

Про сам композер и как установить https://getcomposer.org/doc/00-intro.md, либо на многих хостингах он уже есть сразу
Про композер с друпалом - https://www.drupal.org/docs/develop/using-composer

ivkoles23 wrote: вообще через консоль не работал

Ну тут какие-то уроки по линуксу наверное посмотреть стартовые, по администрированию серверов...
В целом, ничего сложного особо нет для базовых навыков

Аватар пользователя ivkoles23 ivkoles23 17 октября 2023 в 15:14

Вопрос был в том, как запустить композер на уже хостинге.

В тоге разобрался сам, отовсюду понемногу.
Получилось так:
1. Скачал приложение Putty для Windows, установил его
2. На своем хостинге узнал IP для SSH, логин и пароль
3. Запустил Putty, подключился по SSH к своему хостингу.
4. На своем хостинге уточнил версию php - оказалась 8.2
5. Перешел в папку для установки композера и drupal:
cd domains/mysite.ru
6. Для установки композера последовательно в Putty запустил следующие команды:
а) php8.2 -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
б) php8.2 -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
в) php8.2 composer-setup.php
г) php8.2 -r "unlink('composer-setup.php');"

А вот дальше есть проблема:
Если я устанавливаю drupal командой - php8.2 composer.phar create-project /recommended-project drupal - то тогда по умолчанию ставится drupal 10, но на нем не работают несколько модулей, в частности, очень важный для меня User Points.
Очевидно, нужна версия 9, но на странице релизов https://www.drupal.org/project/drupal/releases - все версии 9 небезопасны...
И еще одна проблема, что drupal устанавливается в папку web, то есть стартовая страница сайта получается mysite.ru/web - как это изменить, не могу понять.

Аватар пользователя jura12 jura12 17 октября 2023 в 15:32

1. 9ка до ноября 23года. пока еще можно ставить.. проблема устаревших модулей связана с плохой монетизацией их в друпал.
2. папку web трогать не надо. надо создать символическую ссылку на нее с вашим именем. я это делаю программой mc. но можно так ln -s source softlink .

есчо. поставьте drush. composer require drush/drush
есчо2. я пользуюсь вместе с путтю "C:\Program Files\PuTTY\pageant.exe" C:\Users\user\.ssh\keys.ppk . очень удобно и профессионально. входишь без пароля по ключу.

Аватар пользователя pselfin pselfin 17 октября 2023 в 16:16

1. https://www.drupal.org/docs/develop/using-composer/manage-dependencies

Note that the above command will download the current official release of Drupal. If you want a different version, add the version number to the command after a colon. For example, to download version 9.3.12:


composer create-project drupal/recommended-project:9.3.12 my_site_name

All releases can be found at https://www.drupal.org/project/drupal/releases. For the latest 9.3 version, use drupal/recommended-project:^9.3 in the above command, or drupal/recommended-project:^9 for latest Drupal 9 version.

2. https://drupal.stackexchange.com/questions/315085/run-composer-installed...
но вообще да, безопаснее в web/, симлинк иногда помогает, иногда настройки на вашем хостинге.

ЗЫ с почином в консоли, для вас откроются новые грани друпала) Как вы в д7 без драша жили, прям не завидую.

Аватар пользователя ivkoles23 ivkoles23 18 октября 2023 в 15:54

У меня на хостинге вот такая структура:
domains/mysite - и в эту папку я хочу установить Drupal.
Вопросы:
1. В какую папку следует ставить composer - в domains или в mysite?
2. Для установки drupal в папку mysite в какой папке я должен находится в композере? И нужно ли на конце команды прописывать название папки mysite - "composer create-project drupal/recommended-project:9.3.12 mysite"?
3. И зачем Drupal при установке создает папку recommended-project и устанавливается в нее. Как это убрать?

Аватар пользователя pselfin pselfin 18 октября 2023 в 17:41

1. Ну видимо в домайнс, можно в пользовательскую домашнюю, можно глобально. Как хотите. Настройте в .bashrc алиас, и вызывайте откуда угодно.
2. в папке майсайт
3. Я вам выше ссылку давал, там ответ как сделать чтобы ставилось туда, где вы находитесь

Аватар пользователя ivkoles23 ivkoles23 19 октября 2023 в 13:57

Большое спасибо за помощь.
Но вот это - "Настройте в .bashrc алиас, и вызывайте откуда угодно."
Где его настраивать, чем запускать...

Аватар пользователя pselfin pselfin 20 октября 2023 в 15:56

ошибся, в .bash_profile . Он создается в домашней директории пользователя. Более подробно нагуглите, не суть.
Можно записать туда что то вроде

alias composer='/opt/php71/bin/php /home/username/composer.phar'
alias drush='/opt/php71/bin/php ~/.config/composer/vendor/drush/drush/drush.php'

то есть прописали путь и вызываете свой композер командой
composer
оттуда, куда вы его установили.

Аватар пользователя jura12 jura12 16 октября 2023 в 18:29

я работаю 2мя файлами. showforupdate.sh :

composer update -W --dry-run
read -n1 -r -p "Press any key to continue..." key

и performupdate.sh:

vendor/bin/drush state:set system.maintenance_mode 1 --input-format=integer
composer update -W
vendor/bin/drush updb
vendor/bin/drush cache:rebuild
vendor/bin/drush state:set system.maintenance_mode 0 --input-format=integer
read -n1 -r -p "Press any key to continue..." key
Аватар пользователя VasyOK VasyOK 16 октября 2023 в 19:09

Главный вопрос: где вы хотите Друпал ставить?
На ВДС можно установить и композер и много чего еще, но это требует навыков админирования. Посоветовать однозначно подходящий шаред хостинг - я сегодня не могу.

Аватар пользователя gun_dose gun_dose 17 октября 2023 в 23:19

У вас в заголовке друпал уже установлен, а потом выясняется, что вы его всё-таки пытаетесь установить. Может быть, для начала надо разобраться, что вам нужно?