Установка composer на виртуальном хостинге

VVS 14 февраля в 12:47
4

1. Для установки composer необходимо подключиться к хостингу по ssh-протоколу. Сделать в windows это можно, например, через наиболее популярный ssh-клиент putty, в linux можно сразу в терминале:
ssh user@hostname.tld.

2. После успешного подключения к хостингу по ssh, необходимо убедиться, что composer не установлен, запустив команду:
composer или composer.phar
и получив ответ:
-bash: composer: command not found
установить composer в свой домашний каталог и сделать файл composer.phar исполняемым. Для этого создаём каталог bin, скачиваем сам composer и перемещаем его в созданный нами каталог bin, выполнив команды поочерёдно:

cd ~
mkdir local/bin
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php --install-dir=local/bin --filename=composer
chmod +x local/bin/composer
php -r "unlink('composer-setup.php');"

Проверить корректность установки composer можно запуском команды, но сначала узнаем путь установки php:
which php
Получим ответ, например /usr/local/bin/php

И затем выполняем:
/usr/local/bin/php ~/local/bin/composer

3. Для удобного использования команды composer необходимо добавить её alias в файл .bashrc, или .zshrc находящийся в домашнем каталоге:
nano ~/.bashrc
И добавить строку, заменив путь установки php на необходимый:
alias composer='/usr/local/bin/php ~/local/bin/composer'

Чтобы alias можно было использовать сразу, выполните команду:
source ~/.bashrc
Для проверки работы alias выполните команду composer -V

На этом composer установлен и настроен для удобного использования.

Автор

VVS Full stack Drupal developer

Комментарии

Аватар пользователя VasyOK VasyOK 14 февраля в 13:10

Мне почему-то кажется, есть ненулевая вероятность, что эта инструкция будет работать не везде Smile
И да, у многих может возникнуть вопрос: как установить SSH на хостинг?

Аватар пользователя VVS VVS 14 февраля в 13:12

На виртуальном хостинге нет прав на установку пакетов, типа ssh. Если его там нет, то либо включить в настройках нужно (в целях безопасности он там выключен бывает), либо бежать с этого хостинга.

Аватар пользователя gun_dose gun_dose 15 февраля в 14:49

Ждём тему "Как установить композер на виндоус-хостинг" Biggrin
А вообще, на том же рег.ру даже на плане Host-0 есть ssh.

Аватар пользователя marassa marassa 14 февраля в 13:20

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

Аватар пользователя Filosofos Filosofos 14 февраля в 21:52

Спасибо большое вам VVS !

запустив команду:

А как этот процесс делается на чем запускать ?

установить composer в свой домашний каталог

Имеете ввиду там где файлы сайта будут ?

Для этого создаём каталог bin

В ручную нужно создавать этот каталог или вы имеете ввиду когда код будет выполнен ?

Понимаю что может туплю ))
Просто никогда подобное не делал и боюсь натворить че то.

Аватар пользователя nzytsprim nzytsprim 15 февраля в 8:29

Вы не рефлексируйте, просто следуйте инструкции. Человек старался, составлял, а Вы даже не попробовали и сидите до сих пор без composer-а.
Все действие разворачивается в домашнем каталоге пользователя, в который попадаете, выполнив команду cd ~, само-собой, после соединения с сервером по протоколу ssh
Команды выполняются/запускаются в терминале (консоли), который у Вас безусловно есть.
Команды инструкции лучше не переписывать вручную, а копировать с помощью мышки либо сочетания клавиш.
Лучшее "спасибо" - это если Вы по инструкции установите себе composer на сервер.

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

Спасибо за пощечину ))
Не нужно даже фильм мотивирующий смотреть Biggrin

По ходу я поневоле стану программистом лет через 5 из за Друпала .

Аватар пользователя nzytsprim nzytsprim 14 февраля в 22:45

Все это, конечно, так, все верно, но зачем Володька усы сбрил? Smile
Зачем проверку контрольной суммы удалили? Чем установочный скрипт не понравился?

cd ~
nano inst
Копируем

#!/bin/sh

EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"

if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]
then
    >&2 echo 'ERROR: Invalid installer checksum'
    rm composer-setup.php
    exit 1
fi

# Создаем каталог для установки composer
mkdir -p ~/.local/bin

# Указываем путь к созданному каталогу и переименовываем composer.phar в composer
php composer-setup.php --install-dir=.local/bin --filename=composer
RESULT=$?

rm composer-setup.php

# Добавляем алиас в ~/.bashrc
echo "alias composer='php .local/bin/composer'" >> ~/.bashrc

exit $RESULT

Сохраняем файл: Ctrl+O, Ctrl+X

Устанавливаем sh inst

Убираем за собой rm inst

Обновляем source ~/.bashrc

Проверяем composer -V

Если версия PHP в консоли не совпадает с версией на сайте, то исправляем примерно так.

Аватар пользователя Filosofos Filosofos 15 февраля в 22:29

С ума сойти оказалось что композер легче установить чем перейти с друпа7 на backdrop Biggrin