Skip to content

OTOBO & Znuny Staging-System – Migration i bezpieczne środowisko testowe

https://softoft.sirv.com/Images/otobo-staging-2.png 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

  1. Przygotowanie systemu developerskiego
  2. Ustawienie systemu staging
  3. Kopiowanie danych produkcyjnych
  4. Testowanie systemu staging
  5. 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:

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

2. Oczyszczenie systemu developerskiego

Jeśli używasz systemu developerskiego jako podstawy:

bash
# 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

bash
# 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:

bash
# 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

perl
# 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 na Kernel::System::Email::DoNotSendEmail
  • Alternatywnie: zmień serwer SMTP na 127.0.0.1 i port 1

🔬 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:

  1. Zatrzymaj serwer produkcyjny
  2. Skopiuj bazę danych i katalogi systemu staging do produkcji
  3. Dostosuj Config.pm
  4. Uruchom ponownie produkcję

🧪 Przykładowe narzędzia do automatyzacji

  • Playwright (do testów end-to-end)
  • rsync do szybkiej transmisji danych
  • docker-compose do orchestrowania środowiska
  • cron lub systemd 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.