So installieren Sie OTRS (OpenSource Trouble Ticket System) auf CentOS 7

OTRS (Open-Source Trouble-Ticket-System-Software) ist eine hochentwickelte Open-Source-Software, die von Unternehmen zur Verbesserung ihres Betriebs in Bezug auf Kundensupport, Helpdesk, Call Center und mehr eingesetzt wird. OTRS ist in PERL geschrieben und bietet die folgenden wichtigen Funktionen:

  • Kunden können sich über das Kundenportal und per E-Mail, Telefon und Fax mit jeder Warteschlange (Postfach Teilnehmer/Techniker) mit einem Ticket anmelden und erstellen/interagieren.
  • Tickets können nach Priorität, Zuordnung, Übertragung und Nachverfolgung verwaltet werden. Ein Ticket kann aufgeteilt, zusammengeführt, Massenaktionen angewendet, Verknüpfungen untereinander und Benachrichtigungen festgelegt werden. Services können über den Leistungskatalog konfiguriert werden.
  • Um die Teamkapazität zu erhöhen, können automatische E-Mails (automatische Antworten), Textvorlagen und Signaturen konfiguriert werden. Das System unterstützt Notizen und Anhänge zu Tickets.
  • Weitere Funktionen sind: Statistiken und Berichte (CSV/PDF), SLA und viele andere Funktionen.

Die Umwelt

Dieser Artikel behandelt die Installation und Grundkonfiguration von OTRS 5. Dieser Artikel wurde auf der Grundlage der folgenden Umgebung geschrieben: Eine Virtual Box VM mit CENTOS 7 Minimal, 2GB RAM, 8GB HD und 2 Netzwerkschnittstellen (nur Host und NAT).

Vorbereitung

Angenommen, Sie verwenden eine Neuinstallation von Centos 7 Minimal, bevor Sie OTRS installieren, führen Sie den folgenden Befehl aus, um das System zu aktualisieren und zusätzliche Pakete zu installieren:

yum update
Transaction Summary ================================================================================ Install 1 Package Upgrade 39 Packages Total download size: 91 M Is this ok [y/d/N]: y

Installieren Sie einen Texteditor oder verwenden Sie VI. In diesem Artikel verwenden wir VIM, führen Sie den folgenden Befehl aus, um es zu installieren:

yum install vim

Um das WGET-Paket zu installieren, führen Sie den folgenden Befehl aus:

yum install wget

Um das Centos 7-Netzwerk zu konfigurieren, führen Sie den folgenden Befehl aus, um das NMTUI-Tool (Network Manager Text User Interface) zu öffnen und bei Bedarf die Schnittstellen und den Hostnamen zu bearbeiten:

nmtui

Nachdem Sie die Netzwerkeinstellungen und den Hostnamen unter CentOS 7 eingerichtet haben, führen Sie den folgenden Befehl aus, um die Änderungen zu übernehmen:

service networks restart

Um die Netzwerkinformationen zu überprüfen, führen Sie den folgenden Befehl aus:

ip addr

Die Ausgabe sieht auf meinem System so aus:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:67:bc:73 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
       valid_lft 84631sec preferred_lft 84631sec
    inet6 fe80::9e25:c982:1091:90eb/64 scope link 
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:68:88:f3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.101/24 brd 192.168.56.255 scope global dynamic enp0s8
       valid_lft 1044sec preferred_lft 1044sec
    inet6 fe80::a00:27ff:fe68:88f3/64 scope link 
       valid_lft forever preferred_lft forever

Deaktivieren Sie SELINUX (Security Enhanced Linux) auf Centos 7, bearbeiten Sie die folgende Konfigurationsdatei:

vim /etc/selinux/config
"/etc/selinux/config" 14L, 547C# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are prootected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted  

Ändern Sie den Wert für die Durchsetzung der Direktive SELINUX auf disabled, speichern Sie die Datei und starten Sie den Server neu.

Um den Status von SELinux auf Centos 7 zu überprüfen, führen Sie den folgenden Befehl aus:

getenforce

Der Ausgang muss sein:

Disabled

MariaDB auf Centos 7 installieren

Um MariaDB auf Centos 7 zu installieren, führen Sie den folgenden Befehl aus:

yum -y install mariadb-server

Erstellen Sie die Datei mit dem Namen zotrs.cnf im folgenden Verzeichnis:

/etc/my.cnf.d/

Um die Datei zu erstellen und zu bearbeiten, führen Sie den folgenden Befehl aus:

vim /etc/my.cnf.d/zotrs.cnf

Füllen Sie die Datei mit dem folgenden Inhalt und speichern Sie sie:

max_allowed_packet = 20M
query_cache_size = 32M
innodb_log_file_size = 256M

Um MariaDB zu starten, führen Sie den folgenden Befehl aus:

systemctl start mariadb

Um die Sicherheit von MariaDB zu erhöhen, führen Sie den folgenden Befehl aus:

/usr/bin/mysql_secure_installation

Stellen Sie die Optionen entsprechend der folgenden Ausgabe ein:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):<Press Enter>
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] <Press Y>

Setzt das Root-Passwort:

New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] <Press Y>
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <Choose acording your needs>
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] <Press Y>
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] <Press Y>
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Richten Sie MariaDB so ein, dass es beim Booten automatisch startet:

systemctl enable mariadb.service

Um OTRS herunterzuladen, führen Sie den folgenden Befehl aus:

wget http://ftp.otrs.org/pub/otrs/RPMS/rhel/7/otrs-5.0.15-01.n oarch.rpm

EPEL installieren

Bevor wir OTRS installieren, richten Sie das EPEL-Repository auf Centos 7 ein. Führen Sie dazu den folgenden Befehl aus:

[root@centos7 ~]# yum -y http://mirror.globo.com/epel/7/x86_64/e/epel-r release-7-9.noarch.rpm

OTRS installieren

Installieren Sie OTRS mit dem folgenden Befehl:

yum install -nogpgcheck otrs-5.0.15-01.noarch.rpm

Eine Liste der Softwarepakete wird installiert, z.B. Apache und alle Abhängigkeiten werden automatisch aufgelöst, am Ende der Ausgabe drücken Sie Y:

Transaction Summary
================================================================================
Install  1 Package (+143 Dependent packages)

Total size: 148 M
Total download size: 23 M
Installed size: 181 M
Is this ok [y/d/N]: y 

Um den Apache (httpd) zu starten, führen Sie den folgenden Befehl aus:

systemctl start httpd.service

Um den Start von Apache (httpd) mit systemd auf Centos7 zu aktivieren, führen Sie den folgenden Befehl aus:

systemctl enable httpd.service

Aktivieren Sie SSL im Apache und konfigurieren Sie ein selbstsigniertes Zertifikat. Installieren Sie das Mod_SSL-Modul für den Apache HTTP Server, führen Sie den folgenden Befehl aus:

yum -y install mod_ssl

Um ein selbstsigniertes SSL-Zertifikat zu erstellen, gehen Sie in das folgende Verzeichnis:

cd /etc/pki/tls/certs/

Und führen Sie den folgenden Befehl aus, um den Schlüssel zu generieren (centos7.key ist der Name meines Zertifikats, Sie können ihn gerne ändern):

make centos7.key
umask 77 ; \ /usr/bin/openssl genrsa -aes128 2048 > centos7.key Generating RSA private key, 2048 bit long modulus .+++ .........................................................................................+++ e is 65537 (0x10001) Enter pass phrase: <Insert your Own Password>
Verifying - Enter pass phrase:<Retype the Password>

Um den privaten SSL-Schlüssel des Servers mit OpenSSL zu erzeugen, führen Sie den folgenden Befehl aus:

openssl rsa -in centos7.key -out centos7.key
Enter pass phrase for centos7.key: <Type the Password> writing RSA key

Führen Sie den folgenden Befehl aus, um die CSR-Datei (Certificate Signing Request) zu erstellen (centos7.csr ist der Name meines Zertifikats, Sie können es gerne ändern):

make centos7.csr

Füllen Sie die Fragen nach Ihren Bedürfnissen aus:

umask 77 ; \ /usr/bin/openssl req -utf8 -new -key centos7.key -out centos7.csr You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. -----
Country Name (2 letter code) [XX]:
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Centos7 Common Name (eg, your name or your server's hostname) []:
Email Address []:
Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: <press enter>
An optional company name []:

Erzeugen Sie mit dem OpenSSL-Tool eine CSR (Certificate Signing Request) für den Server:

openssl x509 -in centos7.csr -out centos7.crt -req -signkey centos7.key

Der Ausgang ist:

Signature ok subject=/C=BR/ST=SP/L=Campinas/O=Centos7/OU=Centos7/CN=centos7.local Getting Private key

Bevor wir die Datei ssl.conf bearbeiten, erstellen Sie eine Kopie der Datei mit dem folgenden Befehl:

cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.old

Bearbeiten Sie dann die Datei:

vim /etc/httpd/conf.d/ssl.conf

Suchen Sie die folgenden Anweisungen, kommentieren Sie jede einzelne und bearbeiten Sie sie so:

SSLCertificateKeyFile /etc/pki/tls/certs/centos7.key
SSLCertificateFile /etc/pki/tls/certs/centos7.csr
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
ServerName centos7.local:443

Starten Sie den Apache mit dem folgenden Befehl neu:

systemctl restart httpd

Um OTRS zu zwingen, im https-Modus zu laufen, bearbeiten Sie die folgende Datei:

vim /etc/httpd/conf/httpd.conf

Entkomprimieren Sie am Ende der Datei die folgende Anweisung:

IncludeOptional conf.d/*.conf

Bearbeiten Sie die Datei zzz_otrs.conf:

vim /etc/httpd/conf.d/zzz_otrs.conf

Nach der Zeile 26 (vor dem Linienmodul mod_version.c) fügen Sie die folgenden Anweisungen hinzu:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Starten Sie den Apache neu:

[root@centos7 ~]# systemctl restart httpd

Um erweiterte Funktionen in OTRS nutzen zu können, müssen wir einige PERL-Module installieren. Führen Sie den folgenden Befehl aus, um sie zu installieren:

yum -y install "perl(Text::CSV_XS)" "perl(Crypt::Eksblowfish::Bcrypt)" "perl(YAML::XS)" "perl(JSON::XS)" "perl(Encode::HanExtra)" "perl(Mail::IMAPClient)" "perl(ModPerl::Util)"

Das OTRS-System verfügt über ein Werkzeug zur Überprüfung der PERL-Module, das so ausgeführt wird, um die Systemanforderungen zu überprüfen:

cd /opt/otrs/bin

und rennen:

./otrs.CheckModules.pl

Der Ausgang für unsere Konfiguration muss sein:

o Apache::DBI......................ok (v1.12) o Apache2::Reload..................ok (v0.13) o Archive::Tar.....................ok (v1.92) o Archive::Zip.....................ok (v1.30) o Crypt::Eksblowfish::Bcrypt.......ok (v0.009) o Crypt::SSLeay....................ok (v0.64) o Date::Format.....................ok (v2.24) o DBI..............................ok (v1.627) o DBD::mysql.......................ok (v4.023) 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! Use: 'yum install "perl(DBD::Pg)"' (optional - Required to connect to a PostgreSQL database.) o Digest::SHA......................ok (v5.85) o Encode::HanExtra.................ok (v0.23) o IO::Socket::SSL..................ok (v1.94) o JSON::XS.........................ok (v3.01) o List::Util::XS...................ok (v1.27) o LWP::UserAgent...................ok (v6.13) o Mail::IMAPClient.................ok (v3.37) o IO::Socket::SSL................ok (v1.94) o ModPerl::Util....................ok (v2.000010) o Net::DNS.........................ok (v0.72) o Net::LDAP........................ok (v0.56) o Template.........................ok (v2.24) o Template::Stash::XS..............ok (undef) o Text::CSV_XS.....................ok (v1.00) o Time::HiRes......................ok (v1.9725) o Time::Piece......................ok (v1.20_01) o XML::LibXML......................ok (v2.0018) o XML::LibXSLT.....................ok (v1.80) o XML::Parser......................ok (v2.41) o YAML::XS.........................ok (v0.54)

Um den OTRS-Daemon mit dem Benutzer „otrs“ zu starten, führen Sie den folgenden Befehl aus:

su -c "/opt/otrs/bin/otrs.Daemon.pl start" -s /bin/bash otrs

Um die CentOS 7-Firewall zu deaktivieren, führen Sie den folgenden Befehl aus:

systemctl stop firewalld

Um CentOS 7 Firewall für den automatischen Start zu deaktivieren, führen Sie:

systemctl disable firewalld.service

Starten Sie den OTRS-Daemon mit:

su -c "/opt/otrs/bin/otrs.Daemon.pl start" -s /bin/bash otrsCron.sh

Die Ausgabe des Befehls muss sein:

/opt/otrs/bin Cron.sh - start/stop OTRS cronjobs Copyright (C) 2001-2012 OTRS AG, http://otrs.org/ (using /opt/otrs) done

Wenn Sie den OTRS-Daemon-Status überprüfen möchten, führen Sie den folgenden Befehl aus:

su -c "/opt/otrs/bin/otrs.Daemon.pl status" -s /bin/bash otrsCron.sh

OTRS in der Crontab konfigurieren. Ändere das Benutzerverzeichnis auf otrs und beginne mit der Bearbeitung der crontab:

su otrs
crontab -e

Füllen Sie die Crontab mit dem folgenden Inhalt und speichern Sie ihn:

# --
# Copyright (C) 2001-2016 OTRS AG, http://otrs.com/
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (AGPL). If you
# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
# --

# Who gets the cron emails?
MAILTO="root@localhost"
# --
# Copyright (C) 2001-2016 OTRS AG, http://otrs.com/
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (AGPL). If you
# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
# --

# check OTRS daemon status
*/5 * * * *    $HOME/bin/otrs.Daemon.pl start >> /dev/null

OTRS auf CentOS 7 konfigurieren

Öffnen Sie einen Webbrowser und öffnen Sie die URL https://centos7.local/otrs/installer.pl. Denken Sie daran, centos7.local ist der Name meines Servers, geben Sie Ihren Hostnamen oder Ihre IP-Adresse ein. Der erste Bildschirm zeigt die 4 Schritte zum Abschluss der OTRS-Installation, drücken Sie Weiter.

OTRS-Installationsbildschirm

Lizenz: um fortzufahren, zu lesen und die Lizenz zu akzeptieren, um fortzufahren:

Akzeptieren Sie die Lizenz und fahren Sie fort.

Datenbankauswahl: Wählen Sie die Option MySQL und markieren Sie im Install Type die Option Create a new database for OTRS und klicken Sie auf die Schaltfläche next:

Datenbanktyp mysql auswählen

MySQL konfigurieren: Füllen Sie die Felder Benutzer, Passwort und Host aus (erinnern Sie sich an die Daten der von uns vorgenommenen MariaDB-Konfiguration) und drücken Sie auf Datenbankeinstellungen überprüfen:

Datenbank-Logindaten eingeben

Das OTRS-Installationsprogramm erstellt die Datenbank in MariaDB, drücken Sie die nächste Schaltfläche:

OTRS-Datenbank erstellen

OTRS-Datenbank erfolgreich erstellt:

OTRS Datenbank erstellt

Systemeinstellungen konfigurieren: Füllen Sie die Felder mit Ihren eigenen Informationen aus und drücken Sie weiter:

Legen Sie die persönlichen Konfigurationsdetails fest

OTRS E-Mail-Konfiguration: Füllen Sie die Felder entsprechend Ihrem E-Mail-Server aus. In meinem Setup verwende ich für ausgehende E-Mails SMPTTLS und Port 587, für eingehende E-Mails pop3, Sie benötigen ein E-Mail-Konto. Überprüfen Sie die Mail-Konfiguration oder überspringen Sie diesen Schritt:

E-Mail-Einrichtung in OTRS

Zum Abschluss notieren Sie sich den Benutzer und das Passwort für den Zugriff auf das OTRS, nach der Anmeldung können Sie das Passwort ändern:

OTRS Benutzername und Passwort

Die OTRS-URL-Login ist https://centos7.local/otrs/index.pl?. Denken Sie daran, centos7.local ist der Name meines Servers, fügen Sie Ihren Hostnamen oder Ihre IP-Adresse ein…:

Anmeldung bei OTRS

Melden Sie sich beim OTRS an:

OTRS Admin Login

OTRS ist installiert und kann mit Ihren Supportregeln oder Ihrem Geschäftsmodell konfiguriert werden.

Das könnte dich auch interessieren …