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
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
- Ontwikkelingssysteem voorbereiden
- Staging-systeem opzetten
- Productiedata 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 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:
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 instellen2. Dev-systeem opruimen
Indien u een dev-systeem 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. Productiedata kopiëren
# 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/articleImporteren in de staging:
# 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
# Kernel/Config.pm
$Self->{'Database'}{'Name'} = 'otobo_staging';
$Self->{'Database'}{'User'} = 'otobo';
$Self->{'Database'}{'Password'} = 'STAGING_PASSWORD';5. E-mailverzending onderbreken
In SysConfig:
SendmailModuleinstellen opKernel::System::Email::DoNotSendEmail- Alternatief: SMTP-server wijzigen naar
127.0.0.1en poort1
🔬 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.txtin 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:
- Stop de productie-server
- Kopieer staging-database en -mappen naar productie
- Pas
Config.pmaan - Start productie opnieuw
🧪 Voorbeeldtools voor automatisering
Playwright(voor E2E-tests)rsyncvoor snelle dataoverdrachtdocker-composevoor georkestreerde omgevingcronofsystemdvoor 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.