informationen:blog:otrs_serverumzug_intranet_internet

OTRS Serverumzug

Umzug von

# lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 9.5 (stretch)
Release:	9.5
Codename:	stretch
 
# uname -a
Linux intranet2 4.9.0-4-686-pae #1 SMP Debian 4.9.65-3+deb9u1 (2017-12-23) i686 GNU/Linux

nach

# lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 9.5 (stretch)
Release:	9.5
Codename:	stretch
 
# uname -a
Linux server37 4.9.0-7-amd64 #1 SMP Debian 4.9.110-1 (2018-07-05) x86_64 GNU/Linux

OTRS ist im Intranet (alter Server) aktuell (OTRS 6 Patch Level 10). Um fehlenden Paketen usw. während des Umzuges aus dem Weg zu gehen, wurde OTRS auf dem neuen Server ohne weitere Konfiguration nach dem OTRS Admin Manual installiert.

Auf dem Server im Intranet muss lediglich ein Dump des ganzen erstellt werden. Zuvor den Apache stoppen um einen eventuellen Zugriff durch die Nutzer zu verhindern.

# service apache2 stop
# tar vczf otrs.tar.gz /opt/otrs
# mysqldump -u otrsbenutzer -p otrsdatenbank > otrs_20180918.dump

Die zwei Dateien (otrs.tar.gz und otrs_20180918.dump) dann auf den neuen Server (via scp, FTP oder ähnlichem) kopieren. Das wars fürs erste.

Ab hier wird es ein wenig komplizierter. Durch den Umzug stimmen ggf. die Hosteinträge in den Dateien nicht mehr. Geändert werden muss der FQDN von alterserver.intern auf neuerserver.org. Von Vorteil ist, wenn beides (otrs/ und otrs_20180918.dump) im selben Verzeichnis/Unterverzeichnis liegen. Dann kann man dies mit einem Einzeiler mittelsfind und sed erledigen.

# cd /tmp/otrs-transfer/
# ls -l
total .......
-rw-r--r-- 1 web1 client1   30606385 Sep 18 21:16 otrs_20180918.dump
-rw-r--r-- 1 web1 client1  130594629 Sep 18 20:44 otrs.tar.gz
# tar vxzf otrs.tar.gz
[...]
# ls -l
total .......
drwxr-xr-x 9 otrs www-data      4096 Sep 18 21:08 otrs
-rw-r--r-- 1 web1 client1   30606385 Sep 18 21:16 otrs_20180918.dump
-rw-r--r-- 1 web1 client1  130594629 Sep 18 20:44 otrs.tar.gz
# find /tmp/otrs-transfer -type f -exec sed -i 's/alterserver.intern/neuerserver.org/g' {} \;

Da auf dem neuen Server schon eine Installation von OTRS existiert, müssen die vorhandenen Tabellen in der Datenbank otrs gelöscht werden. Dies geht am einfachsten mittels phpMyAdmin. Im Internet kursieren auch einige Einzeiler um das ganze via Konsole zu erledigen.

HINWEIS: Bei folgendem Befehl wird das Kennwort in der Historie gespeichert. Es empfiehlt sich ein # unset HISTFILE um das mitschreiben der Historie zu unterbinden.

# mysqldump -uotrsdbbenutzer -potrsdbpasswort --no-data --add-drop-table otrs | grep DROP | mysql  -uotrsdbbenutzer -potrsdbpasswort otrs

Danach den Dump des alten Servers einlesen

# mysql -u otrs -p otrs < otrs_20180918.dump

Anpassen der Konfiguration falls sich die Passwörter der Datenbank unterscheiden

# vim /tmp/otrs-transfer/otrs/Kernel/Config.pm

Anpassen des Bereichs

    # ---------------------------------------------------- #
    # database settings                                    #
    # ---------------------------------------------------- #
 
    # The database host
    $Self->{'DatabaseHost'} = '127.0.0.1';
 
    # The database name
    $Self->{'Database'} = "otrs2";
 
    # The database user
    $Self->{'DatabaseUser'} = "otrs2";
 
    # The password of database user. You also can use bin/otrs.Console.pl Maint::Database::PasswordCrypt
    # for crypted passwords
    $Self->{'DatabasePw'} = 'MeinGanzGehe1me5PaßßWortfürDieDat3nbank';

Verzeichnisse kopieren

# mv /tmp/otrs-transfer/otrs/ /opt/otrs/

OTRS überprüfen und Benutzerrechte anpassen

# cd /opt/otrs/
# bin/otrs.SetPermissions.pl
# perl /opt/otrs/bin/otrs.CheckModules.pl
  o Apache::DBI......................ok (v1.12)
  o Apache2::Reload..................ok (v0.13)
  o Archive::Tar.....................ok (v2.04_01)
  o Archive::Zip.....................ok (v1.59)
  o Crypt::Eksblowfish::Bcrypt.......ok (v0.009)
  o Crypt::SSLeay....................ok (v0.73_04)
  o Date::Format.....................ok (v2.24)
  o DateTime.........................ok (v1.42)
  o DBI..............................ok (v1.636)
  o DBD::mysql.......................ok (v4.041)
  o DBD::ODBC........................Not installed!(optional - Required to connect to a MS-SQL database.)
  o DBD::Oracle......................Not installed!(optional - Required to connect to a Oracle database.)
  o DBD::Pg..........................Not installed!(optional - Required to connect to a PostgreSQL database.)
  o Digest::SHA......................ok (v5.95_01)
  o Encode::HanExtra.................ok (v0.23)
  o IO::Socket::SSL..................ok (v2.044)
  o JSON::XS.........................ok (v3.03)
  o List::Util::XS...................ok (v1.47)
  o LWP::UserAgent...................ok (v6.26)
  o Mail::IMAPClient.................ok (v3.38)
    o IO::Socket::SSL................ok (v2.044)
    o Authen::SASL...................ok (v2.16)
    o Authen::NTLM...................ok (v1.09)
  o ModPerl::Util....................ok (v2.000010)
  o Net::DNS.........................ok (v1.07)
  o Net::LDAP........................ok (v0.65)
  o Template.........................ok (v2.24)
  o Template::Stash::XS..............ok (undef)
  o Text::CSV_XS.....................ok (v1.26)
  o Time::HiRes......................ok (v1.9733)
  o XML::LibXML......................ok (v2.0128)
  o XML::LibXSLT.....................ok (v1.95)
  o XML::Parser......................ok (v2.44)
  o YAML::XS.........................ok (v0.63)
# perl -cw /opt/otrs/bin/cgi-bin/index.pl
/opt/otrs/bin/cgi-bin/index.pl syntax OK
# perl -cw /opt/otrs/bin/cgi-bin/customer.pl
/opt/otrs/bin/cgi-bin/customer.pl syntax OK
# perl -cw /opt/otrs/bin/otrs.Console.pl
/opt/otrs/bin/otrs.Console.pl syntax OK

Und den Apache neu starten

# service apache2 restart

Anschließend sollte OTRS über die neue Adresse erreichbar sein.