OTOBO & Znuny Staging-System – Migración y entorno de prueba seguro
Un sistema de staging es el entorno perfecto para probar cambios en el sistema de tickets de manera segura – tanto en OTOBO como en Znuny. Se trata de una copia exacta del sistema de producción, en el que se migran, prueban y validan funciones, configuraciones y datos – sin afectar el sistema en vivo.
INFO
🗾 Compatibilidad: Los pasos descritos en este artículo son igualmente válidos para OTOBO 11.x y Znuny 6.x+. Las diferencias en los archivos de configuración son mínimas y se indican cuando es necesario.
🔄 Visión general: flujo de migración del sistema de staging
- Preparar el sistema de desarrollo
- Configurar el sistema de staging
- Copiar los datos de producción
- Probar el sistema de staging
- Implementar el sistema de staging en producción (opcional)
✅ Ventajas de un sistema de staging
- Pruebas seguras de configuración, código personalizado y paquetes
- Pruebas automatizadas de extremo a extremo con herramientas como Playwright
- Pruebas compatibles con el Reglamento General de Protección de Datos (DSGVO) después de la anonimización
- Pruebas de restauración y verificación de copias de seguridad
🛠 Requisitos previos
- Ubuntu 20.04+ o Debian 10+
- Docker (recomendado) o instalación manual de Linux
- Recursos del sistema suficientes (8 GB de RAM, 4 CPUs)
- Acceso a los datos de producción actuales (base de datos y sistema de archivos)
- Posibilidad de desactivar el envío de correos electrónicos (por ejemplo, mediante un servidor SMTP ficticio)
🧱 Instrucciones paso a paso
1. Configurar el sistema de staging
Se recomienda una instalación de Docker:
sudo apt install docker.io docker-compose
cd /opt
git clone https://github.com/RotherOSS/otobo-docker.git --branch rel-11_0
cd otobo-docker
cp.docker_compose_env_https.env
nano.env # Establecer OTOBO_DB_ROOT_PASSWORD
2. Limpiar el sistema de desarrollo
Si utiliza un sistema de desarrollo como base:
# Eliminar tickets y archivos adjuntos
bin/otobo.Console.pl Admin::Delete::Tickets --older 1d --state closed --really
rm -rf /opt/otobo/var/article/*
3. Copiar los datos de producción
# Guardar la base de datos (sistema de producción)
mysqldump -u root -p otobo > /tmp/otobo_prod.sql
# Guardar el núcleo y los artículos
rsync -avz /opt/otobo/Kernel /tmp/Kernel
rsync -avz /opt/otobo/var/article /tmp/article
Importar en el sistema de staging:
# Importar la base de datos
mysql -u root -p otobo_staging < /tmp/otobo_prod.sql
# Copiar el sistema de archivos
rsync -avz /tmp/Kernel /opt/otobo/Kernel
rsync -avz /tmp/article /opt/otobo/var/article
🔐 Protección de datos: Anonimice todos los datos de clientes de producción, por ejemplo, en la tabla
customer_user
, o elimine las direcciones de correo electrónico con un script SQL.
4. Ajustar la configuración
# Kernel/Config.pm
$Self->{'Database'}{'Name'} = 'otobo_staging';
$Self->{'Database'}{'User'} = 'otobo';
$Self->{'Database'}{'Password'} = 'CONTRASEÑA_DE_STAGING';
5. Desactivar el envío de correos electrónicos
En SysConfig
:
- Establecer
SendmailModule
enKernel::System::Email::DoNotSendEmail
- Alternativamente: cambiar el servidor SMTP a
127.0.0.1
y el puerto a1
🔬 Pruebas en el sistema de staging
- Utilizar scripts de Playwright o Cypress para pruebas de interfaz de usuario
- Utilizar
bin/otobo.Console.pl Maint::Test::System
- Verificar la integridad de los datos y el comportamiento de la interfaz de usuario
- Desactivar o redirigir integraciones como LDAP o servicios web
🔐 Proteger el sistema de staging
- Restringir el acceso mediante VPN o lista blanca de IP
- Establecer
robots.txt
para evitar el índice - Incorporar autenticación básica mediante Nginx
- Proteger con SSL mediante certificado SAN o wildcard (
*.staging.example.com
)
🔄 Opcional: Implementar el sistema de staging en producción
Si se ha probado completamente en el sistema de staging:
- Detener el servidor de producción
- Copiar la base de datos y los directorios del sistema de staging a producción
- Ajustar
Config.pm
- Reiniciar la producción
🧪 Herramientas de ejemplo para la automatización
Playwright
(para pruebas de extremo a extremo)rsync
para la transferencia de datos rápidadocker-compose
para la orquestación del entornocron
osystemd
para copias de seguridad regulares- Scripts de Python para la anonimización o la migración de estructuras
Conclusión
Un sistema de staging para OTOBO o Znuny ofrece la máxima seguridad al introducir cambios. A través de la migración estructurada, los datos de prueba anonimizados y las pruebas automatizadas, evita errores y garantiza implementaciones estables.
🔁 Consejo: Integre los procesos de staging en su pipeline de integración y entrega continuas (CI/CD) para la garantía de calidad automatizada en cada cambio.