Zum Inhalt springen

Migration von ((OTRS)) Community Edition zu OTOBO

OTRS nach OTOBO migrieren Willkommen und vielen Dank, dass Sie sich für OTOBO entschieden haben! OTRS, ((OTRS)) Community Edition und OTOBO sind in ihrer Anwendung sehr umfassend und flexibel. OTOBO ist ein OTRS Nachfolger und Teil der open source ticket system Landschaft — daher erfordert jede Migration zu OTOBO eine gründliche Vorbereitung und möglicherweise auch etwas Nacharbeit.

Bitte nehmen Sie sich Zeit für die Migration und folgen Sie diesen Anweisungen Schritt für Schritt.

Mit der OTOBO Migrations-Schnittstelle ist es möglich, die folgenden Migrationsstrategien zu verwenden:

  1. Die allgemeine Migrationsstrategie.

    Dies ist der reguläre Weg, eine Migration durchzuführen. Viele verschiedene Kombinationen werden unterstützt:

    • Serverwechsel: Migrieren und gleichzeitig zu einem neuen Anwendungsserver wechseln.

    • Separate Anwendungs- und Webserver: Sie haben die Wahl, ob Sie Anwendungs- und Datenbankserver auf demselben Host oder auf jeweils einem dedizierten Host betreiben wollen. Diese Wahl ist unabhängig von der vorherigen Einrichtung in OTRS / ((OTRS)) Community Edition.

    • Verschiedene Datenbanken: Von einer beliebigen unterstützten Datenbank zu einer anderen unterstützten Datenbank migrieren.

    • Verschiedene Betriebssysteme: Von jedem unterstützten Betriebssystem zu einem anderen unterstützten Betriebssystem wechseln.

    • Docker: Zu einer Docker-basierten Installation von OTOBO 10 migrieren.

  2. Eine Variante der allgemeinen Strategie, bei der die Datenbankmigration optimiert wird.

Verwenden Sie die ETL-ähnliche Migration, wenn die Quelldatenbank nicht durch erhöhte Last belastet werden darf oder wenn der Zugriff auf die Quelldatenbank ein Engpass ist. In der allgemeinen Strategie werden die Daten Zeile für Zeile zuerst aus der otrs-Datenbank gelesen und dann in die OTOBO-Datenbank eingefügt. In dieser Variante werden die kompletten otrs-Datenbanktabellen zuerst exportiert, dann transformiert und dann in die otobo-Datenbank importiert.

  1. Migration von einer auf Oracle basierenden ((OTRS)) Community Edition 6 Installation zu einer auf Oracle basierenden OTOBO Installation.

Dies ist ein Sonderfall, der von der allgemeinen Migrationsstrategie nicht unterstützt wird. Das bedeutet, dass eine Variante der optimierten Strategie verwendet werden muss.

  1. Grundvoraussetzung für eine Migration ist, dass Sie bereits eine ((OTRS)) Community Edition oder OTRS 6.0.* laufen haben und sowohl Konfiguration als auch Daten auf OTOBO übertragen möchten.

  2. Sie benötigen eine laufende OTOBO Installation, um von dort aus die Migration zu starten!

  3. Diese OTOBO Installation muss alle OPM-Pakete enthalten, die in Ihrem ((OTRS)) Community Edition installiert sind und die Sie auch in OTOBO verwenden möchten.

  4. Wenn Sie planen, auf einen anderen Server zu migrieren, muss der OTOBO-Webserver auf den Speicherort zugreifen können, wo Ihre ((OTRS)) Community Edition oder OTRS 6.0._ installiert ist. In den meisten Fällen handelt es sich um das Verzeichnis _/opt/otrs* auf dem Server, auf dem ((OTRS)) Community Edition läuft. Der Lesezugriff kann über SSH oder über Dateisystem-Mounts erfolgen.

  5. Die ((otrs)) Community Edition-Datenbank muss vom Server, auf dem OTOBO läuft, zugänglich sein. Readonly-Zugriff muss für externe Hosts gewährt werden. Wenn der Zugriff nicht möglich ist oder wenn die Geschwindigkeit der Migration optimiert werden soll, dann ist ein Dump der Datenbank ausreichend.

Bitte beginnen Sie mit der Installation eines neuen OTOBO-Systems. Ihre alte OTRS / ((OTRS)) Community Edition-Installation wird auf dieses neue System migriert.

Nach Abschluss der Installation melden Sie sich bitte als root@localhost an. Navigieren Sie zum OTOBO Admin-Bereich Admin -> Pakete und installieren Sie alle erforderlichen OTOBO OPM-Pakete.

Die folgenden OPM-Pakete und ((OTRS)) Community Edition “Feature Addons” müssen NICHT und sollten NICHT installiert werden, da diese Funktionen bereits im OTOBO-Standard enthalten sind:

  • OTRSHideShowDynamicField
  • RotherOSSHideShowDynamicField
  • TicketForms
  • RotherOSS-LongEscalationPerformanceBoost
  • Znuny4OTRS-AdvancedDynamicFields
  • Znuny4OTRS-AutoSelect
  • Znuny4OTRS-EscalationSuspend
  • OTRSEscalationSuspend
  • OTRSDynamicFieldDatabase
  • OTRSDynamicFieldWebService
  • OTRSBruteForceAttackProtection
  • Znuny4OTRS-ExternalURLJump
  • Znuny4OTRS-QuickClose
  • Znuny4OTRS-AutoCheckbox
  • OTRSSystemConfigurationHistory
  • Znuny4OTRS-PasswordPolicy

Die folgenden OTOBO-Pakete wurden in OTOBO 10+ integriert. Das bedeutet, dass sie nicht im Zielsystem installiert werden sollten, wenn das Zielsystem OTOBO 10+ ist. - ImportExport

Nachdem Sie OTOBO installiert haben, melden Sie sich bitte erneut im OTOBO Admin-Bereich an Admin -> Systemkonfiguration und deaktivieren die Konfigurationsoption SecureMode.

Dies ist notwendig, wenn der OTOBO Daemon tatsächlich läuft. Das Stoppen des Daemons ist unterschiedlich zwischen Docker-basierten und nicht Docker-basierten Installationen.

Im Nicht-Docker-Fall führen Sie die folgenden Befehle als Benutzer otobo aus:

Terminal-Fenster
# falls Sie als root angemeldet sind
root> su - otobo
otobo> /opt/otobo/bin/Cron.sh stop
otobo> /opt/otobo/bin/otobo.Daemon.pl stop --force

Wenn OTOBO in Docker läuft, müssen Sie lediglich den Dienst daemon stoppen:

Terminal-Fenster
docker_admin> cd /opt/otobo-docker
docker_admin> docker-compose stop daemon
docker_admin> docker-compose ps # otobo_daemon_1 sollte mit dem Code 0 beendet haben
Optional /opt/otrs mounten

Oft soll OTOBO auf einem neuen Server laufen, wo /opt/otrs anfangs nicht verfügbar ist. In diesen Fällen kann das Verzeichnis /opt/otrs auf dem ((OTRS)) Community Edition-Server in das Dateisystem des OTOBO-Servers eingebunden werden. Wenn ein reguläres Netzwerk-Mount nicht möglich ist, könnte sshfs eine Option sein.

Dieser Schritt ist nur notwendig, wenn Sie ((OTRS)) Community Edition von einem anderen Server migrieren möchten und /opt/otrs vom Remote-Server nicht auf dem OTOBO-Server eingebunden wurde.

Die Werkzeuge sshpass und rsync werden benötigt, damit migration.pl Dateien per ssh kopieren kann. Um sshpass zu installieren, melden Sie sich bitte als Benutzer root auf dem Server an und führen Sie einen der folgenden Befehle aus:

sshpass unter Debian / Ubuntu Linux installieren
Terminal-Fenster
sudo apt install sshpass
sshpass unter RHEL/CentOS Linux installieren
Terminal-Fenster
sudo yum install sshpass
sshpass unter Fedora Linux installieren
Terminal-Fenster
sudo dnf install sshpass
sshpass unter OpenSUSE Linux installieren
Terminal-Fenster
sudo zypper install sshpass

Das Gleiche muss für rsync geschehen, wenn es noch nicht verfügbar ist.

Nun sind wir bereit für die Migration. Zunächst müssen wir sicherstellen, dass keine Tickets mehr bearbeitet werden und sich keine Benutzer bei ((OTRS)) Community Edition anmelden:

Bitte loggen Sie sich in den ((OTRS)) Community Edition Admin-Bereich Admin -> Systemwartung ein und fügen Sie einen neuen Systemwartungsslot für einige Stunden hinzu. Löschen Sie danach alle Agenten- und Benutzersitzungen (Admin -> Sitzungen) und loggen Sie sich aus.

Alle relevanten Dienste und den OTRS-Daemon stoppen

Abschnitt betitelt „Alle relevanten Dienste und den OTRS-Daemon stoppen“

Stellen Sie bitte sicher, dass keine Dienste oder Cron-Jobs laufen.

Terminal-Fenster
su - otrs
/opt/otrs/bin/Cron.sh stop
/opt/otrs/bin/otrs.Daemon.pl stop --force

Die zwischengespeicherten Daten und die Betriebsdaten müssen nicht migriert werden. Die E-Mail-Queue sollte zu diesem Zeitpunkt bereits leer sein.

Terminal-Fenster
su - otrs
/opt/otrs/bin/otrs.Console.pl Maint::Cache::Delete
/opt/otrs/bin/otrs.Console.pl Maint::Session::DeleteAll
/opt/otrs/bin/otrs.Console.pl Maint::Loader::CacheCleanup
/opt/otrs/bin/otrs.Console.pl Maint::WebUploadCache::Cleanup
/opt/otrs/bin/otrs.Console.pl Maint::Email::MailQueue --delete-all

Es gibt einige Besonderheiten zu beachten, wenn Ihre OTOBO-Installation unter Docker läuft. Das relevanteste: Prozesse, die in einem Docker-Container laufen, können generell keine Verzeichnisse außerhalb des Containers zugreifen. Es gibt jedoch eine Ausnahme: Verzeichnisse, die als Volumes in den Container eingebunden sind, können zugegriffen werden. Beachten Sie auch, dass die MariaDB-Datenbank, die in otobo_db_1 (otobo-db-1 in neueren docker compose Versionen) läuft, nicht direkt von außerhalb des Container-Netzwerks zugänglich ist.

Kopieren Sie /opt/otrs in das Volume otobo_opt_otobo

Abschnitt betitelt „Kopieren Sie /opt/otrs in das Volume otobo_opt_otobo“

In diesem Abschnitt gehen wir davon aus, dass das OTRS-Home-Verzeichnis /opt/otrs auf dem Docker-Host verfügbar ist.

Es gibt mindestens zwei praktikable Möglichkeiten:

a. Kopieren Sie /opt/otrs in das bestehende Volume otobo_opt_otobo

b. Binden Sie /opt/otrs als zusätzliches Volume ein

Konzentrieren wir uns hier auf Option a..

Zunächst müssen wir herausfinden, wo das Volume otobo_opt_otobo auf dem Docker-Host verfügbar ist.

Terminal-Fenster
otobo_opt_otobo_mp=$(docker volume inspect --format '{{ .Mountpoint }}' otobo_opt_otobo)
echo $otobo_opt_otobo_mp

Für sicheres Kopieren verwenden wir rsync. Je nach Ihrer Docker-Konfiguration muss der Befehl rsync möglicherweise mit sudo ausgeführt werden.

Terminal-Fenster
rsync --recursive --safe-links --owner --group --chown 1000:1000 --perms --chmod "a-wx,Fu+r,Du+rx" /opt/otrs/ $otobo_opt_otobo_mp/var/tmp/copied_otrs
ls -la $otobo_opt_otobo_mp/var/tmp/copied_otrs # nur zur Überprüfung
sudo rsync --recursive --safe-links --owner --group --chown 1000:1000 --perms --chmod "a-wx,Fu+r,Du+rx" /opt/otrs/ $otobo_opt_otobo_mp/var/tmp/copied_otrs
sudo ls -la $otobo_opt_otobo_mp/var/tmp/copied_otrs # nur zur Überprüfung

Dieses kopierte Verzeichnis wird innerhalb des Containers als /opt/otobo/var/tmp/copied_otrs verfügbar sein.

Bitte verwenden Sie das Webmigrations-Tool unter http://localhost/otobo/migration.pl. Beachten Sie, dass Sie möglicherweise “localhost” durch Ihren OTOBO-Hostnamen ersetzen und möglicherweise Ihren nicht standardmäßigen Port hinzufügen müssen. Die Anwendung leitet Sie dann durch den Migrationsprozess.

Benutzerspezifische Einstellungen in Kernel/Config.pm werden von der alten OTRS-Installation auf die neue OTOBO-Installation übertragen. Wenn Sie benutzerspezifische Einstellungen haben, sollten Sie einen Blick auf die migrierte Datei /opt/otobo/Kernel/Config.pm werfen. Möglicherweise möchten Sie benutzerdefinierte Pfade oder LDAP-Einstellungen anpassen. Im besten Fall stellen Sie fest, dass einige benutzerdefinierte Einstellungen nicht mehr benötigt werden.

Wenn die Migration abgeschlossen ist, nehmen Sie sich bitte Zeit und testen Sie das gesamte System. Sobald Sie entschieden haben, dass die Migration erfolgreich war und Sie OTOBO von jetzt an verwenden möchten, starten Sie den OTOBO-Daemon:

Terminal-Fenster
su - otobo
/opt/otobo/bin/Cron.sh start
/opt/otobo/bin/otobo.Daemon.pl start

Im Docker-Fall:

Terminal-Fenster
cd ~/otobo-docker
docker-compose start daemon
  1. Deinstallieren Sie sshpass, wenn Sie es nicht mehr benötigen.

  2. Löschen Sie die Datenbanken und Datenbanknutzer, die speziell für die Migration erstellt wurden, falls vorhanden.

  3. Viel Spaß mit OTOBO!

Während unserer Migrationstests hatte der für die Migration verwendete Browser manchmal Probleme. Nach dem Neustart des Browsers wurde dieses Problem normalerweise gelöst. Bei Safari war es manchmal notwendig, die alte OTRS-Sitzung manuell zu löschen.

Finale Seite der Migration hat ein seltsames Layout

Abschnitt betitelt „Finale Seite der Migration hat ein seltsames Layout“

Das kann passieren, wenn die Einstellung ScriptAlias einen nicht standardmäßigen Wert hat. Die Migration ersetzt einfach otrs durch otobo. Das kann dazu führen, dass die CSS- und JavaScript-Dateien in OTOBO nicht mehr abgerufen werden können. Wenn dies der Fall ist, überprüfen Sie bitte die Einstellungen in Kernel/Config.pm und ändern Sie diese zurück auf vernünftige Werte.

Auf Systemen, die in der Vergangenheit Probleme bei einem Upgrade hatten, kann der Migrationsprozess aufgrund von MySQL-Fehlern in den Tabellen ticket und ticket_history stoppen. In der Regel handelt es sich dabei um NULL-Werte in der Quelltabelle, die in der Zieltabelle nicht mehr zulässig sind. Diese Konflikte müssen manuell gelöst werden, bevor Sie die Migration fortsetzen können.

Ab OTOBO 10.0.12 gibt es eine Prüfung in migration.pl, die auf NULL-Werte vor der Datenübertragung prüft. Beachten Sie, dass die Lösung immer noch manuell durchgeführt werden muss.

Fehler in Schritt 5 bei der Migration zu PostgreSQL

Abschnitt betitelt „Fehler in Schritt 5 bei der Migration zu PostgreSQL“

In diesen Fällen wird die nicht sehr hilfreiche Nachricht “Das System konnte die Datenübertragung nicht abschließen.” von migration.pl angezeigt. Das Apache-Logfile und das OTOBO-Logfile zeigen eine aussagekräftigere Nachricht: ” Fehlermeldung: ERROR: permission denied to set parameter “session_replication_role”, SQL: ‘set session_replication_role to replica;’” Um dem Datenbanknutzer otobo die benötigten Superuser-Privilegien zu gewähren, führen Sie folgenden Befehl als PostgreSQL-Admin aus: ALTER USER otobo WITH SUPERUSER;. Versuchen Sie dann erneut, http://localhost/otobo/migration.pl auszuführen. Nach der Migration, kehren Sie zum normalen Zustand zurück, indem Sie ALTER USER otobo WITH NOSUPERUSER ausführen.

Es ist noch nicht klar, ob die erweiterten Privilegien in jedem Setup gewährt werden müssen.

Probleme mit dem Deployment der zusammengeführten Systemkonfiguration

Abschnitt betitelt „Probleme mit dem Deployment der zusammengeführten Systemkonfiguration“

Die Systemkonfiguration wird migriert, nachdem die Datenbanktabellen migriert wurden. In diesem Kontext bedeutet Migration, dass die Standardeinstellungen von OTOBO mit der Systemkonfiguration des Quell-OTRS-Systems zusammengeführt werden. In diesem Schritt können Inkonsistenzen auftreten. Ein Beispiel aus der Praxis ist die Einstellung Ticket::Frontend::AgentTicketQuickClose###State. Diese Einstellung ist neu in OTOBO 10 und der Standardwert ist der Status closed successful. Aber diese Einstellung ist ungültig, wenn der Status closed successful im Quellsystem gelöscht oder umbenannt wurde. Diese Inkonsistenz wird als Fehler im Migrationschritt Migrate configuration settings erkannt. Die zusammengeführte Systemkonfiguration wird tatsächlich in der Datenbank gespeichert, aber zusätzliche Gültigkeitsprüfungen werden während der Bereitstellung durchgeführt.

Das Problem muss manuell mittels OTOBO-Konsolenbefehlen behoben werden.

  • Listet die Inkonsistenzen mit dem Befehl bin/otobo.Console.pl Admin::Config::ListInvalid auf.

  • Beheben Sie die ungültigen Werte interaktiv mit bin/otobo.Console.pl Admin::Config::FixInvalid.

  • Deployen Sie die gesammelten Änderungen von migration.pl, einschließlich des deaktivierten SecureMode, mit bin/otobo.Console.pl Maint::Config::Rebuild.

Nach diesen manuellen Schritten sollten Sie in der Lage sein, migration.pl erneut auszuführen. Die Migration wird mit dem Schritt fortgesetzt, in dem der Fehler auftrat.

Mit OTOBO 10 tritt eine neue Standard-Passwortrichtlinie für Agenten- und Kundenbenutzer in Kraft, wenn die lokale Authentifizierung verwendet wird. Die Passwortrichtlinienregeln können in der Systemkonfiguration (PreferencesGroups###Password und CustomerPersonalPreference###Password) geändert werden.

| Passwortrichtlinienregel | Standard |

|-------------------------------------------|--------------------|

| PasswordMinSize | 8 |

| PasswordMin2Lower2UpperCharacters | Ja |

| PasswordNeedDigit | Ja |

| PasswordHistory | 10 |

| PasswordTTL | 30 Tage |

| PasswordWarnBeforeExpiry | 5 Tage |

| PasswordChangeAfterFirstLogin | Ja |

In einer nicht Docker-basierten Installation von OTOBO gibt es mindestens einen Cron-Job, der die Gesundheit des Daemons überprüft. Unter Docker existiert dieser Cron-Job nicht mehr. Darüber hinaus läuft kein Cron-Daemon in einem der Docker-Container. Dies bedeutet, dass Sie nach einer individuellen Lösung für OTRS-Systeme mit benutzerspezifischen Cron-Jobs suchen müssen (z. B. Backup der Datenbank).

Für die Migration zu Oracle muss die ETL-ähnliche Strategie angewendet werden. Dies liegt daran, dass Oracle keinen einfachen Weg bietet, die Überprüfung von Fremdschlüsseln vorübergehend auszuschalten.

Auf dem OTOBO-Host muss ein Oracle-Client sowie das Perl-Modul DBD::Oracle installiert sein.

Es gibt viele Möglichkeiten, ein Schema zu klonen. In den Beispielbefehlen verwenden wir expdp und impdp, die Data Pump unter der Haube nutzen.

  1. Bereinigung von otobo

Stoppen Sie den Webserver für otobo, damit die DB-Verbindung für otobo geschlossen wird.

DROP USER otobo CASCADE
  1. Export des gesamten OTRS-Schemas.
Terminal-Fenster
mkdir /tmp/otrs_dump_dir
CREATE DIRECTORY OTRS_DUMP_DIR AS '/tmp/otrs_dump_dir';
GRANT READ, WRITE ON DIRECTORY OTRS_DUMP_DIR TO sys;
Terminal-Fenster
expdp \"sys/Oradoc_db1@//127.0.0.1/orclpdb1.localdomain as sysdba\" schemas=otrs directory=OTRS_DUMP_DIR dumpfile=otrs.dmp logfile=expdpotrs.log
  1. Das OTRS-Schema importieren und das Schema in ‘otobo’ umbenennen.
Terminal-Fenster
impdp \"sys/Oradoc_db1@//127.0.0.1/orclpdb1.localdomain as sysdba\" directory=OTRS_DUMP_DIR dumpfile=otrs.dmp logfile=impdpotobo.log remap_schema=otrs:otobo
select owner, table_name from all_tables where table_name like 'ARTICLE_DATA_OT%_CHAT';
ALTER USER otobo IDENTIFIED BY XXXXXX;
  1. Anpassen des geklonten Schemas otobo
Terminal-Fenster
cd /opt/otobo
scripts/backup.pl --backup-type migratefromotrs # es ist in Ordnung, dass der Befehl nur von der otobo Datenbank weiß, nur die letzte Zeile ist relevant
sqlplus otobo/otobo@//127.0.0.1/orclpdb1.localdomain < /home/bernhard/devel/OTOBO/otobo/2021-03-31_13-36-55/orclpdb1.localdomain_post.sql >sqlplus.out 2>&1
Zur Kontrolle mit `select owner, table_name from all_tables where table_name like 'ARTICLE_DATA_OT%_CHAT';
  1. Starten Sie den Webserver für OTOBO erneut

  2. Fahren Sie mit Schritt 5 fort, das heißt, führen Sie migration.pl aus.

Optional: Vereinfachte Migration der Datenbank (nur für Experten und spezielle Szenarien)

Abschnitt betitelt „Optional: Vereinfachte Migration der Datenbank (nur für Experten und spezielle Szenarien)“

In der allgemeinen Migrationsstrategie werden alle Daten in den Datenbanktabellen Zeile für Zeile von der OTRS-Datenbank in die OTOBO-Datenbank kopiert. Das Exportieren der Daten aus der OTRS-Datenbank und das Importieren in die OTOBO-Datenbank kann Zeit sparen und ist in einigen Fällen stabiler.

Zuallererst benötigen wir einen Dump der benötigten OTRS-Datenbanktabellen. Dann müssen wir einige Transformationen durchführen:

  • Konvertierung des Zeichensatzes zu utf8mb4

  • Umbenennung einiger Tabellen

  • Kürzung einiger Tabellenspalten

Nach der Transformation können wir die Tabellen im OTOBO-Schema mit den transformierten Daten aus OTRS überschreiben. Effektiv benötigen wir nicht eine einzige Dump-Datei, sondern mehrere SQL-Skripte.

Wenn mysqldump installiert ist und eine Verbindung zur OTRS-Datenbank möglich ist, können Sie den Datenbankdump direkt auf dem Docker-Host erstellen. Dieser Fall wird durch das Skript bin/backup.pl unterstützt.

Terminal-Fenster
cd /opt/otobo
scripts/backup.pl -t migratefromotrs --db-name otrs --db-host=127.0.0.1 --db-user otrs --db-password "secret_otrs_password"

Das Skript bin/backup.pl erzeugt vier SQL-Skripte in einem Dump-Verzeichnis, z.B. in 2021-04-13_12-13-04. Um die SQL-Skripte auszuführen, müssen wir den Befehl mysql ausführen.

Terminal-Fenster
cd <dump_dir>
mysql -u root -p<root_secret> otobo < otrs_pre.sql
mysql -u root -p<root_secret> otobo < otrs_schema_for_otobo.sql
mysql -u root -p<root_secret> otobo < otrs_data.sql
mysql -u root -p<root_secret> otobo < otrs_post.sql

Führen Sie den Befehl mysql innerhalb des Docker-Containers db aus, um die Datenbank-Dump-Dateien zu importieren. Beachten Sie, dass das Passwort für den Datenbank-Root nun das Passwort ist, das in der Datei .env auf dem Docker-Host festgelegt wurde.

Terminal-Fenster
cd /opt/otobo-docker
docker-compose exec -T db mysql -u root -p<root_secret> otobo < /opt/otobo/<dump_dir>/otrs_pre.sql
docker-compose exec -T db mysql -u root -p<root_secret> otobo < /opt/otobo/<dump_dir>/otrs_schema_for_otobo.sql
docker-compose exec -T db mysql -u root -p<root_secret> otobo < /opt/otobo/<dump_dir>/otrs_data.sql
docker-compose exec -T db mysql -u root -p<root_secret> otobo < /opt/otobo/<dump_dir>/otrs_post.sql

Für eine schnelle Überprüfung, ob der Import funktioniert hat, können Sie die folgenden Befehle ausführen.

Terminal-Fenster
mysql -u root -p<root_secret> -e 'SHOW DATABASES'
mysql -u root -p<root_secret> otobo -e 'SHOW TABLES'
mysql -u root -p<root_secret> otobo -e 'SHOW CREATE TABLE ticket'

oder bei Ausführung unter Docker

Terminal-Fenster
docker-compose exec -T db mysql -u root -p<root_secret> -e 'SHOW DATABASES'
docker-compose exec -T db mysql -u root -p<root_secret> otobo -e 'SHOW TABLES'
docker-compose exec -T db mysql -u root -p<root_secret> otobo -e 'SHOW CREATE TABLE ticket'

Die Datenbank ist nun migriert. Dies bedeutet, dass wir im nächsten Schritt die Datenbankmigration überspringen können. Achten Sie auf das entsprechende Kontrollkästchen.

Sichere Migration zu OTOBO

Planen Sie Datenübernahme, Staging-Testlauf, Erweiterungsprüfung und Go-live nahtlos gemeinsam mit unseren OTOBO-Spezialisten.

Häufig gestellte Fragen

Ist eine Migration von der OTRS Community Edition zu OTOBO möglich und wie sicher ist der Prozess?

Ja, eine Migration von der OTRS Community Edition zu OTOBO ist nicht nur möglich, sondern auch ein gut dokumentierter Prozess. OTOBO ist ein direkter Nachfolger und Fork von OTRS, der die Weiterentwicklung des Open-Source-Ticketsystems sicherstellt. Diese Anleitung beschreibt detailliert die notwendigen Anforderungen und Schritte, um Ihre Daten sicher und reibungslos nach OTOBO zu übernehmen. Es wird betont, dass während der Migration keine Daten der OTRS 6 Installation geändert werden, was die Sicherheit Ihrer Quelldaten gewährleistet. Nach erfolgreicher Migration stehen alle zuvor in OTRS Community Edition 6 verfügbaren Daten in OTOBO 10 zur Verfügung.

Welche grundlegenden Anforderungen müssen vor einer Migration von OTRS zu OTOBO erfüllt sein?

Bevor Sie mit der Migration beginnen, müssen mehrere grundlegende Anforderungen erfüllt sein, um einen reibungslosen Übergang zu gewährleisten. Zunächst benötigen Sie eine laufende OTRS Community Edition oder OTRS 6.0.
-Installation, deren Konfiguration und Daten Sie übertragen möchten. Des Weiteren ist eine bereits installierte und lauffähige OTOBO-Instanz erforderlich, von der aus die Migration gestartet wird. Diese OTOBO-Installation muss alle OPM-Pakete enthalten, die Sie auch in Ihrer OTRS Community Edition verwendet haben und in OTOBO weiter nutzen möchten. Wenn Sie auf einen anderen Server migrieren, muss der OTOBO-Webserver Lesezugriff auf das OTRS-Installationsverzeichnis (typischerweise /opt/otrs*) haben, entweder über SSH oder Dateisystem-Mounts. Schließlich muss die OTRS Community Edition-Datenbank vom OTOBO-Server aus zugänglich sein, idealerweise mit Readonly-Zugriff für externe Hosts. Falls kein direkter Zugriff möglich ist, kann ein Datenbank-Dump verwendet werden.

Welche verschiedenen Migrationsstrategien stehen für den Umstieg von OTRS auf OTOBO zur Verfügung?

OTOBO bietet flexible Migrationsstrategien, um unterschiedlichen Anforderungen gerecht zu werden. Die allgemeine Migrationsstrategie ist der Standardweg und unterstützt vielfältige Szenarien wie den Wechsel des Servers, die Trennung von Anwendungs- und Webservern, die Migration zwischen verschiedenen Datenbanktypen oder Betriebssystemen sowie die Migration zu einer Docker-basierten OTOBO-Installation. Eine optimierte Variante der allgemeinen Strategie ist die ETL-ähnliche Migration, die sich empfiehlt, wenn die Quelldatenbank nicht durch erhöhte Last belastet werden darf oder der Zugriff darauf ein Engpass ist. Hierbei werden die OTRS-Datenbanktabellen exportiert, transformiert und dann in die OTOBO-Datenbank importiert. Ein Sonderfall ist die Migration von einer Oracle-basierten OTRS Community Edition 6 zu einer Oracle-basierten OTOBO-Installation, die ebenfalls die optimierte Strategie erfordert. Es ist auch möglich, die OTRS-Datenbank vorab auf den OTOBO-Datenbankserver zu klonen, um die allgemeine Migrationsstrategie zu beschleunigen.

Sollte ich bei der Migration alle OTRS-Daten und Konfigurationen übernehmen oder ist ein Neuanfang in OTOBO sinnvoll?

Die Entscheidung, ob Sie alle Daten und Konfigurationen von OTRS übernehmen oder einen Neuanfang in OTOBO wagen, ist entscheidend und sollte sorgfältig abgewogen werden. Die Erfahrung zeigt, dass in vielen Fällen ein Neuanfang die bessere Option sein kann, da zuvor verwendete Installationen und Konfigurationen oft suboptimal waren. Es könnte sinnvoll sein, nur die reinen Ticketdaten zu übertragen und die Grundkonfiguration in OTOBO auf Best Practices umzustellen. Dies bietet die Möglichkeit, alte "Altlasten" zu beseitigen und von den modernen Funktionen und der optimierten Architektur von OTOBO zu profitieren. Wenn Sie sich jedoch für die Übernahme entscheiden, stellen Sie sicher, dass Ihre OTOBO-Installation alle benötigten OPM-Pakete enthält, die Sie auch in OTRS genutzt haben.

Welche OPM-Pakete aus der OTRS Community Edition sollten nach der OTOBO-Installation nicht erneut installiert werden?

Nach der Installation eines neuen OTOBO-Systems und vor dem Start der Migration ist es wichtig, die erforderlichen OPM-Pakete im OTOBO Admin-Bereich zu installieren. Es gibt jedoch eine Reihe von OPM-Paketen und OTRS Community Edition "Feature Addons", die nicht installiert werden müssen und auch nicht sollten, da deren Funktionalität bereits standardmäßig in OTOBO enthalten ist. Dazu gehören unter anderem: OTRSHideShowDynamicField, RotherOSSHideShowDynamicField, TicketForms, RotherOSS-LongEscalationPerformanceBoost, Znuny4OTRS-AdvancedDynamicFields, Znuny4OTRS-AutoSelect, Znuny4OTRS-EscalationSuspend, OTRSEscalationSuspend, OTRSDynamicFieldDatabase, OTRSDynamicFieldWebService, OTRSBruteForceAttackProtection, Znuny4OTRS-ExternalURLJump, Znuny4OTRS-QuickClose, Znuny4OTRS-AutoCheckbox, OTRSSystemConfigurationHistory, und Znuny4OTRS-PasswordPolicy. Das Vermeiden dieser redundanten Installationen hilft, Konflikte zu vermeiden und die Systemleistung zu optimieren.

Gibt es beim Betrieb von OTRS und OTOBO auf demselben Webserver Besonderheiten zu beachten?

Ja, es gibt wichtige Fallstricke zu beachten, wenn Sie versuchen, sowohl OTRS Community Edition als auch OTOBO auf demselben Webserver, insbesondere unter Apache, zu betreiben. Der Hauptgrund hierfür sind mögliche Konflikte beim Betrieb von zwei unabhängigen mod_perl-Anwendungen. Es wird dringend empfohlen, OTRS Community Edition und OTOBO auf getrennten Webservern zu betreiben, um solche Probleme zu vermeiden. Alternativ, falls ein getrennter Server nicht möglich ist, sollte die OTRS-Konfiguration aus Apache entfernt werden, bevor OTOBO installiert wird. Sie können den Befehl a2query -s verwenden und die Verzeichnisse /etc/apache2/sites-available und /etc/apache2/sites-enabled überprüfen, um festzustellen, welche Konfigurationen aktiv sind und gegebenenfalls die OTRS-Konfiguration deaktivieren.