administrando drupal en remoto con drush

Drush es una excelente herramienta para administrar Drupal desde la consola. Lo mejor es que desde nuestra consola local podemos administrar Drúpales remotos. No hace falta entrar por SSH.
Primero instalamos drush. Como tiene paquete de PEAR, a mi me gusta instalarlo así. Hacemos

pear channel-discover pear.drush.org
pear install drush/drush

Bajar Drupal e instalarlo desde la consola:
1. Bajamos el código

drush dl drupal

2. Hacemos una instalación estándar

drush si standard --db-url=mysql://admin:admin@localhost/drupal7

3. Si tenemos alguna duda el comando help es nuestro amigo

drush help dl

Para administrar Drúpales remotos podemos teclear:

drush site-alias @self --full

en el directorio local donde tengamos instalado drupal
Esto nos proporciona un código como el siguiente:

$aliases['local'] = array (
'root' => '/var/www/html/dev',
'uri' => 'http://dev.com',
);
?>

Bien, este código lo pegamos en el fichero
~/.drush/aliases.drushrc.php
(si no tenemos el directorio .drush, lo creamos)
A continuación vamos a crear tantos arrays como éste como sitios remotos tengamos, por ejemplo añadimos al fichero otro array tal que

$aliases['remoto'] = array (
'root' => '/var/www/miweb',
'uri' => 'http://mi-super-web.com',
);
?>

Vale, ahora drush se encarga de acceder al sitio «remoto» por medio de SSH por medio de vuestra clave RSA. Si no la tenéis creada, la creáis y después sólo queda añadir vuestra clave para que el servidor remoto deje actuar a drush.
Dejar claro que Drush para operar en remoto utiliza SIEMPRE claves SSH.
Lo normal es bajarse el paquete drush_extras de la web de Drupal y descomprimirlo en ~/.drush Drush_extras nos proporciona el comando pushkey.
Por lo tanto, debemos ejecutar el siguiente comando:

drush pushkey usuario@servidor

En mi caso, utilizo los servicios de la nube de Amazon, por lo que puse en usuario el usuario que normalmente uso para entrar con SSH en el servidor y en la parte del servidor puse el nombre de Host que tengo en
~/.ssh/config
Este comando no retorna nada. Si no os da error, ha funcionado.
A partir de aquí podéis acceder al servidor remoto con drush con la siguiente sintaxis

drush @servidor comando

Pongo a continuación algunos comandos, de los mas usados:

drush @servidor status

muestra el estado de Drupal, da la siguiente salida
drush muestra el estado del drupal en el servidor remoto

drush sql-cli

nos abre una sesión de mysql con el usuario de drupal

drush sql-sync @maquina-desde @maquina-hacia

sincroniza las bases de datos de dos máquinas

drush @servidor vs maintenance_mode 1

para poner el servidor en mantenimiento con drush
«vs» es «variable-set» y «vg», «variable-get»

drush ws

muestra el watchdog de nuestro Drupal, como véis aquí
visualizando el watchdog de drupal con drush
Y ya me he aburrido de poner comandos, pero existen muchos más y muy útiles. Podéis comprobarlo vosotros mismos en la documentación de Drush.

Toda esta información y mucha mas nos fué ofrecida por Manuee en la charla del de la Asociación Drupal Madrid el día 24 de Noviembre de 2011. Si vives en Madrid, las charlas de Drupal Madrid son una excelente forma de aprender y de hacer networking. ¡Aprovecha la oportunidad!

consola
drupal
drush
remoto

Añadir nuevo comentario

Type the characters you see in this picture. Type the characters you see in the picture; if you can't read them, refresh the CAPTCHA or submit the form and a new image will be generated. Not case sensitive.