So installieren Sie das Zammad Ticketing System auf CentOS 7

Zammad ist ein Open-Source-Helpdesk-/Kundensupportsystem, das in Rubin geschrieben wurde. Es handelt sich um ein webbasiertes Ticketing-System mit vielen Funktionen, einschließlich der Unterstützung zur Verwaltung der Kundenkommunikation über mehrere Kanäle wie Facebook, Telegramm, Chat und E-Mails. Zammad wird unter der GNU AFFERO General Public License (AGPL) vertrieben und kann auf verschiedenen Plattformen wie Linux, AIX, FreeBSD, OpenBSD und MacOSX installiert werden. Es ist auf Github verfügbar und kann kostenlos auf Ihrem eigenen Server installiert werden.

In diesem Tutorial zeige ich Ihnen, wie Sie das Zammad Ticketing System mit dem Nginx Webserver und PostgreSQL als Datenbanksystem installieren und konfigurieren. Wir werden CentOS 7 Server und SSL Letsencrypt verwenden, um Client-Server-Verbindungen zu sichern.

Was wir tun werden

  1. Zammad Ticketing System installieren
  2. Installation und Konfiguration von Letsencrypt
  3. Nginx-Webserver konfigurieren
  4. Zammad Konfiguration
  5. Zammad Zusätzliche Tipps

Voraussetzungen

  • CentOS 7 System
  • Mindestens 2 GB RAM
  • Root-Privilegien

Schritt 1 – Installation des Zammad Ticketing Systems

Bevor wir das Zammad-Ticketing-System auf CentOS 7 installieren, müssen wir das EPEL (Extra Packages for Enterprise Linux) Repository für unsere Nginx-Webserver-Installation installieren.

Fügen Sie das EPEL-Repository hinzu, indem Sie das epel-Paket mit dem folgenden Befehl yum installieren.

sudo yum -y install epel-release

Das EPEL-Repository wurde dem System hinzugefügt.

Als nächstes importieren Sie den Zammad-Schlüssel mit dem Befehl rpm import.

sudo rpm --import https://rpm.packager.io/key

Fügen Sie das Zammad-Repository hinzu, indem Sie mit dem vim-Editor eine neue.repo-Datei im Verzeichnis’yum.repos.d‘ erstellen.

vim /etc/yum.repos.d/zammad.repo

Füge dort die folgenden Informationen ein.

[zammad]
 name=Repository for zammad/zammad application.
 baseurl=https://rpm.packager.io/gh/zammad/zammad/centos7/stable
 enabled=1

Das ist es. Das ist es. Speichern und beenden.

Installieren Sie nun Zammad mit dem folgenden Befehl yum.

sudo yum -y install zammad

Hinweis: Wenn wir Zammad installieren, werden automatisch andere erforderliche Pakete installiert, einschließlich Nginx-Webserver und PostgreSQL-Datenbank.

Und nach Abschluss der Installation sehen Sie das Ergebnis ähnlich wie unten gezeigt.

Installation des Zammad-Ticketing-Systems

Zammad und andere Pakete – Nginx-Webserver und PostgreSQL-Datenbank – wurden installiert.

Schritt 2 – Installation und Konfiguration von Letsencrypt SSL

In diesem Tutorial wollen wir Zammad unter Nginx HTTPS einrichten und kostenloses SSL aus der Letsencrypt verwenden. Und das werden wir in diesem Schritt tun und das certbot-Tool (Letsencrypt Agent) verwenden, das aus dem Repository installiert werden kann.

Installieren Sie das certbot Pakettool aus dem Repository mit yum.

yum -y install certbot

Als nächstes müssen wir mit dem certbot-Tool neue SSL-Zertifikate generieren. Stellen Sie sicher, dass Sie eine eigene Domain haben, um die Zertifikatsdateien zu generieren. Wir werden einen Domainnamen ‚zammad.hakase-labs.com‘ verwenden.

Gehen Sie in das Nginx-Konfigurationsverzeichnis und öffnen Sie die Datei nginx.conf im vim-Editor.

cd /etc/nginx/
vim nginx.conf

Fügen Sie die folgende Konfiguration unter dem Block „Server {}“ ein.

        location ~ /.well-known {
                 allow all;
         }

Speichern und beenden. Testen Sie dann die Konfiguration und starten Sie den Webserver neu.

nginx -t
systemctl restart nginx

Nginx konfigurieren

Bevor Sie SSL-Zertifikatsdateien erzeugen, stellen Sie sicher, dass Ihr System-Port für HTTP und HTTPS nicht von der Firewall blockiert wird. Sie können die HTTP- und HTTPS-Ports auf CentOS mit dem Befehl firewall-cmd öffnen, wie unten gezeigt.

firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Erzeugen Sie nun SSL-Zertifikatsdateien mit dem folgenden certbot-Befehl.

certbot certonly --standalone -d zammad.hakase-labs.co

Sie werden nach Ihrer E-Mail-Adresse für die Verlängerung der Benachrichtigung gefragt – geben Sie Ihre E-Mail-Adresse ein und drücken Sie‘Enter‚, um fortzufahren. Geben Sie für Letsencrypt Term Of Services (TOS)‘A‚ ein, um zuzustimmen. Wenn Sie aufgefordert werden, E-Mails an die EFF Foundation weiterzugeben, geben Sie einfach „N“ für „Nein“ ein.

Erstellen Sie das SSL-Zertifikat

Wenn der Befehl certbot abgeschlossen ist, sehen Sie das Ergebnis wie unten gezeigt.

Certbot-Befehl erfolgreich beendet

Neue SSL-Zertifikatsdateien für unsere Zammad-Installation wurden generiert. Alle Zertifikate befinden sich im Verzeichnis‘/etc/letsencryp/live/‚.

Schritt 3 – Nginx-Webserver konfigurieren

In diesem Schritt konfigurieren wir eine virtuelle Hostdatei für Zammad. Es wird während der Zammad-Installation automatisch im Verzeichnis’/etc/nginx/conf.d/‘ erstellt.

Gehen Sie zu ‚/etc/nginx/conf.d/‚ und bearbeiten Sie die Datei zammad.conf.

cd /etc/nginx/conf.d/
vim zammad.conf

Ändern Sie alle Konfigurationen wie unten gezeigt.

#
 # this is the Nginx config for zammad
 #
upstream zammad {
server localhost:3000;
}

upstream zammad-websocket {
server localhost:6042;
}

server {
listen 80;
server_name zammad.hakase-labs.co;
return 301 https://$host$request_uri;
}

server {
listen 443 http2 ssl;

ssl_certificate /etc/letsencrypt/live/zammad.hakase-labs.co/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/zammad.hakase-labs.co/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;

# replace 'localhost' with your fqdn if you want to use zammad from remote
server_name zammad.irsyadf.me;

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_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_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;
}
}

Speichern und beenden.

Als nächstes testen Sie die Nginx-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt. Starten Sie dann den Webserver neu.

nginx -t
systemctl restart nginx

Die virtuelle Hostdatei von zammad verwendet nun SSL. Überprüfen Sie mit dem Befehl netstat und stellen Sie sicher, dass Sie den Port 443 für HTTPS mit dem Zustand‘LISTEN‚ haben.

netstat -plntu

Nginx-Webserver konfigurieren

Schritt 4 – Zammad-Konfiguration

Zammad wurde auf CentOS 7 mit Nginx als Webserver und PostgreSQL als Datenbankserver installiert und läuft unter HTTPS-Verbindung. In diesem Schritt werden wir die Grundkonfiguration des Zammad Ticketing Systems vornehmen.

Öffnen Sie Ihren Webbrowser und geben Sie die Zammad-Adresse ‚zammad.hakase-labs.co‘ ein. Sie werden zur HTTPS-Verbindung weitergeleitet. Klicken Sie auf die Schaltfläche „Neues System einrichten„, um fortzufahren.

Start zammad setup

Füllen Sie nun die gesamte Admin-Konfiguration aus. Benutzername, E-Mail-Adresse und Passwort, und klicken Sie dann auf‘Erstellen‚.

Benutzername und Passwort festlegen

Geben Sie unter Organisationsname Ihren Firmennamen ein und klicken Sie auf „Weiter„.

Organisation festlegen

Klicken Sie für die E-Mail-Benachrichtigung auf „Weiter„.

Wir können die Konfiguration der E-Mail-Benachrichtigung über die Einstellungsseite vornehmen.

E-Mail-Benachrichtigungen

Klicken Sie für die Kanalkonfiguration auf „Überspringen„.

Kanalkonfiguration

Und jetzt sehen Sie das Zammad Admin Dashboard mit schöner Benutzeroberfläche.

Zammad Benutzeroberfläche

Zammad wurde mit aktiviertem HTTPS installiert und die Konfiguration ist abgeschlossen.

Schritt 5 – Zammad-Dienste aktivieren

Zammad wird mit drei Komponenten geliefert – einem Webanwendungsserver, einem Zammad-Arbeitsprozess und einem Websocket-Server. Wir können alle Dienste mit dem Befehl systemcl unten verwalten.

systemctl start zammad
systemctl status zammad
systemctl restart zammad

Wenn Sie die Dienste einzeln konfigurieren möchten, können Sie bestimmte Komponenten verwenden, wie unten gezeigt.

systemctl status zammad-web
systemctl status zammad-worker
systemctl status zammad-websocket

Die Installation des Zammad Ticketing Systems auf CentOS 7 ist abgeschlossen.

Referenz

Das könnte Dich auch interessieren …