Не секрет, что CMS Drupal при своей впечатляющей функциональности, надёжности и универсальности является довольно сложной системой, которая заставляет разработчиков изрядно «потеть» при создании проектов на её основе. Даже администрирование уже готовых проектов Drupal требует хороших подготовки и опыта. Также Drupal не отличается «дружелюбием». Поскольку не предоставляет пользователю комфортного инструментария «из коробки» для обслуживания системы. Не говоря уже о разработке. Именно поэтому появилась Drush – утилита, которая выводит работу с Drupal на совершенно новый, более «продвинутый» уровень. Она позволяет пользователям при работе с CMS выполнять самые сложные и рутинные задачи буквально за считанные секунды. Избавляя при этом от необходимости держать в голове большой объём информации и сосредоточиться на главных задачах.
Зачем устанавливать Drush?
Поскольку CMS Drupal довольно популярная система для разработки сайтов и других веб-приложений самой разной направленности. То для хостинг-провайдеров важно предоставлять пользователям весь сопутствующий инструментарий. Администраторы и сотрудники техподдержки хостинга также должны разбираться в специфических вопросах, касающихся организации сайтов на Drupal. В частности вопросам по установке и работе с утилитой Drush. Среди клиентов, обращающихся в службы поддержки хостинг-провайдеров очень много тех, кому необходима помощь с Drush. Да и сами администраторы часто используют эту утилиту для удобства и экономии времени в целях организации и настройки инфраструктуры, необходимой для использования веб-приложений на основе Drupal. Ведь пользователи-клиенты хостинга чаще всего используют в своей панели управления именно кнопку «Установить Drupal». Не подозревая, что при этом будет задействована утилита Drush. Которая и сделает всю работу по установке.
Особенности использования Drush для разный версий CMS Drupal
На данный момент разработчиками поддерживаются две версии CMS Drupal – 7 и 8. Рекомендуется для каждой из версий использовать и соответствующие версии утилиты Drush. Например для Drupal 7 актуальной является Drush 8.x. Она же использовалась и для Drupal 8.3.x. Однако, для обслуживания и управления Drupal более старших версий (8.3+) очень рекомендуется использовать уже Drush версии 9.x. Это связано с различиями в архитектуре систем разных версий Drupal, которые по техническим причинам отражаются и в архитектуре самой утилиты Drush. В данной статье будет рассмотрен пример установки Drush 8 для Drupal 7, поскольку это проще для понимания. Установка Drush 9 для Drupal 8 несколько отличается.
Что для этого нужно?
Для установки всех версий Drush необходим Composer – пакетный менеджер для проектов на PHP. Он автоматически отслеживает, загружает и устанавливает зависимости для требуемых проектов. А Drush – это PHP-проект.
Естественно, необходим также и установленный в системе интерпретатор PHP с базовыми расширениями, в частности php-cli.
В общем случае установка Drush включает следующие этапы:
- установка Composer;
- установить пакета Drush;
- установка всех необходимых зависимостей для Drush с помощью Composer;
- настройка переменных окружения для запуска Composer и Drush, если это необходимо.
Последний пункт используется в случаях, когда производится локальная (для отдельных пользователей), а не общесистемная установка.
Установка Drush
В данном примере будет рассмотрена установка утилиты Drush для пользователя john. Например, этот пользователь для своей учётной записи на некоем веб-хостинге решил установить Drush для обслуживания своих сайтов на Drupal.
Composer — загрузка и установка
Для начала нужно скачать утилиту Composer:
$ wget https://getcomposer.org/download/1.8.4/composer.phar
Далее, для установки нужно скопировать/переместить загруженный файл composer.phar куда-нибудь, где хранятся локальные исполняемые файлы для домашнего каталога пользователя john, например в ~/bin:
$ mv composer ~/bin/composer
Как видно, от расширения *.phar уже можно избавиться — это не принципиально. Также нужно позаботиться о предоставлении права на запуск для пользователя-владельца файла composer:
$ chmod u+x ~/bin/composer
На этом, собственно, установка Composer завершена. Теперь необходимо обеспечить (для удобства) выполнение утилиты из любого места в домашнем каталоге пользователя. Для этого нужно установить пользовательскую переменную окружения PATH для Composer, отредактировав файл ~/.bashrc добавлением в него строку:
export PATH =”$HOME/bin:$PATH”
После перезапуска сеанса пользователя можно выполнять команду composer.
Drush – загрузка и установка зависимостей
Теперь нужно загрузить с официального сайта проекта пакет (архив) самой утилиты Drush:
$ wget https://github.com/drush-ops/drush/archive/8.x.zip
Загруженный архив можно распаковать также в ~/bin:
$ unzip 8.x.zip -d ~/bin $ ls ~/bin composer drush-8.x
Теперь осталось с помощью команды composer install в каталоге с только что установленным проектом Drush (~/bin/drush-8.x) установить все зависимые пакеты для Drush:
$ composer install
Далее, для возможности запуска команды drush необходимо (по аналогии с composer) установить соответствующую переменную окружения — главный исполняемый сценарий, реализующий команду drush находится в ~/bin/drush-8.x/. Это файл drush. Соответствующая строка, которую для этого нужно добавить в файл ~/.bashrc:
export PATH =”$HOME/bin/drush-8.x/:$PATH”
Теперь после перезапуска сеанса пользователя нужно убедиться, что всё работает:
$ drush status PHP exetuble : /usr/bin/php PHP configuration : /etc/php/7.2/cli/php.ini PHP OS : Linux Drush script : /home/john/bin/drush-8.x/drush.php Drush version : 8.2.1-dev Drush configuration : Drush alias files :
На этом установка Drush 8 для Drupal 7 завершена. В следующей статье описано как работать с этой утилитой
Заключение
В заключение нужно отметить, что всё проделанное в совокупности совсем не сложно, но в результате пользователь получает мощный инструмент, благодаря которому впоследствии сэкономит огромное количество времени.
$ composer install -выдает ошибку could not find a composer.json file
Что с этим делать?