administrando drupal en remoto con drush
filed in código, PHP, software libre on nov.26, 2011
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 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í

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!

Leave a Reply