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, выполнив команды поочерёдно:
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 установлен и настроен для удобного использования.
Комментарии
Мне почему-то кажется, есть ненулевая вероятность, что эта инструкция будет работать не везде
И да, у многих может возникнуть вопрос: как установить SSH на хостинг?
На виртуальном хостинге нет прав на установку пакетов, типа ssh. Если его там нет, то либо включить в настройках нужно (в целях безопасности он там выключен бывает), либо бежать с этого хостинга.
Хостингов без SSH не бывает.
Да ладно.
Ждём тему "Как установить композер на виндоус-хостинг"
А вообще, на том же рег.ру даже на плане Host-0 есть ssh.
- как установить Composer в среде MS Windows?
- возьмите MS Composer...
Я бы еще добавил, что перед тем как ставить composer неплохо бы убедиться, что его нет На некоторых хостингах он может уже быть установлен централизованно.
добавил
А ещё на некоторых хостингах он преподносится как фича.
Спасибо большое вам VVS !
А как этот процесс делается на чем запускать ?
Имеете ввиду там где файлы сайта будут ?
В ручную нужно создавать этот каталог или вы имеете ввиду когда код будет выполнен ?
Понимаю что может туплю ))
Просто никогда подобное не делал и боюсь натворить че то.
Вы не рефлексируйте, просто следуйте инструкции. Человек старался, составлял, а Вы даже не попробовали и сидите до сих пор без composer-а.
Все действие разворачивается в домашнем каталоге пользователя, в который попадаете, выполнив команду
cd ~
, само-собой, после соединения с сервером по протоколу sshКоманды выполняются/запускаются в терминале (консоли), который у Вас безусловно есть.
Команды инструкции лучше не переписывать вручную, а копировать с помощью мышки либо сочетания клавиш.
Лучшее "спасибо" - это если Вы по инструкции установите себе composer на сервер.
Спасибо за пощечину ))
Не нужно даже фильм мотивирующий смотреть
По ходу я поневоле стану программистом лет через 5 из за Друпала .
Все это, конечно, так, все верно, но зачем Володька усы сбрил?
Зачем проверку контрольной суммы удалили? Чем установочный скрипт не понравился?
cd ~
nano inst
Копируем
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 в консоли не совпадает с версией на сайте, то исправляем примерно так.
С ума сойти оказалось что композер легче установить чем перейти с друпа7 на backdrop
При такой установке, когда переход командой
cd ~
и потом установка в корневой каталог файлы composer будет закачивать тоже в этот каталог.
Однако сайт расположен ведь не в корневом каталоге хостинга.
composer нужно устанавливать туда, где и файлы сайта лежат. Например в public_html
Совсем не нужно его устанавливать внутри webroot. Как раз лучше выше где-то в домашней папке пользователя. Возможно в ~/bin или в ~/.local/bin как в примере выше, например. Но в папке с сайтом-то зачем?