Noticias

DDEV por y para WordPress

DDEV por y para WordPress


Para crear proyectos en local de WordPress existen muchas utilidades, desde hace bastante tiempo usaba Docker para mis proyectos, lo que me permitía realizar pruebas con distintas versiones y configuraciones tanto para proyectos nuevos como antiguos.

Recientemente he comenzado a usar DDEV, me ha sorprendido tanto que me gustaría contaros cómo aplicar DDEV desde 0 en proyectos WordPress.

¿Qué es DDEV? 

DDEV es una herramienta de código abierto basada en Docker que simplifica la creación y administración de entornos de desarrollo locales para WordPress y cuenta con utilidades para la administración y gestión de contenedores simplificando los pasos necesarios para contar con un entorno local de desarrollo sobre Docker.

¿Para qué podemos usar DDEV en WordPress?

DDEV nos proporciona un entorno local, estable y flexible, permite realizar pruebas con diferentes versiones de PHP, cuenta con la capacidad de importar y exportar tanto la base de datos de nuestro sitio WordPress como de los ficheros que puedan subir los usuarios. Incorpora base herramientas para facilitar las labores de desarrollo y depuración de errores como es el caso de XDebug, el cuál podemos activar y desactivar a demanda con solo ejecutar un comando. 

¿Empezamos a jugar? 

Instalación 

Primer paso, ¿cómo instalamos DDEV? para ello visitamos la documentación oficial y seguimos las instrucciones para instalarlo en nuestro sistema operativo:
https://ddev.readthedocs.io/en/latest/users/install/ddev-installation/ 

Una vez instalado… ya podemos comenzar a configurar nuestro proyecto 🙂 

ddev config --project-type=wordpress 

Posteriormente, indicaremos la versión de WordPress a instalar. 

ddev wp core download --version=6.1 

Llegados a este punto, ya podemos arrancar el proyecto. Para ello ejecutamos: 

ddev start

Con todo esto, contaremos con un proyecto con una instalación WordPress estándar. Al finalizar el comando anterior nos mostrará una URL en la cual podremos visitar desde el navegador para acceder al proyecto recién creado.

Adicionalmente, DDEV nos permite instalar nuestro WordPress de manera desatendida mediante un solo comando:

ddev wp core install --url='$DDEV_PRIMARY_URL' --title='New-WordPress' --admin_user=admin --admin_email=admin@example.com --prompt=admin_password

Primeros pasos

Ahora que ya hemos lanzado nuestro primer proyecto con DDEV vamos a dar un repaso de que más herramientas nos ofrece esta solución. 

Por ejemplo, para actualizar nuestro WP a la última versión podremos hacerlo con el siguiente comando:

ddev exec wp core update 

Otra funcionalidad muy útil es la posibilidad de ejecutar comandos de WP-CLI directamente a través de DDEV. Para ello se emplea el comando: 

ddev exec wp 

Veamos un ejemplo de cómo instalar y activar un plugin

ddev excec wp plugin install akismet --activate

O por ejemplo activar un tema: 

ddev exec wp theme activate my-theme 

Para más información sobre WP-CLI, consultar la guía oficial:
https://make.wordpress.org/cli/handbook/guides/commands-cookbook/

Si os ha gustado tanto cómo a mí, es probable que acabéis usando DDEV para todos vuestros proyectos. Por ello, si queremos saber de un vistazo qué proyectos tenemos con DDEV podemos ejecutar el siguiente comando: proyectos de ddev usamos  

ddev list

También es posible que posteriormente alguno de esos proyectos se archive o no requiera desarrollos por nuestra parte. En ese caso, podemos borrar el proyecto DDEV con el siguiente comando: 

ddev delete --remove-data my-wordpress-project 

Conexión y operaciones con los contenedores  

DDEV ya tiene integradas una serie de herramientas para acceder a nuestros contenedores y facilitarnos la vida. Podemos importar y exportar contenido, bases de datos o snapshots. A continuación, veamos algunos de los comandos. 

Acceder al contenedor que ejecuta el WordPress:

ddev ssh 

Acceder al contenedor de base de datos:

ddev ssh -s db 

Importar un fichero SQL a la base de datos a nuestro proyecto: 

ddev import-db my-database.sql 

Exportar la base de datos del proyecto: 

ddev export-db --gzip=false --file=/tmp/my-database.sql 

También podemos importar archivos estaticos, con extensiones .tar, .tar.gz, .tar.xz, .tar.bz2, .tgz y .zip además de directorios que contengan archivos estáticos (los archivos importados tendrán los mismos permisos que el contenedor). 

Para ejecutar el comando: 

ddev import-files ~/images/project-images 

Como comentaba anteriormente, DDEV permite realizar snapshots de las bases de datos del proyecto. Para ello ejecutamos el siguiente comando:

ddev snapshot my-wordpress-project 

Los snapshots se almacenan de manera local en el directorio .ddev/db_snapshots. Para listar los snapshots que disponemos en nuestro proyecto podemos ejecutar el comando: 

ddev snapshot --list 

Ahora bien, para restaurar el snapshot usamos el siguiente comando:

ddev snapshot restore my-wordpress-project my-snapshot-name 

Xdebug y logs 

Para consultar los logs de ejecución del proyecto empleamos el siguiente comando: 

ddev logs 

Esto nos mostrará información detallada de todo lo que ha venido ocurriendo con nuestra aplicación. Para filtrar los logs de un servicio, por ejemplo, base de datos podemos usar: 

ddev logs -s 

O si queremos ver los logs en vivo se puede realizar mediante la opción -f 

ddev logs -f -s db 

Finalmente, el uso de XDebug bajo DDEV se simplifica enormemente, podemos activar o desactivar, en caliente mediante el comando:

ddev xdebug on [off] 

Y cuenta con soporte para integraciones con PHPStorm (https://www.jetbrains.com/es-es/phpstorm/)  y VSCode  (https://code.visualstudio.com/)
https://ddev.readthedocs.io/en/latest/users/debugging-profiling/step-debugging/#ide-setup  

¡Y eso es todo! Espero que esta “guía“ te haya sido útil para comprender cómo usar DDEV para el desarrollo local de proyectos WordPress.

Personalmente, he encontrado que DDEV simplifica enormemente el proceso de creación y gestión de entornos locales, lo que me permite centrarme más en el desarrollo y menos en la configuración. 

¡Hasta la próxima y feliz desarrollo y WP tardes ;)!

2 respuestas a «DDEV por y para WordPress»

  1. Muy muy interesante esta herramienta, muchas gracias por compartirla. En Debian 12 me está funcionando correctamente. Desde luego que la iré probando más y más para ver si se convierte en mi entorno local de desarrollo.

    Una pequeña errata hay en «ddev excec wp plugin install akismet –activate», sería «ddev exec wp plugin install akismet –activate».

    Ah y la extensión para VS Code muy curiosa también: https://marketplace.visualstudio.com/items?itemName=biati.ddev-manager

    De nuevo, gracias por tomarte el tiempo en crear este tutorial, ¡un saludo!

  2. WP días Pepe 🙂 , Agradezco mucho la errata que has localizado y que haya parecido útil el post.
    salu2

Deja una respuesta