OTRS 6 Installationsanleitung (Community Edition)

Schritt für Schritt Anleitung für die Installation des Open-Source Helpdesk-Systems OTRS 6 (Community Edition) in der neusten Version für alle gängigen Linux Distributionen (minimale Installation).
((OTRS)) Community Edition

Hinweis: Der einfachheitshalber werden alle Linux-Befehle ohne den Zusatz sudo angezeigt, welches jedoch für einige Befehle benötigt wird, wenn die Installation nicht als root durchgeführt wird.

Befehle können trotz der Kommentare 1:1 kopiert und in der Kommandozeile eingefügt werden.

Linux-Distribution auf dem OTRS installiert werden soll:










1. Linux Pakete

dnf config-manager --set-enabled powertools && `# Erweitert die Paketverwaltung` \
dnf upgrade -y &&                              `# Aktualisiert installierte Pakete` \
dnf install -y -d1 \
    epel-release                               `# Repository für zusätzliche Pakete` \
    httpd                                      `# Apache als Webserver` \
    mariadb mariadb-server                     `# MariaDB als DBMS` \
    cpanminus                                  `# Ermöglicht das Installieren von aktuellen Perl-Modulen` \
    tar
subscription-manager repos --enable "codeready-builder-for-rhel-8-$(/bin/arch)-rpms" && `# Erweitert die Paketverwaltung` \
dnf upgrade -y &&                                                          `# Aktualisiert installierte Pakete` \
dnf install -y -d1 \
    https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm `# Repository für zusätzliche Pakete` \
    httpd                                                                  `# Apache als Webserver` \
    mariadb mariadb-server                                                 `# MariaDB als DBMS` \
    cpanminus                                                              `# Ermöglicht das Installieren von aktuellen Perl-Modulen` \
    tar                                                                    `# Zum Entpacken von Dateien`
apt -y -qq upgrade &&             `# Aktualisiert installierte Pakete` \
apt install -y -qq \
    apache2                       `# Apache als Webserver` \
    mariadb-client mariadb-server `# Apache als Webserver und MariaDB als DBMS` \
    cpanminus                     `# Ermöglicht das Installieren von aktuellen Perl-Modulen`
apt -y -qq upgrade &&             `# Aktualisiert installierte Pakete` \
apt install -y -qq \
    apache2                       `# Apache als Webserver` \
    mariadb-client mariadb-server `# Apache als Webserver und MariaDB als DBMS` \
    cpanminus                     `# Ermöglicht das Installieren von aktuellen Perl-Modulen` \
    curl                          `# Zum Herunterladen von Dateien` \
    make                          `# Abhängigkeit zum Installieren von Paketen`
zypper addrepo https://download.opensuse.org/repositories/devel:languages:perl/$(hostnamectl | grep -oP 'Operating System: \K.*' | tr ' ' '_')/devel:languages:perl.repo && `# Erweitert die Paketverwaltung` \
zypper --no-gpg-checks refresh && \
zypper update -y &&                `# Aktualisiert installierte Pakete` \
zypper -q -n install \
    perl-Module-Install-Repository `# Repository für zusätzliche Pakete` \
    apache2                        `# Apache als Webserver` \
    mariadb mariadb-client         `# MariaDB als DBMS` \
    perl-App-cpanminus             `# Ermöglicht das Installieren von aktuellen Perl-Modulen` \
    make                           `# Abhängigkeit zum Installieren von Paketen`

2. Linux Einstellungen

Datenbank

Die Datenbank-Konfiguration /etc/my.cnf.d/mariadb-server.cnf muss angepasst werden.
Die Änderungen werden unter [mysqld] hinzugefügt. Das geht mit folgendem Befehl automatisch:

sed -i '/\[mysqld\]/a max_allowed_packet=64M\nquery_cache_size=32M\ninnodb_log_file_size=256M\ncharacter-set-server=utf8\ncollation-server=utf8_unicode_ci' /etc/my.cnf.d/mariadb-server.cnf

Die Datenbank-Konfiguration /etc/mysql/mariadb.conf.d/50-server.cnf muss angepasst werden.
Die Änderungen werden unter [mysqld] hinzugefügt. Das geht mit folgendem Befehl automatisch:

sed -i '/\[mysqld\]/a max_allowed_packet=64M\ninnodb_log_file_size=256M\n' /etc/mysql/mariadb.conf.d/50-server.cnf

Die Datenbank-Konfiguration /etc/my.cnf muss angepasst werden.
Die Änderungen werden unter [mysqld] hinzugefügt. Das geht mit folgendem Befehl automatisch:

sed -i '/\[mysqld\]/a max_allowed_packet=64M\nquery_cache_size=32M\ninnodb_log_file_size=256M\ncharacter-set-server=utf8\ncollation-server=utf8_unicode_ci' /etc/my.cnf

[mysqld]
# …
max_allowed_packet=64M
query_cache_size=32M
innodb_log_file_size=256M
character-set-server=utf8
collation-server=utf8_unicode_ci

Anschließend wird die Grundkonfiguration für den Datenbank-Server gestartet. Eine Hilfestellung ist unter dem Befehl zu finden.

systemctl restart mariadb && `# Datenbank-Server starten` \
mysql_secure_installation    `# Grundkonfiguration starten`
Enter current password for root (enter for none):
# Ohne Eingabe Enter drücken.
Set root password?
# Y
New password:
# Neues Root-Passwort eingeben (sicher aufbewahren)
Re-enter new password:
# Neues Root-Passwort wiederholen
Remove anonymous users?
# Y
Disallow root login remotely?
# Y
Remove test database and access to it?
# Y
Reload privilege tables now?
# Y

Seit MariaDB 10.4.3 ist das Anmelden als DB-User root nur in der Shell und als Superuser möglich (weitere Informationen). Aus diesem Grund muss die OTRS Datenbank per Hand erstellt werden.
Hinweis: Ändern Sie das Passwort CustomPassword im unten genannten Befehl. Das Passwort wird als Klartext gespeichert. Sie werden aufgefordert, das root-Passwort für die Datenbank einzugeben.

mysql -p -uroot -e "CREATE DATABASE otrs CHARACTER SET utf8; GRANT ALL PRIVILEGES ON otrs.* TO otrs@localhost IDENTIFIED BY 'CustomPassword' WITH GRANT OPTION; FLUSH PRIVILEGES;"

Firewall

Damit OTRS aus dem Browser aufgerufen werden kann, müssen die Ports für HTTP und HTTPS geöffnet werden:

firewall-cmd --zone=public --add-port=80/tcp --permanent &&  `# HTTP` \
firewall-cmd --zone=public --add-port=443/tcp --permanent && `# HTTPS` \
firewall-cmd --reload                                        `# Inbetriebnahme der neuen Einstellungen`

SELinux

OTRS setzt ein deaktiviertes SELinux voraus.
Hinweis: Wenn SELinux benutzten werden muss, werden Ausnahmeregelungen benötigt. Da der Status auf permisse gestellt wird, werden alle Regeln geloggt, die später als Ausnahme hinzugefügt werden müssen.

setenforce 0 &&                                                       `# Deaktiviert SElinux für die aktuelle Sitzung` \
sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config `# Deaktiviert SElinux komplett`

Mit dem Befehl sestatus kann der aktuelle Status abgefragt werden. Unter Current mode sollte jetzt permissive stehen.

3. OTRS Installation

Download und Verlinkung

Die Installation erfolgt historisch bedingt im /opt/ Verzeichnis. Zudem wird eine symbolische Verlinkung erstellt, damit der Pfad immer derselbe bleibt — auch bei Updates.

cd /opt/ && `# In das Verzeichnis wechseln` \
curl https://download.znuny.org/releases/otrs-latest-6.0.tar.gz -P ./ | tar xvz > /dev/null 2>&1 && `# Neueste OTRS Version herunterladen und entpacken` \
ln -fns $(ls | grep "otrs-6.0*") otrs `# otrs-6.0.x zu otrs verlinken`

Die Installation erfolgt historisch bedingt im /opt/ Verzeichnis.

cd /opt/ && `# In das Verzeichnis wechseln` \
curl https://download.znuny.org/releases/otrs-latest-6.0.tar.gz -P ./ | tar xvz > /dev/null 2>&1 && `# Neueste OTRS Version herunterladen und entpacken` \
mv $(ls | grep "otrs-6.0*") otrs `# otrs-6.0.x zu otrs bewegen`

Installation der Perl-Module

OTRS benötigt einige zusätzliche Perl-Module. Mit diesem Befehl ist die Einsicht aller bereits installierten und noch benötigten Module möglich:

/opt/otrs/bin/otrs.CheckModules.pl

Sie können entweder jedes Paket per Hand installieren oder folgenden Befehl ausführen, der die Abhängigkeiten automatisch installiert.
Hinweis: Es ist dringend zu empfehlen, dass auch die optionalen Pakete installiert werden, um zukünftige Fehlermeldungen zu vermeiden und die bestmögliche Leistung zu erhalten (mit Ausnahme der tatsächlich nicht benötigten Oracle-, PostgreSQL- und MSSQL-Anbindungen).

dnf install -y --skip-broken -d1 `/opt/otrs/bin/otrs.CheckModules.pl | grep -oP '(?<=").*(?=")'`

Nicht alle Module wurden in der benötigten Version installiert. Über cpanminus wird das nachgeholt.

cpanm -n -q DateTime::TimeZone Mail::IMAPClient
apt install -y -qq `/opt/otrs/bin/otrs.CheckModules.pl | grep -oP "(?<=-y ).*(?='\.)"`
apt install -y -qq `/opt/otrs/bin/otrs.CheckModules.pl | grep -oP "(?<=-y ).*(?='\.)"`

Nicht alle Module wurden in der benötigten Version installiert. Über cpanminus wird das nachgeholt.

cpanm -n -q IO::Socket::SSL
zypper -q -n -i install `/opt/otrs/bin/otrs.CheckModules.pl | grep -oP "(?<='cpan ).*(?=')" | sed 's/.*/perl(&)/'`

Nicht alle Module wurden in der benötigten Version installiert. Über cpanminus wird das nachgeholt.

cpanm -n -q IO::Socket::SSL Net::SMTP Crypt::Random::Source

Die Ausgabe des CheckModules-Skripts sollte jetzt vollständig in Grün angezeigt werden:

OTRS CheckModule Script Output

4. OTRS Einstellungen

Linux Benutzer erstellen

useradd -M -d /opt/otrs -G $(apachectl -S | grep -oP 'Group: name="\K[^"]+') -c 'OTRS user' otrs `# Benutzer in der Apache-Gruppe erstellen`

Dateien kopieren und Apache-Einstellungen

cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm &&                      `# Datei für allgemeine OTRS-Einstellungen` \
mv /opt/otrs/var/cron/aaa_base.dist /opt/otrs/var/cron/aaa_base &&                    `# Crontab-Datei` \
mv /opt/otrs/var/cron/otrs_daemon.dist /opt/otrs/var/cron/otrs_daemon &&              `# Crontab-Datei` \
ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/httpd/conf.d/zzz_otrs.conf && `# Verlinkt die Apache-Einstellung in das richtige Verzeichnis` \
sed -i '/^LoadModule mpm_event_module modules\/mod_mpm_event.so/s/^/#/' /etc/httpd/conf.modules.d/00-mpm.conf &&      `# Apache MPM event deaktivieren` \
sed -i '/^#LoadModule mpm_prefork_module modules\/mod_mpm_prefork.so/s/^#//' /etc/httpd/conf.modules.d/00-mpm.conf && `# Apache MPM prefork aktivieren` \
systemctl restart httpd  &&                                                           `# Den Webserver neu starten` \
systemctl enable httpd mariadb crond                                                  `# Autostart aller relevanten Dienste aktivieren`
cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm &&                                                  `# Datei für allgemeine OTRS-Einstellungen` \
mv /opt/otrs/var/cron/aaa_base.dist /opt/otrs/var/cron/aaa_base &&                                                `# Crontab-Datei` \
mv /opt/otrs/var/cron/otrs_daemon.dist /opt/otrs/var/cron/otrs_daemon &&                                          `# Crontab-Datei` \
ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/sites-available/zzz_otrs.conf &&                  `# Verlinkt die Apache-Einstellung in das richtige Verzeichnis` \
a2ensite zzz_otrs && a2dismod mpm_event && a2enmod mpm_prefork && a2enmod headers && systemctl restart apache2 && `# Benötigte Module aktivieren` \
systemctl enable apache2 mariadb cron                                                                             `# Autostart aller relevanten Dienste aktivieren`
cp /opt/otrs/Kernel/Config.pm.dist /opt/otrs/Kernel/Config.pm &&                        `# Datei für allgemeine OTRS-Einstellungen` \
mv /opt/otrs/var/cron/aaa_base.dist /opt/otrs/var/cron/aaa_base &&                      `# Crontab-Datei` \
mv /opt/otrs/var/cron/otrs_daemon.dist /opt/otrs/var/cron/otrs_daemon &&                `# Crontab-Datei` \
ln -s /opt/otrs/scripts/apache2-httpd.include.conf /etc/apache2/conf.d/zzz_otrs.conf && `# Verlinkt die Apache-Einstellung in das richtige Verzeichnis` \
a2enmod access_compat && a2enmod headers && a2enmod perl && a2enmod deflate && a2enmod filter && systemctl restart apache2 && `# Benötigte Module aktivieren` \
systemctl enable apache2 mariadb cron                                                   `# Autostart aller relevanten Dienste aktivieren`

Berechtigungen und Daemon starten

/opt/otrs/bin/otrs.SetPermissions.pl &&                                           `# Setzt die Linux-Berechtigungen` \
su -c "/opt/otrs/bin/otrs.Daemon.pl start > /dev/null 2>&1" -s /bin/bash otrs &&  `# Startet den OTRS Daemon` \
su -c "/opt/otrs/bin/Cron.sh start" -s /bin/bash otrs                             `# Erstellt Crontabs im Linux`
/opt/otrs/bin/otrs.SetPermissions.pl --web-group=www &&                           `# Setzt die Linux-Berechtigungen` \
su -c "/opt/otrs/bin/otrs.Daemon.pl start > /dev/null 2>&1" -s /bin/bash otrs &&  `# Startet den OTRS Daemon` \
su -c "/opt/otrs/bin/Cron.sh start" -s /bin/bash otrs                             `# Erstellt Crontabs im Linux`

5. OTRS in der Weboberfläche

In der Weboberfläche wird die restliche Installation durchgeführt. Rufen Sie Ihre Domain mit dem Zusatz /otrs/installer.pl auf.
Zum Beispiel http://localhost/otrs/installer.pl, https://support.efflux.de/otrs/installer.pl oder https://1.1.1.1/otrs/installer.pl.

Unter den Bildern ist eine Hilfestellung zu den einzelnen Schritten zu finden.

Installation starten

OTRS Installation Step 0

Schritt 1: Lizenz akzeptieren

OTRS Installation Step 1

Schritt 2: Datenbankeinstellungen

OTRS Installation Step 2 - 1
Typ
MySQL (gilt auch für MariaDB)
Installationstyp
Neue Datenbank für OTRS erstellen
OTRS Installation Step 2 - 1
Typ
MySQL (gilt auch für MariaDB)
Installationstyp
Bestehende Datenbank für OTRS nutzen
OTRS Installation Step 2 - 2
Benutzer
DB-Benutzer, der Datenbanken erstellen kann (im Standard root)
Passwort
Passwort des DB-Benutzers
Host
127.0.0.1, localhost oder Adresse eines Remote-Servers
Benutzer
Name des neuen DB-Benutzers
Passwort
Passwort des neuen DB-Benutzers; das generierte Passwort kann geändert werden (wird als Klartext gespeichert)
Datenbank
Name der neuen Datenbank
OTRS Installation Step 2 - 2
Benutzer
otrs
Passwort
Passwort des DB-Benutzers
Host
127.0.0.1, localhost oder Adresse eines Remote-Servers
Datenbankname
otrs
OTRS Installation Step 2 - 3
OTRS Installation Step 2 - 3

Schritt 3: Allgemeine Einstellungen und E-Mail-Einstellungen

OTRS Installation Step 3 - 4
SystemID
Eindeutige ID des Systems; wichtig, wenn mehrere OTRS-Systeme miteinander kommunizieren
System FQDN
FQDN, unter der die Seite aufgerufen werden soll
Organisation
Ihre Organisation
Protokollmodul
Wenn in eine Datei geschrieben wird: Sicherstellen, dass der OTRS-Benutzer Schreibrechte hat (z. B. wenn außerhalb von /opt/otrs/var/)
Standardsprache
Der Anwender
MX-Records prüfen
Information im Installer beachten
OTRS Installation Step 3 - 2

Diese Einstellungen können im Admin-Bereich geändert werden.

Schritt 4: Abschließen

OTRS Installation Step 4

Die Installation ist abgeschlossen. Speichern Sie das Passwort für den Benutzer root@localhost sicher zwischen.

Neustart

Mit einem Neustart wird sichergestellt, dass alle Dienste richtig starten.

reboot

6. Benutzereinstellungen im OTRS

Zum Anmelden benutzen Sie in Zukunft die Endung /otrs/index.pl (wie diese geändert werden kann, zeigen wir in einem anderen Blog-Eintrag).

Nachdem Sie sich nun mit dem root@localhost angemeldet haben, sollte Sie das generierte Passwort ändern. Das geht, indem Sie oben links auf das Benutzer-Icon, persönliche Einstellungen und anschließend Benutzerprofil drücken.

Sie sollten in Zukunft nicht mehr mit diesem Benutzer arbeiten. Notieren Sie das Passwort sorgfältig und erstellen im Admin-Bereich einen eigenen Agenten mit vollen RW (Read and Write) Berechtigungen und melden sich mit diesem Benutzer neu an.

Herzlichen Glückwunsch, Ihr OTRS-System wurde erfolgreich installiert und ist einsatzbereit.

Bei Fragen oder Anregungen können Sie gerne einen Kommentar hinterlassen.
Wenn sie Unterstützung bei der Konfiguration, Entwicklung oder dem Hosting brauchen, können Sie Kontakt mit uns aufnehmen.

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.