Алиасы Drush
При работе с утилитой Drush нужно вводить команды, находясь в папке Drupal. Это не критично, если у вас на сервере есть только один сайт Drupal. Но вы никак не обойдетесь без алиасов, если нужно управлять сразу несколькими сайтами.
Алиасы Drush – это простые наборы настроек, позволяющие ссылаться на сайты Drupal из любого каталога файловой системы сервера при помощи сокращений в формате @blog.local. Но чтобы использовать такое сокращение, нужно настроить соответствующий алиас сайта. Для этого в папке .drush, которая находится в домашней директории пользователя, создайте файл blog.aliases.drushrc.php со следующим кодом между тегами php:
$aliases['local'] = array(
//Путь к папке сайта (здесь Denver установлен в папке WebServers на диске I, введите ваш путь до папки Drupal)
'root' => 'I:/WebServers/home/example.loc/www',
//Домен сайта
'uri' => 'example.loc',
);
Здесь
blog – имя, по которому определяется принадлежность алиасов к конкретному сайту (укажите любое слово), если у вас только один сайт - можно обойтись без этого имени,
local - название алиаса.
Примечание. Домашнюю директорию можно узнать, если выполнить в командной строке Windows команду:
set homepath
Итак, алиас готов к использованию. Чтобы протестировать его, откройте любой каталог и запустите:
drush @blog.local status
На экране должна появиться информация о состоянии сайта, на который вы только что сослались. Это сокращение можно использовать также и с другими командами.
Ниже приведен пример алиасов, которые используются далее при синхронизации рабочего сайта на хостинге и локального сайта.
Между открывающим и закрывающим тегами php введите такой код:
//Рабочий сайт на хостинге (везде введите ваши значения!)
$aliases['hos'] = array(
//Путь к папке сайта
'root' => '/home/username/example.ru',
//Домен сайта
'uri' => 'example.ru',
// Сервер сайта (введите ваше значение)
'remote-host' => '88.212.212.88',
// Пользователь для подключения по ssh
'remote-user' => 'username',
//Параметры подключения к базе данных
'db-url' => 'mysql://db_user:password@localhost/db_name',
'path-aliases' => array(
'%dump' => '/tmp/devexample.sql',
//путь к папке с файлами
'%files' => '/home/username/example.ru/sites/default/files',
),
);
//Сайт для разработки (здесь Denver установлен в папке WebServers на диске I, у вас будут другие значения)
$aliases['loc'] = array(
//Путь к папке сайта
'root' => 'I:/WebServers/home/example.loc/www',
//Домен сайта
'uri' => 'example.loc',
// Пользователь для подключения по ssh
'remote-user' => 'root',
'ssh-options' => '-T',
//параметры подключения к базе данных, введите имя базы данных; обратите внимание - пароль отсутствует!
'db-url' => 'mysql://root:@localhost/db_name',
'path-aliases' => array(
'%dump' => '/tmp/example.sql',
//путь к папке с файлами
'%files' => 'I:/WebServers/home/example.loc/www/sites/default/files',
),
);
Примеры применения алиасов:
drush core-rsync @blog.loc @blog.hos - синхронизация файлов (с локального сайта на рабочий),
drush sql-sync @blog.loc @blog.hos - синхронизация БД (с локального сайта на рабочий),
drush @blog.loc up views - обновление модуля,
drush @blog.loc up drupal - обновление ядра.