Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Drush la navaja suiza de drupal
1. Drush
la navaja suiza
de Drupal
Javier Gómez @jgomez2
http://codigoweb.org
Alicante, 26 de Junio de 2013
2. Sobre mí
• Javier Gómez
• Desarrollador web Freelance desde 2010
• Miembro de la Asociación Española de Drupal
http://asociaciondrupal.es
He colaborado en la organización de las DrupalCamp Spain 2011 y 2012
• Miembro fundador de la comunidad Drupal de Alicante
creada en Octubre de 2011, con reuniones mensuales en CAMON
http://groups.drupal.org/alicante
• Actualmente realizo proyectos en Drupal combinando
Sitebuilding y Theming
• Podeis encontrarme en:
twitter.com/fjgomez2 es.linkedin.com/in/codigoweb www.codigoweb.org
3. • Drupal Shell
• No es un modulo
• Es una colección de scripts que nos
permiten realizar tareas de drupal desde la
línea de comandos del servidor.
Que es Drush
4. Por que utilizar drush?
• Realizar tareas de administración más rápido que a
través de la interfaz web
• Empaquetar en scripts tareas comunes.
• Drush sabe en qué sitio se está trabajando.
• Drush sabe qué versión de Drupal se está utilizando.
• Se reduce el tiempo de realizar tareas administrativas.
• Se pueden automatizar instalaciones, configuraciones,
etc.
5. Instalación de drush
• Ubuntu/Debian
sudo apt-get install drush
• Windows
http://drush.ws/drush_windows_installer
• Mac/otros Linux
https://drupal.org/node/1791676
6. Sintaxix del comando
• Un comando drush siempre va precedido por la palabra drush
drush help
• Algunos comandos llevan argumentos que se especifican siempre
detras del comando
drush download views
• Existen versiones reducidas para la mayoria de comandos
drush dl views = drush download views
• Se pueden agrupar varios argumentos en un comando
drush dl views ds context descarga los módulo especificados
7. Sintaxis (continuación)
• Las opciones cambian el comportamiento de los comandos.
• Van precedidas de doble guión (--) en su versión larga y de guión
simple (-) en la versión simplificada
• Pueden situarse antes o después de los argumentos
drush en --yes views drush en views –y
Habilitamos el modulo wievs contestando yes a las preguntas
• Se pueden concatenar varios comandos indicando && entre ellos
drush dl views && drush en views –y
Para ver las opciones comunes a todos los comandos
drush topic core-global-options
8. Comandos frecuentes4ª Parte: PERSONAS
• drush dl <modulo> (download)
• drush en <modulo> (enable)
• drush dis <modulo> (disable)
• drush pm-list –no-core
• drush up
• drush updatedb
• drush cc all (clear-cache)
• drush cron
• drush st (status)
• drush ard
• drush help
• drush help <comando>
Descarga un modulo
Habilita el modulo especificado
Deshabilita el modulo especificado
Listado de módulos
Actualización completa del sitio
Actualización de la Base de Datos
Limpia todas las caches
Ejecuta el cron
Muestra el estado de drupal
Realiza un respaldo completo (bd y files)
Ayuda de drush
Ayuda de un comando
9. Instalando drupal
• Situados en el directorio www o equivalente descargamos drupal
drush dl --drupal-project-rename=midrupal7 drupal
Este comando nos descargará la ultima version estable de drupal la dejará
lista para instalar en www/midrupal7
• Podemos comprobar el estado con drush st
• A continuación instalaremos drupal con el comando site-install
drush site-install --db-url=mysql://usuario:clave@localhost:3306/bdmidrupal --site-
name="Mi drupal con Drush" standard
• Si volvemos a comprobar el estado veremos que hay cambios
10. Configurando drupal
• Podemos cambiar el usuario y la contraseña
drush upwd admin --password=drupal
• Con los comandos vget, vset y vdel podemos ver, modificar y
borrar variables de nuestro sitio
drush vget
Nos muestra todas las variables
drush vset site_mail micorreo@codigoweb.org
Cambiamos el email del sitio
• Descargamos, instalamos y habilitamos (o desabilitamos) los
módulos que queramos con drush dl en o dis
drush dis toolbar
drush dl views && drush en´-y views
11. Drush make
• drush make nos permite mediante un script con extension .mak personalizar la
descarga de drupal, así como módulos, temas o librerias con opciones muy
interesantes
• La sintaxis es igual que siempre
drush make ../instalacion.make
drush make --no-core /var/www/superfish.make
• Ejemplo de fichero .make
core = 7.x
api = 2
projects[superfish][subdir] = "contrib"
libraries[superfish][download][type]= "get"
libraries[superfish][download][url] = "http://dl.dropbox.com/u/22795799/superfish-library-for-drupal-v1.1.zip"
libraries[superfish][directory_name] = "superfish"
libraries[superfish][destination] = "libraries"
12. Otros usos de drush
• Sincronizar bases de datos
drush sql-sync @dev.myweb @local.myweb --no-cache
• Sincronizar carpetas
drush rsync @dev.myweb:%files @local.myweb:%files --mode=arvuz
• Ejecutar scripts php
drush php-script script.php
• Backup de la base de datos
drush -v sql-dump --result-file=/ruta/backup-drupal-db.sql
13. Ampliacion de drush
• Hay módulos y temas de drupal que añaden funcionalidades extras a drush
• Un par de ejemplos:
http://drupal.org/project/adaptivetheme
drush adaptivetheme “Mi tema" mi_tema
Crea un subtema de adaptivetheme
http://drupal.org/project/devel
drush generate-content 10 5 --types=blog_post,page
Generación de contenido con el módulo devel_generate