Skip to content

OTOBO & Znuny Staging-System – Migración y entorno de prueba seguro

https://softoft.sirv.com/Images/otobo-staging-2.png 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

  1. Preparar el sistema de desarrollo
  2. Configurar el sistema de staging
  3. Copiar los datos de producción
  4. Probar el sistema de staging
  5. 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:

bash
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:

bash
# 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

bash
# 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:

bash
# 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

perl
# 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 en Kernel::System::Email::DoNotSendEmail
  • Alternativamente: cambiar el servidor SMTP a 127.0.0.1 y el puerto a 1

🔬 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:

  1. Detener el servidor de producción
  2. Copiar la base de datos y los directorios del sistema de staging a producción
  3. Ajustar Config.pm
  4. 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ápida
  • docker-compose para la orquestación del entorno
  • cron o systemd 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.