WP Staging CLI can create and manage Docker-based WordPress environments for local development and testing. This guide covers how to add, list, delete, and manage WordPress sites.
Qué obtendrás
Cada sitio Docker incluye:
- PHP-FPM con la versión de PHP que elijas
- Servidor web Nginx con HTTPS
- Base de datos MariaDB
- Mailpit para pruebas de correo electrónico
- Certificados SSL automáticos mediante mkcert
- Configuración del archivo hosts para dominios locales
Requisitos previos
- Docker 20.10.0 o posterior
- Docker Compose 2.19.0 o posterior
- Mínimo 2 núcleos de CPU y 4 GB de RAM
Añadir un nuevo sitio
Crea un nuevo sitio de WordPress con un dominio local personalizado:
wpstaging add https://mysite.localO sin el protocolo:
wpstaging add mysite.local¿Necesitas un WordPress Multisite?
wpstaging add mysite.local --multisiteUna vez creado el sitio, puedes acceder a él en https://mysite.local.
Añadir un sitio desde un archivo de Backup existente
Crea un nuevo sitio y restaura desde un archivo de Backup de WP Staging en un solo paso:
wpstaging add mysite.local --from=backup.wpstgO desde una URL remota:
wpstaging add mysite.local --from=https://example.com/backup.wpstgWordPress Multisite:
wpstaging add mysite.local --multisite --from=BACKUP_URLEsta es la forma recomendada de crear una copia local de tu sitio de producción. Se encarga de todo: configuración de Docker, extracción del Backup, importación de base de datos y sustitución de URL.
Personalizar la configuración del sitio
Versión de PHP
Especifica la versión de PHP (el valor predeterminado es 8.1):
wpstaging add mysite.local --php=8.2Las versiones de PHP disponibles dependen de las imágenes Docker admitidas.
Versión de WordPress
Instala una versión específica de WordPress (el valor predeterminado es la última):
wpstaging add mysite.local --wp=6.4.2Puertos personalizados
Cambia los puertos predeterminados si entran en conflicto con otros servicios:
wpstaging add mysite.local \
--http-port=8080 \
--https-port=8443 \
--db-port=3307Dirección IP del contenedor
Por defecto, los sitios usan direcciones IP en el rango 127.3.2.x. Puedes especificar una IP personalizada:
wpstaging add mysite.local --container-ip=127.0.0.1Ruta del entorno
Cambia dónde se almacenan los entornos Docker (predeterminado: ~/wpstaging):
wpstaging add mysite.local --env-path=/custom/pathTodos los indicadores del comando add
| Flag | Default | Description |
|---|---|---|
--php | 8.1 | PHP version |
--wp | latest | WordPress version |
--from | – | Backup file path or URL to restore |
--env-path | ~/wpstaging | Path to store Docker environments |
--container-ip | 127.3.2.1 | Container IP address |
--http-port | 80 | Nginx HTTP port |
--https-port | 443 | Nginx HTTPS port |
--db-port | 3306 | MariaDB port |
--db-root | 123456 | MariaDB root password |
--mailpit-http-port | 8025 | Mailpit web interface port |
--disable-mailpit | false | Disable Mailpit container |
Indicadores de configuración de WordPress
| Flag | Default | Description |
|---|---|---|
--db-name | auto | WordPress database name |
--db-user | auto | WordPress database user |
--db-pass | auto | WordPress database password |
--db-prefix | wp_ | WordPress table prefix |
--db-host | localhost | WordPress database hostname |
--db-ssl | false | Enable SSL for WordPress database connection |
--admin-user | admin | WordPress admin username |
--admin-pass | admin | WordPress admin password |
--admin-email | admin@dev.null | WordPress admin email |
--secure-credentials | false | Generate random secure credentials |
--multisite | false | Enable WordPress Multisite |
Listar sitios
Ver todos los sitios de WordPress en tu entorno Docker:
wpstaging listEjemplo de salida:
HOSTNAME STATUS PHP IP
mysite.local running 8.1 127.3.2.1
dev.local stopped 8.2 127.3.2.2
test.local running 8.0 127.3.2.3Ver detalles de sitios específicos
Obtén información detallada sobre uno o más sitios:
wpstaging list mysite.localO varios sitios:
wpstaging list site1.local site2.localEliminar sitios
Eliminar un sitio específico:
wpstaging del mysite.localEliminar varios sitios:
wpstaging del site1.local site2.localEliminar todos los sitios (con confirmación):
wpstaging delAdvertencia: eliminar un sitio elimina todos sus archivos, base de datos y configuración. Esta acción no se puede deshacer.
Activar/desactivar sitios
Deshabilitar un sitio sin eliminarlo:
wpstaging disable mysite.localVolver a habilitar un sitio deshabilitado:
wpstaging enable mysite.localLos sitios deshabilitados conservan sus datos pero sus contenedores no se inician.
Restablecer un sitio
Restablecer un sitio a una instalación de WordPress nueva:
wpstaging reset mysite.localEsto elimina todo el contenido de WordPress y reinstala WordPress manteniendo la configuración de Docker intacta.
Restablecer con una versión diferente de WordPress
Especifica una versión diferente de WordPress durante el restablecimiento:
wpstaging reset mysite.local --wp=6.5Restablecer y restaurar desde Backup
Restablece el sitio y restaura desde un Backup de WP Staging en un solo paso:
wpstaging reset mysite.local --from=backup.wpstg
wpstaging reset mysite.local --from=https://example.com/backup.wpstgCredenciales seguras
Para mayor seguridad, especialmente en entornos compartidos, usa credenciales aleatorias:
wpstaging add mysite.local --secure-credentialsEsto genera contraseñas aleatorias para:
- Usuario root de MariaDB
- Usuario de base de datos de WordPress
- Usuario administrador de WordPress
Las credenciales generadas se muestran después de crear el sitio.
WordPress Multisite
Crear una instalación de WordPress Multisite:
wpstaging add mynetwork.local --multisiteNotas para macOS
macOS Users: Automatic IP alias binding is enabled by default for seamless multi-site setups using loopback IP range 127.3.2.1 – 127.3.2.254. This requires sudo and you’ll be prompted for your password.
Consejo: configura sudo sin contraseña para wpstaging para evitar solicitudes de contraseña repetidas. Consulta las FAQ para obtener instrucciones.
Pasos siguientes
- Controlar contenedores Docker – Iniciar, detener y gestionar contenedores
- Configuración de Docker – Opciones de configuración avanzada
- Crear una copia local del sitio de WordPress – Tutorial completo