Skip to content

OTOBO & Znuny Staging-System – 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 gaat om OTOBO of Znuny. Het is een exacte kopie van het productiesysteem, waarin functionaliteiten, configuraties en gegevens gemigreerd, getest en gevalideerd worden – zonder invloed op het live-systeem.

INFO

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


🔄 Overzicht: Staging-systeem migratieproces

  1. Ontwikkelomgeving voorbereiden
  2. Staging-systeem opzetten
  3. Productiegegevens 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 bijv. Playwright
  • DSGVO-conform testen na anoniem maken
  • Hersteltests & back-upcontrole

🛠 Vereisten

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

Tests succesvol

Tests mislukt

Functionaliteit klaar voor test

Ontwikkelomgeving opschonen tickets verwijderen

Ontwikkel -> Staging kopiëren

Wachten op onderhoudsvenster

Productiegegevens beveiligen DB & bestanden

Productiegegevens naar Staging overbrengen

Configuratie in Staging aanpassen

E-mailverzending uitschakelen

Testrun uitvoeren

Optioneel: Staging -> Productie kopiëren

Fouten oplossen en opnieuw testen

Productie activeren

Klaar Implementatie voltooid

iu68gk

🧱 Stap-voor-stap-instructies

1. Staging-systeem opbouwen

Aanbevolen wordt een Docker-installatie:

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. Ontwikkelomgeving opschonen

Als u een ontwikkelomgeving 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. Productiegegevens kopiëren

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

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

In Staging importeren:

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

🔐 Gegevensbescherming: Anonimiseer alle productieklantgegevens, 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_PASSWORT';

5. E-mailverzending onderbreken

In SysConfig:

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

🔬 Tests in Staging

  • Playwright of Cypress-scripts gebruiken voor UI-tests
  • bin/otobo.Console.pl Maint::Test::System gebruiken
  • Gegevensintegriteit & UI-gedrag controleren
  • Integraties zoals LDAP of webservices uitschakelen of omleiden naar testserver

🔐 Staging beveiligen

  • Toegang via VPN of IP-whitelist beperken
  • robots.txt instellen om indexering te voorkomen
  • Eventueel Basic-Auth via Nginx inbouwen
  • SSL beveiligen met SAN- of wildcardcertificaat (*.staging.example.com)

🔄 Optioneel: Staging naar productie deployen

Als het in Staging volledig getest is:

  1. Productieserver stoppen
  2. Staging-database en directories naar productie kopiëren
  3. Config.pm aanpassen
  4. Productie weer starten

🧪 Voorbeeldige tools voor automatisering

  • Playwright (voor E2E-tests)
  • rsync voor snelle gegevensoverdracht
  • docker-compose voor georkestreerde omgeving
  • cron of systemd voor regelmatige back-ups
  • Python-scripts voor anoniem maken of structuurwijzigingen

Conclusie

Een OTOBO of Znuny staging-systeem biedt maximale veiligheid bij de invoering van wijzigingen. Door gestructureerde migratie, geanonimiseerde testgegevens en geautomatiseerde tests voorkomt u uitval en zorgt u voor stabiele implementaties.

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