OTOBO & Znuny Staging-System – Migratie en veilige testomgeving
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
- Ontwikkelomgeving voorbereiden
- Staging-systeem opzetten
- Productiegegevens kopiëren
- Staging testen
- 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)
🧱 Stap-voor-stap-instructies
1. Staging-systeem opbouwen
Aanbevolen wordt een Docker-installatie:
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:
# 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
# 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:
# 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
# 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 opKernel::System::Email::DoNotSendEmail
- Alternatief: SMTP-server instellen op
127.0.0.1
en poort1
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:
- Productieserver stoppen
- Staging-database en directories naar productie kopiëren
Config.pm
aanpassen- Productie weer starten
🧪 Voorbeeldige tools voor automatisering
Playwright
(voor E2E-tests)rsync
voor snelle gegevensoverdrachtdocker-compose
voor georkestreerde omgevingcron
ofsystemd
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.