Drush: gestionar Drupal por línea de comandos
Ya sabes que Drupal es uno de los gestores de contenidos más potentes y flexibles con los que puedes contar si necesitas crear una web robusta y a tu medida. ¡Lo usan desde desarrolladores hasta empresas de todo el mundo!
Pero esto no implica que, en algunos casos, administrar un sitio Drupal a través de su interfaz pueda resultar un poco tedioso (además de consumirte mucho tiempo), especialmente si estás haciendo tareas repetitivas o complejas.
Aquí es donde entra en juego Drush, la herramienta de línea de comandos diseñada para simplificarte la gestión de Drupal para que puedas completar tareas de mantenimiento, actualización y configuración del CMS de manera más rápida.
Te lo cuento en más detalle 😎
Tabla de contenidos:
¿Qué es Drush?
Drush (Drupal Shell) es la interfaz de línea de comandos de Drupal, desde donde vamos a poder administrar nuestro Drupal usando comandos de consola.
Esto es algo que agiliza mucho el diseño de cualquier web. Si instalar un módulo de forma manual puede llevarnos hasta 5 minutos, con Drush el proceso se reduce a solo unos segundos.
En definitiva, gracias a Drush, puedes interactuar directamente con tu CMS a través de comandos, en lugar de depender únicamente de la interfaz gráfica de Drupal.
¿Quiénes utilizan Drush?
Existen varios perfiles diferentes que pueden aprovechar Drush para agilizar tareas. Estos son los tres más comunes:
- Desarrolladores de Drupal: Gente que trabaja en el desarrollo de nuevas funcionalidades, implementación de nuevos sistemas, creación de código…
- Administradores de sistemas: Todos aquellos que se encargan de la automatización de tareas de mantenimiento como la realización de copias de seguridad, las actualizaciones, la limpieza de caché…
- Usuarios avanzados de Drupal: Personas que, pese a no ser desarrolladores, tienen conocimientos avanzados y se desenvuelven con soltura en entornos técnicos.
Ventajas de utilizar Drush
Drush ofrece una serie de ventajas significativas para desarrolladores y administradores de sitios web. Deja que te explique algunas de ellas:
- Eficiencia en la administración: Con Drush, puedes administrar tu sitio web de manera más rápida y eficiente. Desde la creación de usuarios y la gestión de roles hasta la configuración de permisos, todas estas operaciones pueden realizarse de manera más ágil a través de la línea de comandos en lugar de la interfaz web.
- Automatización de tareas: Drush permite automatizar tareas comunes y repetitivas mediante scripts y comandos personalizados. Esto ahorra tiempo y reduce la posibilidad de errores humanos al ejecutar tareas como la actualización de módulos, la importación/exportación de configuraciones y la limpieza de caché.
- Gestión de configuración: Drush permite exportar e importar la configuración del sitio, lo que es esencial en el desarrollo y despliegue de sitios Drupal. Esto garantiza que las configuraciones sean coherentes entre los entornos de desarrollo, pruebas y producción.
- Actualizaciones simplificadas: Actualizar módulos y temas en Drupal puede ser un proceso delicado. Drush facilita este proceso al permitirte actualizar varios módulos a la vez con un solo comando, minimizando los riesgos asociados con las actualizaciones y manteniendo el sitio seguro y actualizado.
- Gestión de bases de datos: Con Drush, puedes realizar copias de seguridad y restaurar bases de datos de manera rápida y sencilla. Esta funcionalidad es valiosa para la recuperación ante desastres y para crear entornos de prueba y desarrollo a partir de dichas copias.
- Interacción con servidores remotos: Drush permite administrar sitios web Drupal en servidores remotos mediante SSH, lo que es especialmente útil cuando se trabaja con múltiples sitios distribuidos en diferentes servidores.
Instalación de Drush
Para poder realizar la instalación de la consola de Drupal es necesario cumplir los siguientes requisitos previos:
1. Debes tener activado SSH en tu hosting. Si aún no lo tienes habilitado, contacta con el equipo de soporte de tu proveedor de hosting; ellos deberían activarlo sin ningún problema.
2. La versión de PHP debe de ser al menos la 8.2 para poder instalar la última versión de Drush. En esta guía, te explicamos cómo modificar la versión de PHP de tu hosting.
Una vez estés seguro de cumplir estos requisitos, debes de seguir estos pasos:
Paso 1: Accede a la terminal SSH
Puedes acceder a través de cPanel entrando en el apartado “Terminal” o también tienes la opción de configurar algún programa para hacer la conexión.
Paso 2: Ve a la carpeta de instalación de Drupal
Una vez tengas el terminal abierto, lo primero que debes hacer es dirigirte a la carpeta de instalación de Drupal ejecutando el siguiente comando:
cd /midominio.com
📢 IMPORTANTE: Se debe de sustituir /midominio.com por la ruta en la que tengas la instalación de Drupal.
Paso 3: Escribe el comando
Cuando ya estés situado en esa ruta, debes de ejecutar el siguiente comando:
composer require drush/drush
De esta forma, se instalará la última versión estable. Si quieres instalar una versión específica (por ejemplo, la 11) debes ejecutar:
composer require drush/drush:^11
Y así ya tendrás Drush instalado y podrás pasar a sacarle el máximo partido a la herramienta.
Comandos básicos de Drush
Existen varias webs que recogen todos los comandos de Drush, por ejemplo: https://www.drush.org/12.x/commands/all/. Aquí te la dejo para que eches un vistazo. Encontrarás cada uno de los comandos con sus correspondientes parámetros.
Pero, para hacerte el trabajo más fácil, nosotros te vamos a hacer un resumen de los comandos básicos de Drush.
Instalar Drupal
El comando que debemos ejecutar para hacer una nueva instalación de Drupal es el siguiente:
drush site-install standard --account-name=admin --account-pass=contraseña-admin --db-url=mysql://usuario:contraseña@localhost/nombredelabasededatos --site-name="Mi Sitio Drupal"
En “account-name” y “account-pass” debemos introducir el usuario y contraseña de Drupal, respectivamente.
Luego debemos poner el usuario, contraseña y nombre de la base de datos y se debe hacer con el formato que se indica en el comando:
mysql://usuario:contraseña@localhost/nombredelabasededatos
Por último, introducimos el nombre del sitio con site-name=»Mi Sitio Drupal»
Actualizar Drupal
La actualización de Drupal mediante consola es un proceso mucho más rápido. Solo debemos ejecutar:
composer update drupal/core "drupal/core-*" --with-dependencies
Instalar, activar y desactivar módulos
Al instalar un módulo de Drupal, debemos ejecutar el siguiente comando:
composer require drupal/nombre_del_modulo
Una vez instalado, lo activaremos con:
drush en nombre_del_modulo
Y, si por algún motivo lo queremos desactivar, tendríamos que ejecutar:
drush pmu nombre_del_modulo
Vaciar la caché
Siempre que realicemos algún cambio en nuestra instalación de Drupal, es muy importante eliminar la caché. Para ello, debemos ejecutar:
drush cr
Hacer copias de seguridad
Para realizar una copia de seguridad completa de nuestro sitio, debemos ejecutar los comandos que te vamos a explicar ahora.
Primero, exportamos la base de datos:
drush sql-dump --result-file=/midominio.com/backup.sql
Y, a continuación, exportamos los archivos:
tar -cvzf /midominio.com/backup.tar.gz /midominio.com
📢 IMPORTANTE: Recuerda sustituir /midominio.com por la ruta en la que tengas la instalación de Drupal.
Restaurar copias de seguridad
Para restaurar la base de datos debes de ejecutar el siguiente comando:
drush sql-cli < /midominio.com/backup.sql
Para hacer la restauración de los ficheros, necesitarás descomprimirlos:
tar -xvzf /midominio.com/backup.tar.gz -C /midominio.com
📢 IMPORTANTE: Como siempre, recuerda sustituir /midominio.com por la ruta en la que tengas la instalación de Drupal.
Optimizar una base de datos
Si queremos optimizar la base de datos de nuestra instalación de Drupal, debemos ejecutar:
drush sql-optimize
Al ejecutarlo, nos preguntará si queremos optimizar la base de datos. Simplemente debes escribir: Yes
Ejecutar tareas cron
Utilizando un solo comando se ejecutan todas las tareas programadas registradas en Drupal: limpieza de caché, envío de correos electrónicos pendientes, sincronización de datos, limpieza de logs, etc. Es este:
drush cron
Problemas comunes en Drush
En esta sección, queremos explicarte algunos de los problemas más comunes que se encuentran los usuarios de Drush. Además, vamos a contarte en pocas palabras cómo solucionarlos para que puedas mantener tu flujo de trabajo sin interrupciones.
¿Vamos?
Error de Drush: “PHP version not supported”
Problema: Drush requiere una versión específica de PHP que no está instalada.
Solución: Actualiza la versión de PHP para que sea compatible con Drush. Si no sabes cómo hacerlo, aquí te dejamos esta guía de Cómo cambiar la versión de PHP en cPanel.
Error de Drush: “Drupal site not found”
Problema: Drush no puede encontrar tu sitio Drupal.
Solución: Asegúrate de estar en el directorio correcto de la instalación de Drupal.
Error de Drush: “Database connection failed”
Problema: Drush no se puede conectar a la base de datos de Drupal.
Solución: Verifica que las credenciales de la base de datos en settings.php sean correctas.
Error de Drush: “Drush requires the ‘drupal/core’ package”
Problema: Drush no puede encontrar el paquete drupal/core necesario para su funcionamiento.
Solución: Comprueba de que el proyecto Drupal tenga el paquete drupal/core. Puedes hacerlo ejecutando el siguiente comando:
composer require drupal/core
¿Ya tienes experiencia con Drush?
Ya ves que, gracias a una amplia variedad de comandos y funciones, Drush te va a ayudar a automatizar tareas, solucionar problemas y mantener tu instalación de Drupal en perfecto estado sin complicaciones.
Por eso, si aún no lo has probado, te animamos a incorporar Drush en tu flujo de trabajo y descubrir todo lo que puede hacer por ti.
¿Ya tienes experiencia con Drush o te has encontrado con algún problema específico? Deja un comentario más abajo, que estamos aquí para ayudarte. Además, nos encantaría saber cómo te va gestionando Drupal con Drush.
No hay comentarios