Вы здесь

drush

Уставнока drush на хостинг

- Установить composer глобально
https://getcomposer.org/doc/00-intro.md#globally

Под рутом (sudo su)

mkdir -p /usr/local/bin/composer
cd /usr/local/bin
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer

-Устанвка drush

Под рутом (sudo su)

mkdir -p /usr/local/bin/drush
cd /usr/local/bin/drush
composer drush/drush
nano ~/.bashrc
Добавить строку
alias drush="/usr/local/bin/drush/vendor/drush/drush/drush"

Для работы с drush с сайтом под пользоватлем от которого запускается сайт

cd [mySiteDir]
drush --version

Если drush не виден

nano ~/.bashrc
Добавить строку
alias drush="/usr/local/bin/drush/vendor/drush/drush/drush"
. ~/.bashrc

CentOS Vesta panel drush

drush установлен в /usr/local/bin/drush/vendor/drush/drush/drush
- Заходим на VPS от пользователя Vesta
- Добавляем аlias в bashrc

nano ~/.bashrc

+ alias drush=/usr/local/bin/drush/vendor/drush/drush/drush
- Перегружаем настройки

. ~/.bashrc

- Можно переходить в папку сайта и работать с drush

drush --version

Drupal drush commands

Drupal + Drush. Часто используемые команды.

Загрузка и установка сайта
Загрузка последней стабильной версии Drupal

drush dl

Предварительный выбор версии

drush dl --select

Установка сайта со стандартным профилем

drush site-install standard --db-url='mysql://[db_user]:[db_pass]@localhost/[db_name]' --site-name=Example

Полезные опции
--account-name=admin
--account-pass=password
--clean-url
--account-mail

Загрузка модуля (в папку sites/all/modules)

drush dl modulename

Активация модуля

drush en modulename -y

Перевод сайта на русский язык
Загружаем и включаем модуль l10n-update

drush dl l10n_update
drush en l10n_update -y

Загружаем расширение drush для работы с языками

drush dl drush_language

Добавляем, включаем и делаем дефолтным русский язык

drush language-add ru
drush language-enable ru
drush language-default ru

Обновляем список переводов с сервера

drush l10n-update-refresh

Переводим сайт на русский язык

drush l10n-update

Обновление сайта и модулей
Обновление всего сайта

drush up

Обновление только ядра

drush up drupal

Обновление указанного модуля

drush up modulename

Обновление всех модулей сайта, без ядра

drush up --no-core

Обновление только тех модулей и ядра, где есть обновление безопасности

drush up --security-only

Бэкап сайта
Бекап файлов и базы данных в архив

drush archive-dump --destination=site_backup.tar.gz

Восстановление файлов и базы данных из бекапа

drush archive-restore site_backup.tar.gz

Полезные опции
--exclude=sites/default/files
--no-core
--overwrite

Бекап базы данных

drush sql-dump

Импорт базы данных из бекапа

drush sql-cli

Команды на все случаи
Очистка кэша

drush cc all

Запуск крона

drush cron

Создание нового юзера

drush user-create user1 --mail="mail@mail.ru" --password="pass"

Даём юзеру user1 роль role1

drush user-add-role role1 user1

Смена пароля у user1

drush upwd --password="newpass" user1

Удаление юзера вместе с контентом

drush user-cancel username --delete-content

Включение режима обслуживания (0 - выключение)

drush vset maintenance_mode 1

Синхронизация сайта
Синхронизация базы данных с удаленного сервера на локальный.

drush sql-sync @prod @local

Полезные опции:
--create-db
--tables-list
--skip-tables-key

Синхронизация файлов с удаленного сервера на локальный.

drush rsync @prod @local

Полезные опции:
--exclude-files

@prod @local - это алиасы сайта. Прописываются тут - ~/.drush/aliases.drushrc.php

<?php
$aliases
['local'] = array(
 
'root' => '/path/to/drupal/root',
 
'uri'  => 'yoursite.localhost',
  );
$aliases['prod'] = array (
'uri' => 'yoursite.com',
'root' => '/path/to/drupal/root',
'remote-user' => 'ssh-user',
'remote-host' => 'ssh-host',
);
?>

Обновление модуля до определённой версии.

drush dl module_name --select
drush updb

Ubuntu установка Drupal8 c drush

- Если нет composer

apt-get install composer

- Если нет drush устанавливаем последнюю версию drush

mkdir --parent /usr/local/bin/drush
cd /usr/local/bin/drush
composer require drush/drush
alias drush=/usr/local/bin/drush/vendor/drush/drush/drush

- Переходим в папку проекта

cd [project_path]

- Скачиваем Drupal-8

drush dl drupal-8 --drupal-project-rename=[end_path]

- Переходим в рабочую папку

cd [end_path]

- Собираем нужные vendor

composer install

- Создаем начальный settings

cp sites/default/default.settings.php sites/default/settings.php

- Выставляем права

chmod 777 sites/default/settings.php

- Устанавливаем Drupal

drush si standard --account-name=[uid1_name] --account-pass=[uid1_pass] --db-url=mysql://[db_user]:[db_pass]@127.0.0.1/[db_name] --site-name=[site_name]

- Если надо использовать php например из lampp

nano ~/.bashrc

+ export DRUSH_PHP='/opt/lampp/lib/php'
- использовать drush из под sudo

Подписка на drush