Uso de Lando para entornos de desarrollo WordPress

Contents

Uso de Lando para entornos de desarrollo WordPress

En el desarrollo de proyectos WordPress modernos, contar con un entorno de desarrollo local ágil y reproducible es esencial. Lando se presenta como una herramienta basada en Docker que simplifica la creación, gestión y despliegue de entornos. En este extenso artículo exploraremos desde los fundamentos hasta las prácticas avanzadas para aprovechar Lando al máximo en proyectos WordPress.

1. ¿Qué es Lando

Lando es una herramienta de DevOps que utiliza Docker para orquestar contenedores de servicios (PHP, MySQL, Nginx, Redis, etc.) de forma declarativa. Su objetivo es proporcionar entornos consistentes, fáciles de compartir y reproducir en cualquier sistema operativo (macOS, Windows, Linux).

Visita la documentación oficial en docs.lando.dev para más detalles.

2. Ventajas de usar Lando en proyectos WordPress

  • Reproducibilidad: La configuración del entorno se describe en un solo archivo (.lando.yml), evitando «funciona en mi máquina».
  • Flexibilidad: Soporta múltiples PHP, bases de datos, servicios de cache, colas y más.
  • Comandos personalizados: Definición de shortcuts (lando start, lando db-import, etc.) para agilizar tareas comunes.
  • Integración continua: Fácil incorporación en pipelines (CI/CD) mediante lando code o contenedores aislados.

3. Requisitos previos

  1. Docker: Versión ≥20.10. Consulta docs.docker.com.
  2. Node.js y npm: Recomendado para tareas de build (Gulp, Webpack).
  3. Git: Control de versiones.
  4. Terminal con permisos: Acceso a sudo o configuración de grupo Docker en Linux.

4. Instalación de Lando

Descarga el instalador adecuado para tu SO desde el repositorio oficial en GitHub Lando Releases. Sigue las instrucciones según tu plataforma:

  • macOS: .dmg y arrastrar a Aplicaciones.
  • Windows: .msi y asistente de instalación.
  • Linux: .deb o .rpm según tu distro.

Verifica la instalación con:

lando version

5. Configuración básica para WordPress

En la raíz de tu proyecto, crea un archivo .lando.yml con la siguiente plantilla:

name: mi-wordpress
recipe: wordpress
config:
  webroot: web
  php: 7.4
  database: mariadb:10.4

services:
  cache:
    type: redis:6.0
    via: php

tooling:
  wp:
    service: appserver
    description: Acceso a WP-CLI
  node:
    service: appserver
    description: Acceso a Node.js y npm

Explicación de secciones:

  • name: Identificador del proyecto.
  • recipe: Receta predefinida para WordPress (incluye PHP, MySQL/MariaDB, WP-CLI).
  • webroot: Carpeta donde residen index.php y wp-content.
  • services: Servicios adicionales (Redis, Elasticsearch, etc.).
  • tooling: Accesos directos a comandos dentro de contenedores.

6. Ciclo de vida de Lando

Comando Descripción
lando start Levanta contenedores según .lando.yml.
lando stop Detiene los contenedores sin eliminarlos.
lando destroy Elimina los contenedores y volúmenes asociados.
lando rebuild Ejecuta destroy y luego start para refrescar la configuración.

7. Comandos útiles en WordPress

  • lando wp core install --url=localhost --title=Mi Site --admin_user=admin --admin_password=secret --admin_email=me@ejemplo.com: Instalación de WordPress.
  • lando wp plugin install contact-form-7 --activate: Instalación y activación de plugins.
  • lando wp theme list: Listar temas disponibles.
  • lando db-import archivo.sql.gz: Importar base de datos comprimida.
  • lando db-export respaldo.sql: Exportar base de datos.

8. Integración de Xdebug y debugging

Para habilitar Xdebug, añade en .lando.yml:

services:
  appserver:
    xdebug: true
    config:
      xdebug.client_host: localhost
      xdebug.client_port: 9003

Después de lando rebuild, conecta tu IDE (PHPStorm, VSCode) al puerto 9003 para depuración paso a paso.

9. Buenas prácticas

  • Ignorar archivos generados: Añade .lando y vendor a tu .gitignore según convenga.
  • Copias de seguridad frecuentes: Automatiza lando db-export en scripts.
  • Etiquetado y documentación: Describe la versión de PHP, MySQL y plugins críticos en tu README.
  • Entornos paralelos: Crea múltiples configuraciones (develop, staging, testing) cambiando el name o variables de entorno.

10. Solución de problemas comunes

Contenedores no arrancan

  • Verifica conflictos de puertos: lando info.
  • Revisa logs: lando logs -s appserver.

Errores de permisos

  • Asegura que tu usuario pertenezca al grupo docker en Linux.
  • Comprueba permisos de carpetas (webroot).

Xdebug no conecta

  • Confirma xdebug.client_host y puerto.
  • Desactiva firewalls que bloqueen el puerto.

11. Comparativa rápida con otras soluciones

Característica Lando Local by Flywheel Docker Compose
Configuración declarativa Limitada Personalizada
Recetas predefinidas No
Comandos integrados Limitados No

12. Recursos adicionales

Artículo basado en documentación oficial y experiencias de la comunidad de desarrollo WordPress. Última actualización: Junio 2024.



Acepto donaciones de BAT's mediante el navegador Brave 🙂



Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *