1. Начало
  2. Уеб сайт
  3. Уеб приложения
  4. Drupal
  5. Drush – Управление на Drupal през SSH

Drush – Управление на Drupal през SSH

Drush

Drush е много удобен инструмент за управление и администриране на Drupal от конзола през SSH.

Drush дава голямо удобство за бързо и лесно управление на Drupal – може да се ползва за автоматично обновяване на системите, плъгините и модулите, без да се ползва уеб браузър.

Drush се поддържа на всички сървъри за споделен хостинг. За да се ползва, е необходимо да се конфигурира в хостинг акаунта.

Тъй като инструментът може да се ползва през конзола ще е необходимо за хостинг акаунта да бъде активиран SSH достъп.

Drush v.6.x изисква PHP версия минимум 5.3.0 и работи с Drupal версии 6 и 7.

Drush v.8.x изисква PHP версия минимум 5.4.5 и работи с Drupal версии 6, 7 и 8.

Важно: За да се инсталират успешно Composer и Drush 8 пакетите е нужна PHP версия 5.4.5+. Ако сървърът използва по-ниска версия през CLI (проверка с php -v), то ще е нужно да зададете използването на друга PHP версия. Във файла .bash_profile е нужно да са налични редовете, например за PHP 5.5:

export DRUSH_PHP=’/opt/cpanel/ea-php55/root/usr/bin/php’
export PATH=/opt/cpanel/ea-php55/root/usr/bin:$PATH
export PATH=/home/cpuser/drush-dir:$PATH

Drush v.9.x изисква PHP версия минимум 5.6.0 и работи с Drupal версии 8.4+. В Drush 9.x са премахнати командите archive-dump, archive-restore (опицията за бекъп).

1. Сваляне на пакета със системни файлове на Drush

За да инсталирате Drush в хостинг акаунта, свалете пакета с желаната версия: https://github.com/drush-ops/drush/releases.

Можете да качите архивния файл директно в хостинг акаунта, през FTP или Файловия мениджър (например в основната директория /home/cpuser/).

Разархивиране на пакета на Drush в cPanel

Архивът може да се разархивира през контролния панел cPanel » File Manager – стигате до директорията, в която е качен архива, маркирате го (1) и избирате от менюто Разархивиране / Extract (2):

(3) След разархивирането ще се появи нова директория drush-9.x.x, в която ще се намират системните файлове на drush. Преименувайте директорията drush-9.x.x на drush. Ако сте създали предварително директория /home/cpaneluser/drush и сте разархивирали архива там, пътя до приложението ще бъде: /home/cpaneluser/drush/drush.

Пакетът може да се разархивира и през конзола, след като сте логнати през SSH и се намирате в директорията на архива, с команда:

unzip drush-9.x.x.zip

2. Настройка за изпълнение на Drush

След като Drush вече се намира в хостинг акаунта, можете да обновите и свалите всички PHP зависимости към него. Достъпете през конзолата директорията със системните файлове на Drush (/home/cpuser/drush) и изпълнете командата:

php -r „readfile(‘https://getcomposer.org/installer’);“ | php

Това ще инсталира Composer, мениджъра за PHP зависимости. След това стартирайте:

php composer.phar install

Тази команда ще провери и инсталира всички описани зависимости към Drush във файла composer.json

За да може системата в хостинг акаунта да разпознава командата drush, независимо в коя директория се намирате, добавете следния ред във файла /home/cpaneluser/.bash_profile:

export PATH=/home/cpaneluser/път-до-drush-директорията:$PATH

път-до-drush-директорията: заменете с реалния път до директорията на drush;

Ако в този файл вече имате подобен ред, добавете към него само пътя за drush, например:

export PATH=/home/cpaneluser/directory/bin:/home/cpaneluser/път-до-drush-директорията:$PATH

Ако сте логнати през SSH в хостинг акаунта, за да влезе в сила тази настройка или се разлогнете и логнете наново или изпълнете следната команда:

source ~/.bash_profile

Така ще се презареди файла .bash_profile и новите настройки добавени в него ще са в сила. Настройките в този файл се зареждат всеки път при достъп до хостинг акаунта през SSH.

Можете да направите проверка като попитате системата дали намира drush:

which drush

Инсталиране и работа с Drush

3. Работа с Drush и няколко полезни команди

При работа с Drush и стартиране на командите е необходимо да се намирате в основната директория на дадената Drupal инсталация.

Drush командите можете да изпълнявате и в различна директория от тази на инсталирания Drupal, но ще е необходимо да добавите няколко допълнителни параметъра към командата.

Например, за да направите бекъп на Drupal (само за Drush версии преди 9.x), без да сте достъпили директорията му, командата ще изглежда по следния начин:

drush archive-dump -r /home/cpaneluser/public_html/drupal

Независимо от коя директория в хостинг акаунта изпълните тази команда, Drush ще извърши бекъп на Drupal инсталацията, която се намира в директория /home/cpaneluser/public_html/drupal. Когато желаете да посочите определена Drupal инсталация може да ползвате -r /home/cpaneluser/път-до-директорията-на-Drupal.

Към drush можете да зададете различни опции, като:

-r [път-до-директорията на Drupal инсталацията]
-l [URI адреса на Drupal сайт]
-v показва допълнителна информация при изпълнението на командата
-q няма да покаже никаква информация

Настройка Drush да ползва различна версия на PHP

Drush версия 6.0.x изисква минимална версия на PHP 5.3.0.

Drush версия 8.0.x изисква минимална версия на PHP 5.4.5.

Drush версия 9.0.x изисква минимална версия на PHP 5.6.0.

Например, за да зададете PHP версия 5.5, добавете следните редове във файл /home/cpaneluser/.bash_profile:

export PATH=/opt/cpanel/ea-php55/root/usr/bin:$PATH
export DRUSH_PHP=’/opt/cpanel/ea-php55/root/usr/bin/php’

ако Drush се намира в определена директория, добавете и реда:

export PATH=/home/cpuser/drush-dir:$PATH

/cpuser/drush-dir – променете с пътя до и името на директорията, в която се намира Drush;

и презаредете файла .bash_profile:

source ~/.bash_profile

Настройка Drush да ползва различен php.ini файл

В директорията на Drush създайте файл с име drush.ini. Drush автоматично ще засече и ползва този ini файл.

След това изпълнете следната команда:

alias drush=’php -c /home/cpaneluser/drush/drush/drush.ini /home/cpaneluser/drush/drush/drush.php’

/home/cpaneluser/drush/drush – попълнете пътя до директорията на Drush;

Можете да видите кой ini файл и коя версия на PHP се ползва от Drush с:

drush status

Бекъп (за Drush версии преди 9.x)

С Drush версии преди 9.x можете да генерирате архив на Drupal, който включва файловете и базата данни, само с една команда.

Важно: Командата archive-dump е премахната и не е налична в Drush версии след 9.x. Поради това в Drush 9.x и следващи версии, не е възможно да се създава и възстановява бекъп, с използване на посочената команда.

Изпълнете, след като се намирате в съответната директория:

drush archive-dump default

Ако искате само определени сайтове да бъдат архивирани:

drush archive-dump default,example.com,foo.com

Бекъпите ще се генерират в основната директория на хостинг акаунта /home/cpaneluser/drush-backups/archive-dump/…

Ако искате бекъпа да се генерира в определена директория в акаунта може да зададете командата с опция:

drush archive-dump default –destination=./backups/mysite.tar

Тази команда ще генерира бекъп в поддиректория backups в същата директория, от която е стартирана командата, например: /home/cpaneluser/public_html/drupal/backups.

За да възстановите вече създаден бекъп, може да ползвате следната команда:

drush archive-restore

Възстановяване на всички сайтове в архива:

drush archive-restore ./mysite.tar.gz

Възстановяване на файлове и база данни за сайта mysite.com:

drush archive-restore ./mysite.tar.gz mysite.com

Възстановяване на бекъпа в определена директория:

drush archive-restore ./mysite.tar.gz –destination=/home/cpaneluser/mysite.com

Изчистване на кешираната информация в Drupal

Изчистване на кешираната информация може да се извърши с командата:

drush cc

Изчистване на кеша с Drush

при което ще може да изберете кой кеш да изчистите или всичко (all)

За още интересни и полезни команди посетете следния сайт: https://drushcommands.com


Статията се отнася за: споделен хостинг с контролен панел cPanel
Обновена: 18.03.2022
Беше ли Ви полезна тази статия?

Вижте още