Skip to content

description: 'Leer hoe u een staging-systeem voor OTOBO of Znuny opzet en werkt met productiedata. Inclusief best practices voor back-up, migratie en testen.'

OTOBO & Znuny Staging-systeem – Migratie en veilige testomgeving

https://softoft.sirv.com/Images/otobo-staging-2.png Een staging-systeem is de perfecte omgeving om wijzigingen aan het ticketsysteem veilig te testen – of het nu voor OTOBO of Znuny is. Het is een exacte kopie van het productiesysteem waarin functies, configuraties en gegevens worden gemigreerd, getest en gevalideerd – zonder invloed op het live systeem.

INFO

🗾 Compatibiliteit: De stappen die in dit artikel worden beschreven, zijn van toepassing op zowel OTOBO 11.x als Znuny 6.x+. Verschillen in configuratiebestanden zijn minimaal en worden indien nodig gemarkeerd.


🔄 Overzicht: Staging-systeem Migratieproces

  1. Ontwikkelingssysteem voorbereiden
  2. Staging-systeem opzetten
  3. Productiedata kopiëren
  4. Staging testen
  5. Staging naar productie deployen (optioneel)

✅ Voordelen van een Staging-systeem

  • Veilig testen van configuratie, aangepaste code & pakketten
  • Geautomatiseerde end-to-end tests met bijvoorbeeld Playwright
  • AVG-conforme tests na anonimisering
  • Hersteltests & back-up controle

🛠 Vereisten

  • Ubuntu 20.04+ of Debian 10+
  • Docker (aanbevolen) of handmatige Linux-installatie
  • Voldoende systeembronnen (8 GB RAM, 4 CPU's)
  • Toegang tot actuele productiedata (DB & bestandssysteem)
  • E-mailverzending uitschakelbaar (bijv. via dummy SMTP)

🧱 Stap-voor-stap handleiding

1. Staging-systeem opbouwen

Een Docker-installatie wordt aanbevolen:

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   # OTOBO_DB_ROOT_PASSWORD instellen

2. Dev-systeem opruimen

Indien u een dev-systeem als basis gebruikt:

bash
# Tickets en bijlagen verwijderen
bin/otobo.Console.pl Admin::Delete::Tickets --older 1d --state closed --really
rm -rf /opt/otobo/var/article/*

3. Productiedata kopiëren

bash
# Database back-uppen (productiesysteem)
mysqldump -u root -p otobo > /tmp/otobo_prod.sql

# Artikelen & Kernel back-uppen
rsync -avz /opt/otobo/Kernel /tmp/Kernel
rsync -avz /opt/otobo/var/article /tmp/article

Importeren in de staging:

bash
# DB importeren
mysql -u root -p otobo_staging < /tmp/otobo_prod.sql

# Bestandssysteem kopiëren
rsync -avz /tmp/Kernel /opt/otobo/Kernel
rsync -avz /tmp/article /opt/otobo/var/article

🔐 Privacy: Anonimiseer alle productieve klantgegevens, bijv. in de customer_user-tabel, of verwijder e-mailadressen met een SQL-script.


4. Configuratie aanpassen

perl
# Kernel/Config.pm
$Self->{'Database'}{'Name'} = 'otobo_staging';
$Self->{'Database'}{'User'} = 'otobo';
$Self->{'Database'}{'Password'} = 'STAGING_PASSWORD';

5. E-mailverzending onderbreken

In SysConfig:

  • SendmailModule instellen op Kernel::System::Email::DoNotSendEmail
  • Alternatief: SMTP-server wijzigen naar 127.0.0.1 en poort 1

🔬 Tests in Staging

  • Gebruik Playwright of Cypress scripts voor UI-tests
  • Gebruik bin/otobo.Console.pl Maint::Test::System
  • Controleer data-integriteit & UI-gedrag
  • Deactiveer integraties zoals LDAP of webservices, of leid ze om naar testservers

🔐 Staging beveiligen

  • Beperk toegang via VPN of IP-whitelist
  • Stel robots.txt in om indexering te voorkomen
  • Bouw indien nodig Basic Auth in via Nginx
  • Beveilig SSL met een SAN- of wildcard-certificaat (*.staging.example.com)

🔄 Optioneel: Staging naar Productie deployen

Wanneer volledig getest in staging:

  1. Stop de productie-server
  2. Kopieer staging-database en -mappen naar productie
  3. Pas Config.pm aan
  4. Start productie opnieuw

🧪 Voorbeeldtools voor automatisering

  • Playwright (voor E2E-tests)
  • rsync voor snelle dataoverdracht
  • docker-compose voor georkestreerde omgeving
  • cron of systemd voor regelmatige back-ups
  • Python-scripts voor anonimisering of structuurmigratie

Conclusie

Een OTOBO of Znuny staging-systeem biedt maximale veiligheid bij het doorvoeren van wijzigingen. Door gestructureerde migratie, geanonimiseerde testdata en geautomatiseerde tests voorkomt u storingen en zorgt u voor stabiele deployments.

🔁 Tip: Integreer de staging-processen in uw CI/CD-pipeline voor geautomatiseerde kwaliteitsborging bij elke wijziging.