OTRS 6 Installationsanleitung (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:
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
Schritt 1: Lizenz akzeptieren
Schritt 2: Datenbankeinstellungen
Typ MySQL (gilt auch für MariaDB) Installationstyp Neue Datenbank für OTRS erstellen
Typ MySQL (gilt auch für MariaDB) Installationstyp Bestehende Datenbank für OTRS nutzen
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
Benutzer otrs Passwort Passwort des DB-Benutzers Host 127.0.0.1, localhost oder Adresse eines Remote-Servers Datenbankname otrs
Schritt 3: Allgemeine Einstellungen und E-Mail-Einstellungen
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
Diese Einstellungen können im Admin-Bereich geändert werden.
Schritt 4: Abschließen
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.
Guten Tag,
vielen Dank für die sehr gute Installationsanleitung.
Hal alles perfekt funktioniert wie beschrieben.
Ich habe nur leider im Schritt einen Fehler bei der Emailadresse gemacht und suche nun verzweifelt nach einem Weg, dieses auf der Kommandoebene zu korrigieren.
Irgendwie hat mich das System von der Benutzung des Frontends ausgeschlossen.
Würde mich über eine Hilfestellung sehr freuen.
Freundliche Grüße
Klaus kahle
Hallo Herr Kahle,
haben Sie ein Problem mit der Anmeldung des Benutzers „root@localhost“?
In dem Fall wäre eine Zurücksetzung mit folgendem Befehl möglich:
su -c „/opt/otrs/bin/otrs.Console.pl Admin::User::SetPassword root@localhost NeuesPasswort“ -s /bin/bash otrs
Viele Grüße
Das Efflux Team
Vielen Dank für den Hinweis.
Hat geklappt.
Freundliche Grüße
Klaus kahle