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
- Docker: Versión ≥20.10. Consulta docs.docker.com.
- Node.js y npm: Recomendado para tareas de build (Gulp, Webpack).
- Git: Control de versiones.
- 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
yvendor
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 | Sí | Limitada | Personalizada |
Recetas predefinidas | Sí | Sí | No |
Comandos integrados | Sí | Limitados | No |
12. Recursos adicionales
- Guía oficial de WordPress en Docker: docker-library/wordpress.
- Manual de recetas de Lando: Recipes · Lando Docs.
- Comunidades y foros: StackOverflow (#lando).
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 🙂 |