Reliable OTOBO operations & expert support
Dependable support for version upgrades, staging environments, disaster recovery strategies, and 2nd-level technical support.
Set up an OTOBO staging system as a safe production copy: migrate the database and files, turn off real outbound mail, anonymize customer data, then validate packages and config before anything reaches live.
flowchart TD
A[Feature ready for test] --> B[Clean up dev system, delete tickets]
B --> C[Copy dev -> staging]
C --> D[Wait for maintenance window]
D --> E[Back up production data DB & files]
E --> F[Transfer production data to staging]
F --> G[Adjust configuration in staging]
G --> H[Disable email sending]
H --> I[Perform test run]
I -->|Tests successful| J[Optional: Copy staging -> production]
I -->|Tests failed| K[Fix errors and re-test]
J --> L[Activate production]
L --> M[Done, deployment complete]
style D fill:#a9a,stroke:#333,stroke-width:1px
style I fill:#aae,stroke:#333,stroke-width:1px
style J fill:#9a9,stroke:#333,stroke-width:1px
style K fill:#a99,stroke:#333,stroke-width:1px
A Docker installation is recommended:
sudo apt install docker.io docker-composecd /optgit clone https://github.com/RotherOSS/otobo-docker.git --branch rel-11_0cd otobo-dockercp .docker_compose_env_https .envnano .env # Set OTOBO_DB_ROOT_PASSWORDIf you are using a dev system as a base:
bin/otobo.Console.pl Admin::Delete::Tickets --older 1d --state closed --reallyrm -rf /opt/otobo/var/article/*# Back up database (production system)mysqldump -u root -p otobo > /tmp/otobo_prod.sql
# Back up articles & Kernelrsync -avz /opt/otobo/Kernel /tmp/Kernelrsync -avz /opt/otobo/var/article /tmp/articleImport into staging:
# Import DBmysql -u root -p otobo_staging < /tmp/otobo_prod.sql
# Copy file systemrsync -avz /tmp/Kernel /opt/otobo/Kernelrsync -avz /tmp/article /opt/otobo/var/article🔐 Data Privacy: Anonymize all production customer data, e.g., in the
customer_usertable, or remove email addresses using an SQL script.
$Self->{'Database'}{'Name'} = 'otobo_staging';$Self->{'Database'}{'User'} = 'otobo';$Self->{'Database'}{'Password'} = 'STAGING_PASSWORD';In SysConfig:
SendmailModule to Kernel::System::Email::DoNotSendEmail127.0.0.1 and port to 1bin/otobo.Console.pl Maint::Test::Systemrobots.txt to prevent indexing*.staging.example.com)Once testing is complete in staging:
Config.pmPlaywright (for E2E tests)rsync for fast data transferdocker-compose for orchestrated environmentcron or systemd for regular backupsAn OTOBO staging system lets you test upgrades, packages, and SysConfig changes on real-shaped data without risking production downtime or accidental customer emails.
🔁 Tip: Integrate staging processes into your CI/CD pipeline for automated quality assurance with every change.
Reliable OTOBO operations & expert support
Dependable support for version upgrades, staging environments, disaster recovery strategies, and 2nd-level technical support.
An OTOBO staging system is a near-identical copy of your production environment, designed to provide a safe and isolated space for testing. Its primary benefit lies in allowing administrators and developers to thoroughly test new configurations, custom code, package installations, and system upgrades without any risk of impacting the live production system or its users. This includes performing automated end-to-end tests with tools like Playwright, ensuring GDPR-compliant testing after data anonymization, and verifying backup and recovery procedures. By simulating real-world scenarios, a staging system helps identify and resolve potential issues before they reach production, ensuring stability and reliability. It also supports recovery tests and backup verification.
Quellen
Setting up an OTOBO staging system involves several critical steps to mirror your production environment effectively. First, you prepare the development system, often by cleaning up old tickets and articles if using an existing dev instance. Next, you set up the staging system itself, with a Docker installation being the recommended approach for ease of deployment and management. After the basic setup, you copy production data, including the database (using mysqldump) and file system data (Kernel and var/article via rsync), into the staging environment. Crucially, you then adjust the Kernel/Config.pm file to point to the staging database and disable email sending by setting SendmailModule to Kernel::System::Email::DoNotSendEmail or redirecting SMTP to prevent accidental outbound communication.
Quellen
When using production data for an OTOBO staging system, data privacy is paramount. While using production-like data is crucial for realistic testing, you must anonymize or restrict sensitive customer information, especially data in tables like customer_user and all email addresses, to ensure GDPR compliance. Never point the staging mail system at real customers. The process involves backing up the production database using mysqldump and relevant file data (like /opt/otobo/Kernel and /opt/otobo/var/article using rsync). These backups are then imported into the staging environment, with the database being restored via mysql and the file system copied using rsync. This ensures a realistic testing ground without compromising sensitive user data.
Quellen
Securing your OTOBO staging environment is crucial to prevent unauthorized access and data exposure. Essential measures include restricting access via a VPN or IP whitelist, ensuring only authorized personnel can reach the system. To prevent search engines from indexing the staging site, implement a robots.txt file. For an additional layer of protection, consider implementing Basic Authentication through your web server (e.g., Nginx). Furthermore, secure SSL communication using a SAN (Subject Alternative Name) or wildcard certificate, such as *.staging.example.com, to encrypt data in transit. These steps collectively safeguard your test environment from external threats and maintain data confidentiality.
Quellen
For comprehensive testing and automation within an OTOBO staging system, a combination of tools and methods is highly recommended. For user interface (UI) and end-to-end (E2E) tests, tools like Playwright or Cypress are excellent for scripting browser interactions. System integrity can be verified using OTOBO's built-in console command bin/otobo.Console.pl Maint::Test::System. It's also vital to check data integrity and UI behavior manually. When automating data transfer, rsync is efficient for fast file synchronization. docker-compose can orchestrate the entire staging environment, while cron or systemd can schedule regular backups. Python scripts are useful for custom tasks like data anonymization or structural migrations, and integrations like LDAP or web services should be disabled or redirected to test servers.
Quellen