OTOBO & Znuny Staging-System – Migration i bezpieczne środowisko testowe
System staging jest idealnym środowiskiem do bezpiecznego testowania zmian w systemie ticketowym – niezależnie od tego, czy używasz OTOBO czy Znuny. Jest to dokładna kopia systemu produkcyjnego, w którym funkcje, konfiguracje i dane są migrowane, testowane i walidowane – bez wpływu na system live.
INFO
🗾 Kompatybilność: Opisane w tym artykule kroki dotyczą zarówno OTOBO 11.x, jak i Znuny 6.x+. Różnice w plikach konfiguracyjnych są minimalne i będą wskazane w razie potrzeby.
🔄 Przegląd: Proces migracji systemu staging
- Przygotowanie systemu developerskiego
- Ustawienie systemu staging
- Kopiowanie danych produkcyjnych
- Testowanie systemu staging
- Wdrożenie systemu staging do produkcji (opcjonalnie)
✅ Zalety systemu staging
- Bezpieczne testowanie konfiguracji, kodu niestandardowego i pakietów
- Automatyczne testy end-to-end z użyciem narzędzi takich jak Playwright
- Testowanie zgodne z RODO po anonimizacji
- Testy przywracania i weryfikacja backupów
🛠 Wymagania
- Ubuntu 20.04+ lub Debian 10+
- Docker (zalecany) lub ręczna instalacja systemu Linux
- Wystarczające zasoby systemowe (8 GB RAM, 4 procesory)
- Dostęp do bieżących danych produkcyjnych (baza danych i system plików)
- Możliwość wyłączenia wysyłania e-maili (np. za pomocą serwera SMTP)
🧱 Instrukcja krok po kroku
1. Ustawienie systemu staging
Zalecana jest instalacja za pomocą Dockera:
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 # Ustawienie OTOBO_DB_ROOT_PASSWORD
2. Oczyszczenie systemu developerskiego
Jeśli używasz systemu developerskiego jako podstawy:
# Usunięcie ticketów i załączników
bin/otobo.Console.pl Admin::Delete::Tickets --older 1d --state closed --really
rm -rf /opt/otobo/var/article/*
3. Kopiowanie danych produkcyjnych
# Zabezpieczenie bazy danych (system produkcyjny)
mysqldump -u root -p otobo > /tmp/otobo_prod.sql
# Zabezpieczenie artykułów i jądra
rsync -avz /opt/otobo/Kernel /tmp/Kernel
rsync -avz /opt/otobo/var/article /tmp/article
Importowanie do systemu staging:
# Import bazy danych
mysql -u root -p otobo_staging < /tmp/otobo_prod.sql
# Kopiowanie systemu plików
rsync -avz /tmp/Kernel /opt/otobo/Kernel
rsync -avz /tmp/article /opt/otobo/var/article
🔐 Ochrona danych: Zanonimizuj wszystkie produkcyjne dane klientów, np. w tabeli
customer_user
lub usuń adresy e-mail za pomocą skryptu SQL.
4. Dostosowanie konfiguracji
# Kernel/Config.pm
$Self->{'Database'}{'Name'} = 'otobo_staging';
$Self->{'Database'}{'User'} = 'otobo';
$Self->{'Database'}{'Password'} = 'STAGING_PASSWORT';
5. Wyłączenie wysyłania e-maili
W SysConfig
:
- Ustaw
SendmailModule
naKernel::System::Email::DoNotSendEmail
- Alternatywnie: zmień serwer SMTP na
127.0.0.1
i port1
🔬 Testy w systemie staging
- Użyj skryptów Playwright lub Cypress do testów UI
- Użyj
bin/otobo.Console.pl Maint::Test::System
- Sprawdź integralność danych i zachowanie UI
- Wyłącz integracje, takie jak LDAP lub usługi sieciowe, lub przekieruj je na serwer testowy
🔐 Zabezpieczenie systemu staging
- Ogranicz dostęp za pomocą VPN lub listy IP
- Ustaw
robots.txt
, aby zapobiec indeksowaniu - Włącz uwierzytelnianie podstawowe za pomocą Nginx
- Zabezpiecz SSL za pomocą certyfikatu SAN lub wildcard (
*.staging.example.com
)
🔄 Opcjonalnie: Wdrożenie systemu staging do produkcji
Jeśli system staging został w pełni przetestowany:
- Zatrzymaj serwer produkcyjny
- Skopiuj bazę danych i katalogi systemu staging do produkcji
- Dostosuj
Config.pm
- Uruchom ponownie produkcję
🧪 Przykładowe narzędzia do automatyzacji
Playwright
(do testów end-to-end)rsync
do szybkiej transmisji danychdocker-compose
do orchestrowania środowiskacron
lubsystemd
do regularnych backupów- Skrypty Pythona do anonimizacji lub migracji struktury
Fazit
System staging dla OTOBO lub Znuny oferuje maksymalną bezpieczeństwo podczas wprowadzania zmian. Dzięki strukturalnej migracji, zanonimizowanym danym testowym i automatycznym testom unikasz awarii i zapewniasz stabilne wdrożenia.
🔁 Wskazówka: Zintegruj procesy staging z potokiem CI/CD, aby zapewnić automatyczną kontrolę jakości przy każdej zmianie.