Vor einiger Zeit habe ich hier bereits gezeigt, wie man OTRS als Ticketsystem installiert. Heute schauen wir uns eine alternative zu OTRS an, welche sich Zammad nennt.
Inhaltsverzeichnis
Was ist Zammad
Zammad ist wie OTRS ein Ticketsystem und mittlerweile in Version 3.3 verfügbar. Es dient dazu, die Kommunikation mit dem Kunden über sogenannte Tickets zu realisieren. Dadurch hat man alle Informationen bzgl. eines Vorganges im Ticketsystem und nicht in den E-Mail Postfächer der einzelnen Mitarbeiter.
Dies ist für ein Unternehmen sehr von Vorteil, da es keine Verzögerungen durch Urlaub oder Krankheit in der Kommunikation mit dem Kunden gibt. Jeder andere Mitarbeiter ist in der Lage auf die Informationen des Vorganges zuzugreifen.
Hinzufügen des Zammad Repositories
Um Zammad unter Ubuntu Xenial Xerus zu installieren, muss im ersten Schritt das entsprechende Repository und der Key hinzugefügt werden. Dies ist mit dem folgenden Befehl möglich:
1 2 | sudo apt-key adv --keyserver http://dl.packager.io/srv/zammad/zammad/key --recv-keys 6257DF9972462F57A20FFB2AB6D583CCBD33EEB8 sudo wget -O /etc/apt/sources.list.d/zammad.list https://dl.packager.io/srv/zammad/zammad/stable/installer/ubuntu/16.04.repo |
Installation von Zammad unter Ubuntu 16.04
Die eigentliche Installation von Zammad ist ziemlich einfach. Wir müssen nur das Ubuntu System auf den aktuellen Stand bringen und anschließend das für Zammad benötigte Paket auf dem System installieren.
1 2 | sudo apt-get update sudo apt-get install zammad |
Externer Aufruf von Zammad
Um von extern auf Zammad zugreifen zu können, müssen wir den FQDN oder die IP-Adresse des Servers im nginx konfigurieren. Dafür wird die Datei /etc/nginx/sites-enabled/zammad.conf mit einem Editor aufgerufen. In der Datei muss Zeile 17 wie folgt angepasst werden.
1 2 3 4 5 | #Vorher server_name localhost; #Nachher server_name 192.168.10.79; |
Anschließend kann das Webfrontend von Zammad unter der konfigurierten IP Adresse odes DNS Namen im Browser aufgerufen werden. Dort kann die Konfiguration von Zammad durchgeführt werden.
Konfiguration von Zammad
Im Browser wird uns nun die Möglichkeit geboten das Setup für ein neues System zu starten oder von einem vorhandenen System zu migrieren. Hier wählen wir Setup new System aus.
Nun können wir die Daten für einen Administrator Account hinterlegen.
In dem folgenden Fenster können wir einen Namen für unsere Organisation vergeben und ein entsprechendes Logo hochladen.
Anschließend können wir noch die Informationen für einen E-Mail Server hinterlegen. Hier hat man die Wahl zwischen Postfix/Exim/Sendmail oder einem selbst konfigurierten SMTP Server.
Jetzt können wir noch einen Kommunikationsweg einrichten, den wir verwenden wollen.
Für den Kommunikationsweg müssen nun noch die entsprechenden Angaben getätigt werden.
Wenn die eingetragene Adresse nicht erreichbar ist, müssen wir jetzt auch noch ein paar weitere Einstellungen zu dem Postfach hinterlegen.
Zammad berichtet nun, wie viele Mails gefunden wurden und fragt ob er alle importieren sollen
Damit wir mit unseren Kunden kommunizieren können, müssen wir jetzt noch einen E-Mail Ausgang definieren.
Nun können wir weitere Personen als Mitarbeiter einladen
Jetzt ist die Konfiguration abgeschlossen und uns wird das Frontend von Zammad angezeigt.
Christian Säum meint
Wie schaut deine zammad.conf beim nginx aus?
Die Standard hat ja nur 3 Zeilen:
server {
listen 8088;
server_name example.de;
}
aber dann bekomme ich nur die Standardseite vom NGINX zu sehen.
Christian Piazzi meint
Hallo Christian,
Hier mal meine komplette zammad.conf. Hoffe es hilft dir weiter:
—-
upstream zammad {
server localhost:3000;
}
upstream zammad-websocket {
server localhost:6042;
}
server {
listen 80;
# replace ‚localhost‘ with your fqdn if you want to use zammad from remote
server_name 172.16.92.29;
root /opt/zammad/public;
access_log /var/log/nginx/zammad.access.log;
error_log /var/log/nginx/zammad.error.log;
client_max_body_size 50M;
location ~ ^/(assets/|robots.txt|humans.txt|favicon.ico) {
expires max;
}
location /ws {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection „Upgrade“;
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 86400;
proxy_pass http://zammad-websocket;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header CLIENT_IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 180;
proxy_pass http://zammad;
gzip on;
gzip_types text/plain text/xml text/css image/svg+xml application/javascript application/x-javascript application/json application/xml;
gzip_proxied any;
}
}
—-
Gruß
Christian
Jara meint
Habe schon bei dem ersten Befehl ein Error kann mir da jemand weiter helfen?
ticketsystem@ticketsystem-VirtualBox:~$ sudo apt-key adv –keyserver http://dl.packager.io/srv/zammad/zammad/key –recv-keys 6257DF9972462F57A20FFB2AB6D583CCBD33EEB8
Executing: /tmp/tmp.Z66fY7IDeA/gpg.1.sh –keyserver
http://dl.packager.io/srv/zammad/zammad/key
–recv-keys
6257DF9972462F57A20FFB2AB6D583CCBD33EEB8
gpg: requesting key BD33EEB8 from http server dl.packager.io
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error
Christian Piazzi meint
Hi Jara,
das sieht für mich so aus, als ob deine VM keinen Internet Zugriff hat. Kannst du mal versuchen Google zu pingen oder Updates auf dem System zu installieren?
Gruß
Christian
Fabian meint
Ich habe leider den selben Fehler wie Jara ping auf google.de funktioniert auch mit Firefox kann ich alle Seiten aufrufen.
Gibt es dafür eine Lösung?
spucky meint
Ich bekomme es ums Verrecken nicht hin, das Frontend extern (bzw. auf meiner lokalen IP) aufrufbar zu machen. Geht nur via localhost:3000
Meine config sieht so aus:
upstream zammad {
server localhost:3000;
}
upstream zammad-websocket {
server localhost:6042;
}
# Added – Automatically redirect HTTP to HTTPS Nginx
server {
listen 80;
server_name 192.168.7.50;
return 301 https://$host$request_uri;
Irgendein Tipp?
Christian meint
Hi,
wechsel mal in den upstream Bereichen localhost zur IP Adresse des Servers. Dann sollte es eigentlich funktionieren.
Gruß
Christian
spucky meint
Hab ich schon probiert, ändert nix. Gewundert hat mich ohnehin, dass nach der Installation erst mal alles in der config komplett auskommentiert war. Und egal, was ich dort ändere, es hat Null Auswirkung auf die Erreichbarkeit des zammad-webinterface.
aktuell sieht die config so aus:
upstream zammad {
server localhost:3000;
}
upstream zammad-websocket {
server 192.168.7.50:6042;
}
server {
listen 80;
server_name 192.168.7.50;
location / {
proxy_set_header Host $host;
proxy_pass http://localhost:3000;
}
}
Bringt aber auch nix …
Christian meint
mhh… das hört sich so an als ob der die Datei nicht einlesen kann. Ich weis nicht wie gut du dich mit Linux auskennst, aber ist ein Link zwischen sites-available und sites-enabled?
Wenn nein würde der Befehl dafür ungefähr so aussehen:
ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/example.com.conf
Vielleicht liegt es daran. Ansonsten müsste es irgendwo eine nginx.conf Datei geben. Da sollte sowas wie folgt drin stehen:
include /etc/nginx/conf.d/*.conf;
spucky meint
Hab es mit der Hilfe eines Bekannten und viel herumprobieren jetzt hinbekommen. Es geht, wenn ein anderer Port als Port 80 gewählt wird – warum auch immer. Reproduzierbar klappt es mit Port 80 nicht, jeder andere lässt sich aber problemlos weiterleiten.
Erklären kann ich mir das Verhalten zwar nicht, aber was soll’s … läuft jetzt endlich. ^^