OSTicket Installation

Aus bknowledgebase
Zur Navigation springen Zur Suche springen

Einleitung[Bearbeiten]

Ein sehr beliebtes Ticketsystem. Hier soll eine grundlegende Installation beschrieben werden

Voraussetzungen[Bearbeiten]

  • Windows oder Linux
  • Apache oder IIS Webserver
  • MySQL Datenbank
  • PHP

Die Versionen ändern sich mit der Version von OSTicket. Deshalb verzichte ich darauf diese hier einzutragen. Dazu am besten auf der jeweiligen Website nachschauen.

HINWEIS: Die einzig wirklich voll funktionsfähige Version ließ sich nur mit OSticket 1.9 PHP 5.6.28, Apache2.4 und mysql-Server installieren. Alle anderen Versuche, z.B. mit PHP7, und/oder mit OSTicket10 haben nie einwandfrei funktioniert.

Meist schon wegen ungelöstem "Bug" zur Tabelle "*_cdata" welche wohl vom System Dynamisch erzeugt wird, was aber nicht immer funktioniert. Zu diesem Zeitpunkt gibt es dazu viele Blog/Foreneinträge, das Problem wurde noch nicht gelöst.

Windows Installation[Bearbeiten]

Vorbereitende Maßnahmen[Bearbeiten]

  • IP-Adressvergabe
  • System-Updates
  • Installation MySQL-Server
  • Installation Apache Webserver
  • Installation PHP5
  • Download der aktuellen OSTicket Version
  • Website Ordner für OSTicket erstellen

Installation[Bearbeiten]

  • Den Ordner "update" der heruntergeladenen OSTicket Version in einen beliebigen Ordner unterhalb des "root-webserver-ordners" (Standardmäßig ist das htaccess bei Windows Apache) kopieren.
  • Aufruf der Website über <Webserver-IP-Adresse/myticketsystem>/install.php

Extras vor der Installation[Bearbeiten]

Hier werden direkt einige Komponenten aufgelistet, die von OSTicket benötigt werden oder die nützlich sind. Ich empfehle hier zumindest das php_imap Modul, php_intl und das Caching "System" von Zend oscache zu "aktivieren"

Dazu einfach die php.ini suchen in den Zeilen:

  • ;extension=php_intl.dll

und

  • ;extension=php_imap.dll

und

  • ;extension=php_mysqli.dll

und

  • ;extension=php_gd2.dll

und

  • ;extension=php_ldap.dll

und

  • ;extension=php_mbstring.dll

die Kommentierung entfernen


Außerdem in der "php.ini" nach "opcache" suchen und/oder:

zend_extension=php_opcache.dll

einfügen sowie:

"; Determines if Zend OPCache is enabled"

opcache.enable=1

aktivieren.

Die restlichen Optionen zu "opcache" nach belieben einstellen. (google ist dein Freund)

Sprache anpassen[Bearbeiten]

Bei der Installation wird man auch gleich nach der Systemsprache gefragt. Die Installation einer zusätzlichen Sprache ist recht easy. Einfach Sprachdatei von osticket-Website herunterladen.

In meinem Fall z.B. die Datei "de.phar" und diese in den Ordner "...\include\i18n" der Webseiteninstallation kopieren.

PHP 7[Bearbeiten]

Ab OSTicket 1.10 kann auch PHP 7 eingesetzt werden Dazu dann folgendes hinzufügen

 zend_extension=php_opcache.dll
 extension=C:\PHP\PHP7\ext\php_apcu\php_apcu.dll

Der Pfad kann natürlich immer unterschiedlich sein.

Linux Installation[Bearbeiten]

Vieles von der Windows Anleitung kann übernommen werden als Info. Trotzdem hier noch ein paar Hinweise. Ich Installiere das Ganze jetzt unter Debian 9.4 Stretch und mit MariaDB sowie PHP 7.0.


LAMP Stack installieren[Bearbeiten]

apt-get install php7.0 php7.0-mysql apache2 mariadb-client mariadb-server


Zusatzbibliotheken[Bearbeiten]

Für bessere Performance und damit sämtliche Funktionen zur Verfügung stehen (z.B. E-Mail-Anbindung, ldap-Anbindung, XML-Parsing uvm.), sollten noch folgende Pakete installiert werden.

apt-get install php7.0-imap php7.0-gd php7.0-xml php7.0-mbstring php7.0-intl php7.0-apcu


Datenbank und Benutzer erstellen[Bearbeiten]

1. Lokal an der DB anmelden erstmal mit User "root" und dem Root-Passwort welches man bei der Installation angegeben hat.

mariadb -u root -p
show databases; #Nur Zur Orientierung
create database osticket; #Die Datanbank kann natürlich auch anders heißen
GRANT ALL ON osticket.* TO ostickedbuser@'localhost' IDENTIFIED BY 'meinpasswort'; #User mit passwort kreieren, der auf osticket DB zugreifen darf von Lokal



HINWEIS:

Vielleicht ist es aufgefallen, dass man sich mit einem beliebigen Passwort, oder auch ohne Kennwort an mariadb anmelden kann. Dies sollte unterbunden werden. Dazu kann man folgendes im mariadb-client angeben.

use mysql;
update user set plugin= where user='root';
flush privileges;
exit

Damit wird für diesen User die "plugin-Authentifikation" ausgeschaltet. Somit kann sich Root nicht mehr über das System authentifizieren.

OSTicket Ablegen[Bearbeiten]

Nach dem Download von OSTicket. Die Dateien aus dem "upload" Ordner eben wieder in einem gewünschten Verzeichnis unter dem Webserver-Root ablegen.


z.B.

/var/www/osticket

Config-File erstellen[Bearbeiten]

Während der Installation wird nach einem gültigen "Config-File" gefragt. Man muss nur die Vorlage, die bereits im Installationsordner existiert einmal kopieren.

cp /<yourOSTicketRootPath/include/ost-sampleconfig.php /<yourOSTicketRootPath/include/ost-config.php

Außerdem benötigt der Installer Schreibrechte

chmod 0666 /<yourOSTicketRootPath/include/ost-config.php


Neue Sprache hinzufügen[Bearbeiten]

Dies ist natürlich vollkommen optional. Wenn man aber bereits während der Installation die Wahl haben möchte von der Standardsystemsprache "Englisch" z.B. auf "Deutsch" zu stellen, dann empfehle ich die Sprachdateien jetzt schon zu installieren. Das ist sehr simplel

Einfach nur die entsprechende Sprachdatei (.phar Datei) von:

http://osticket.com/download?product=langs

herunterladen und in den Ordner:

 /<yourOSTicketRootPath/include/i18n/

kopieren.

OSTicket installieren[Bearbeiten]

Anschließend kann man die Installation per Browser vornehmen indem man die Website aufruft.

Wenn man sämtliche Komponenten (Zusatzbibliotheken/Pakete) installiert hat, sollte das dann so aussehen:

Ostinstall.png


Zum Abschluss folgt man "einfach" den Anweisungen der Installation

Installationsverzeichnis löschen[Bearbeiten]

rm -r /<yourOSTicketRootPath/setup/

Schreibzugriff auf Config wieder entfernen[Bearbeiten]

chmod 644 /<yourOSTicketRootPath/include/ost-config.php

Sonstige Hinweise[Bearbeiten]

Zeitzone[Bearbeiten]

Es sollte noch eine Standard Zeitzone in der PHP-Config hinterlegt werden.

Dazu in der "php.ini" folgende Zeile anpassen (hier z.B. für Deutschland):

date.timezone = Europe/Berlin

Plugins[Bearbeiten]

Diverse Plugins z.B. für ldap-Authentifizierung oder "external-storage" benutzung kann man von der Website herunterladen. Diese müssen dann im Ordner:

<osticketRoot>/include/plugins

abgelegt werden. Anschließend kann man in OSTicket im Adminbereich unter "Verwalten"->"Plugins" diese aktivieren, konfigurieren etc.

Cronjob[Bearbeiten]

Wenn man ein Postfach einsetzt und per IMAP neue E-Mails zur Ticketerstellung abholt, dann wird dies standardmäßig nur ausgeführt, wenn gerade mindestens ein Agent im System aktiv ist. Manchmal führt das auch (erfahrungsgemäß) dazu, dass man mehr als die eingestellten paar Minuten auf die Tickets warten muss, da dieser Automatismus scheinbar nicht immer wie erwartet funktioniert. Somit werden Tickets erst sehr verzögert angezeigt und somit auch bearbeitet.

Alternativ dazu sollte man einen Cronjob (auf Windows geht es auch per Task Scheduler, hier jetzt aber nur Debian/Linux) einrichten, der Regelmäßig und unabhängig die Tickets aus den eingehenden Mails erzeugt.

1. Cronjob hinzufügen

sudo nano /etc/crontab

folgendes hinzufügen

*/3 * * * * www-data /usr/bin/php -q /<pathToOsTicket>/api/cron.php

hier würde jetzt das entsprechende Script alle 3 Minuten aufgerufen. Der Pfad zur PHP-Binary kann auch abweichen. In vielen Systemen kann man diesen auch mit

which php

abfragen.

2. MTA installieren

Falls man noch kein Tool für den E-Mail-Versand hat, sollte man sich einfach z.B. "postfix" installieren

sudo apt-get install postfix


Das wars auch schon


H@ppy H@cking