Установка DRUSH на виртуальный хостинг TimeWeb

Не буду расписывать как утилита drush облегчает жизнь друпалеру, об этом вы и сами знаете.

Но вот на виртуальных хостингах он присутствует только на специализированных.  А как быть, если вы используете что-то иное? Мы в своей практике рекомендуем клиентам пользоваться услугами хостинга timeweb.com - стабильная работа, недорогие тарифы, сервера в РФ, возможность оплаты по безналичному расчету. В общем, весьма приятный вариант. Далее я расскажу как достаточно быстро настроить драш на  примере этого хостинга.

Установка Composer

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

Итак инструкция - http://timeweb.com/ru/help/pages/viewpage.action?pageId=8781936

1. Подключитесь к серверу по SSH и скачайте дистрибутив с официального сайта:

wget https://getcomposer.org/composer.phar

2. Добавьте alias для упрощенного запуска в файл .bash_profile (.bashrc - можно, но необязательно) - этих файлов по умолчанию нет, просто создайте их в домашней директории (в примере PHP 5.6; может быть использована другая версия):

alias composer='/opt/php7.0/bin/php -d memory_limit=500M /home/u/user/composer.phar'

(u и user - первая буква Вашего логина и Ваш логин). Команда pwd поможет вам узнать букву и логин. Так же вместо php56 можно использовать php7.0 (/opt/php7.0/bin/php)

Либо работаем от домашней папки

alias composer='/opt/php7.0/bin/php -d memory_limit=500M ~/composer.phar'

3. Перезапустите соединение по SSH (или выполните команду source .bash_profile) и проверьте работу Composer:

composer -V

Если показалось что-то вроде

$ composer -V
Composer version 1.5-dev (2c03dab4c38caa498e87fe3300360497ce1bb381) 2017-04-10 16:47:30

то все ОК, мы готовы ставить drush!

Установка Drush 

Официальная инструкция  - http://docs.drush.org/en/master/install/

Собственно следуем пунктам.

1. Качаем свежий драш

composer global require drush/drush

В результате в домашней директории появится папка .config/composer/vendor

2. Прописываем алиасы по аналогии с композером  .bash_profile (.bashrc) следующими строками

alias drush='/opt/php7.0/bin/php -d memory_limit=500M ~/vendor/bin/drush.php'

и перезапускаем SSH-соединение.

3. Проверяем все ли верно получилось:

$ drush --version
Drush Version   :  8.1.10

Супер! Продолжаем работать ;)

UPD.

Если все же драш не заработал и начинает ругаться на версию PHP примерно так:

The external command could not be executed due to an application     [error]
error.
The command could not be executed successfully (returned: PHP Parse  [error] error:  syntax error, unexpected '[' in /home/c/user_name/vendor/drush/drush/includes/preflight.inc on line 341, code: 255) pm-updatestatus failed.

То вам должно помочь следующее: укажите в файлах .bash_profile и .bashrc в первой строке версию PHP для работы Drush:

export DRUSH_PHP='/opt/php7.0/bin/php'

UPD2. Теперь DRUSH_PHP не работает. Необходимо прописать пути примерно так:

PATH="/opt/php70/bin:$PATH:~/.config/composer/vendor/bin"

Обратите внимание на путь /opt/php70/bin - он прописан до директории, а не самого исполняемого файла.

Огромная благодарность за помощь в решении вопроса Никите Малышеву и weitzman (https://github.com/drush-ops/drush/issues/2826 )

Итоговый .bash_profile будет выглядеть примерно так:

PATH="/opt/php70/bin:$PATH:~/.config/composer/vendor/bin"
alias composer='/opt/php70/bin/php -d memory_limit=500M ~/composer.phar'
alias drush='/opt/php70/bin/php ~/.config/composer/vendor/drush/drush/drush.php'

 

ЗЫ соответственно версия должна использоваться одинаковая. Пути смотрите на своем хостинге, в примере - timeweb.

URD3.

Справка на Таймвебе по композеру https://timeweb.com/ru/docs/virtualnyj-hosting/prilozheniya-i-frejmvorki/ispolzovanie-composer/

 

Теги

Комментарии

ср, 03/29/2023 - 14:51

ln [-sf] [source] [destination]
  • По умолчанию команда ln создает hard link (жесткая ссылка).
  • Используйте параметр -s, чтобы создать символическую ссылку, она же soft link.
  • Параметр -f заставит команду перезаписать уже существующий файл.
  • Source - это файл или каталог, на который делается ссылка.
  • Destination - это место для сохранения ссылки - если это поле не заполнено, символическая ссылка сохраняется в текущем рабочем каталоге.
ln -s web/ public_html

 

Добавить комментарий