So installierst du das Zammad Customer Support System auf Rocky Linux 9

Zammad ist eine Open-Source-Kundensupport-/Ticketing-Lösung, die auf Ruby und PostgreSQL basiert. Sie hilft Unternehmen, die Kommunikation über verschiedene E-Mail-, Chat- und Social-Media-Kanäle zu verwalten.

In dieser Anleitung lernst du, wie du das Zammad Ticketing System auf dem Rocky Linux Server installierst. Du wirst Zammad mit PostgreSQL, Nginx und Elasticsearch betreiben.

Voraussetzungen

Bevor du beginnst, solltest du sicherstellen, dass du Folgendes hast

  • Einen Rocky Linux 9 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.
  • Einen Domainnamen, der auf eine Server-IP-Adresse zeigt.
  • Ein SELinux mit dem Status permissive.

Installieren von Abhängigkeiten

In diesem Abschnitt installierst du die Abhängigkeiten für Zammad. Dazu gehören das EPEL-Repository, die PostgreSQL-Datenbank, der Nginx-Webserver, Redis und Node.js.

Als Erstes fügst du das EPEL-Repository mit folgendem Befehl zu deinem Rocky Linux-System hinzu.

sudo dnf install epel-release -y

Richte das Standard-Locale en_US.UTF-8 mit dem unten stehenden Befehl ein.

sudo localectl set-locale LC_CTYPE=en_US.UTF-8

Führe nun den folgenden Befehl aus, um das Node.js-Repository für Version 18 zu aktivieren.

sudo dnf module enable nodejs:18 -y

Als nächstes führst du den Befehl dnf aus, um die Abhängigkeiten für Zammad zu installieren, einschließlich Nginx, PostgreSQL, Redis und Node.js.

sudo dnf install imlib2 nginx postgresql-server postgresql-contrib libpq-devel redis nodejs

Gib zur Bestätigung y ein und fahre fort.

Abhängigkeiten installieren

Nachdem die Installation abgeschlossen ist, führe den folgenden Befehl aus, um den PostgreSQL-Server zu initialisieren.

sudo postgresql-setup initdb

Starte und aktiviere die Dienste für Nginx, PostgreSQL und Redis mit dem unten stehenden Befehl.

sudo systemctl start nginx postgresql redis
sudo systemctl enable nginx postgresql redis

Überprüfe schließlich die Node.js-Version mit dem unten stehenden Befehl. Stelle sicher, dass du Node.js 18.0+ installiert hast.

node --version

Dienste starten und Nodejs verifizieren

Installation von Elasticsearch

Nachdem du die Abhängigkeiten installiert hast, musst du Elasticsearch installieren. In diesem Abschnitt wirst du Elasticsearch 7.x für Zammad installieren.

Führe nun den folgenden Befehl aus, um den GPG-Schlüssel für das Elasticsearch-Repository hinzuzufügen.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Füge das Elasticsearch-Repository für den Rocky Linux Server mit dem folgenden Befehl hinzu.

echo "[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md"| tee /etc/yum.repos.d/elasticsearch-7.x.repo

Als nächstes installierst du Elasticsearch mit dem folgenden Befehl auf deinem System. Gib y ein, um die Installation zu bestätigen und akzeptiere den GPG-Schlüssel, wenn du dazu aufgefordert wirst.

sudo dnf install elasticsearch

elasticsearch installieren

Nachdem die Installation abgeschlossen ist, installierst du das ingest-attachment Plugin mit dem folgenden Befehl in deine Elasticsearch-Installation.

/usr/share/elasticsearch/bin/elasticsearch-plugin install ingest-attachment

Gib y ein, um die Installation zu bestätigen.

Plugin installieren

Lade nun den systemd manager neu und starte den Elasticsearch-Dienst mit dem unten stehenden Befehl.

sudo systemctl daemon-reload
sudo systemctl start elasticsearch

Sobald er gestartet ist, überprüfe Elasticsearch mit dem unten stehenden curl-Befehl. Wenn die Installation erfolgreich war, erhältst du detaillierte Informationen über deine Elasticsearch-Version.

curl -X GET 'http://localhost:9200'

verifiziere elasticsearch

Maximale Verbindungen in PostgreSQL erhöhen

Für PostgreSQl musst du die Standardeinstellung max_connections in der Datei postgresql.conf erhöhen. Dies wird von Zammad benötigt.

Melde dich also als Postgres-Benutzer mit dem folgenden Befehl an.

su - postgres

Öffne die PostgreSQL-Konfigurationsdatei data/postgresql.conf mit dem nano-Editor.

nano data/postgresql.conf

Ändere den Standardwert max_connections wie folgt auf 2000:

max_connections = 2000

Speichere die Datei und beende sie.

Führe nun den Befehl systemctl aus, um den PostgreSQL-Dienst neu zu starten und deine Änderungen zu übernehmen.

sudo systemctl restart postgresql

Firewalld einrichten

Standardmäßig ist Firewalld auf Rocky Linux aktiviert. Daher musst du jetzt sowohl den HTTP- als auch den HTTPS-Dienst öffnen und den Verkehr zu Zammad zulassen.

Füge mit dem folgenden Befehl sowohl HTTP- als auch HTTPS-Dienste zu firewalld hinzu.

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent

Lade nun firewalld neu, um die neuen Regeln für HTTP und HTTPS anzuwenden.

sudo firewall-cmd --reload

Überprüfe die Liste der Regeln in firewalld mit dem folgenden Befehl. Du wirst sehen, dass sowohl HTTP- als auch HTTPS-Dienste in firewalld verfügbar sind.

sudo firewall-cmd --list-all

firewalld einrichten

Installation von Zammad Customer Support System

Jetzt, wo du die Abhängigkeiten installiert und konfiguriert hast, kannst du die Installation von Zammad starten, was über den DNF-Paketmanager möglich ist.

Füge den GPG-Schlüssel für das Zammad-Repository mit dem unten stehenden Befehl hinzu.

sudo rpm --import https://dl.packager.io/srv/zammad/zammad/key

Füge das Zammad-Repository mit dem folgenden Befehl zu deinem Rocky-Linux-Server hinzu.

sudo wget -O /etc/yum.repos.d/zammad.repo \
https://dl.packager.io/srv/zammad/zammad/develop/installer/el/9.repo

Als Nächstes installierst du zammad mit dem folgenden dnf-Befehl. Wenn du dazu aufgefordert wirst, gib y ein, um den gpg-Schlüssel und die Installation von Zammad zu bestätigen.

sudo dnf install zammad

Zammad installieren

Nachdem die Installation abgeschlossen ist, führe den folgenden Befehl aus, um die Dienste für Zammad zu überprüfen, einschließlich zammad, zammad-web, zammad-worker und zammad-websocket.

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

Vergewissere dich, dass alle Dienste für Zammad laufen.

zammad läuft

Zum Schluss führst du den folgenden Befehl aus, um die Integration zwischen Zammad und Elasticsearch einzurichten.

zammad run rails r "Setting.set('es_url', 'http://localhost:9200')"
zammad run rake zammad:searchindex:rebuild

Nachdem der Befehl ausgeführt wurde, wird ein Elasticsearch-Index für Zammad erstellt.

Nginx als Reverse Proxy einrichten

Nachdem du Zammad installiert hast, musst du Nginx als Reverse-Proxy konfigurieren. Standardmäßig stellt Zammad eine Beispielkonfiguration bereit, die im Verzeichnis/opt/zammad/contrib zu finden ist.

Kopiere die Nginx-Konfiguration für Zammad nach /etc/nginx/conf.d/zammad.confund öffne sie mit dem Editor nano.

cp /opt/zammad/contrib/nginx/zammad.conf /etc/nginx/conf.d/zammad.conf
sudo nano /etc/nginx/conf.d/zammad.conf

Ersetze die Option server_name durch deine Domain.

server_name zammad.hwdomain.io;

Speichere und beende die Datei.

Überprüfe nun deine Nginx-Konfiguration, um sicherzustellen, dass du die richtige Syntax hast. Wenn du erfolgreich bist, solltest du die Ausgabe„syntax is ok“ erhalten.

sudo nginx -t

Zum Schluss führst du den unten stehenden Befehl aus, um den Nginx-Dienst neu zu starten und eine neue Serverblockkonfiguration für Zammad anzuwenden.

sudo systemctl restart nginx

nginx-Einrichtung

Damit sollte deine Zammad-Installation fertig und zugänglich sein.

Zammad mit HTTPS absichern

Jetzt, da Nginx konfiguriert ist, können wir Zammad mit SSL/TLS-Zertifikaten sichern. Du installierst Certbot und generierst SSL-Zertifikate mit Certbot von Letsencrypt.

Installiere Certbot und das Nginx-Plugin mit dem unten stehenden dnf-Befehl. Gib y ein, um die Installation zu bestätigen.

sudo dnf install certbot python3-certbot-nginx

Nachdem die Installation abgeschlossen ist, führe den unten stehenden Certbot-Befehl aus, um SSL/TLS-Zertifikate zu erzeugen und deine Zammad-Installation zu sichern. Achte darauf, dass du die E-Mail-Adresse und den Domainnamen mit deinen Daten abgleichst.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email alice@hwdomain.io -d zammad.hwdomain.io

Sobald die Installation abgeschlossen ist, sind deine SSL/TLS-Zertifikate im Verzeichnis /etc/letsencrypt/live/domain.com verfügbar und dein Zammad ist automatisch mit HTTPS gesichert.

Zammad-Installation einrichten

Starte deinen Webbrowser und rufe https://zammad.hwomdian.io/ auf. Wenn deine Installation erfolgreich war, wirst du Folgendes gefragt:

Klicke auf Neues System einrichten, um mit der Konfiguration von Zammad zu beginnen.

Einrichtung zammad

Gib die Details deines Admin-Benutzers und dein Passwort für Zammad ein und klicke dann auf Erstellen.

Benutzer einrichten

Gib den Namen deiner Organisation ein, lade dein Logo hoch und klicke auf Weiter, um fortzufahren.

orgz einrichten

Für die E-Mail-Einstellungen klickst du auf Überspringen. Du kannst diese Einstellungen nach Abschluss der Installation vornehmen.

E-Mail überspringen

Jetzt siehst du das Zammad-Dashboard wie folgt.

Dashboard

Fazit

Herzlichen Glückwunsch! Du hast die Installation des Zammad Ticketing Systems auf dem Rocky Linux 9 Server abgeschlossen. Du hast in Zammad eine PostgreSQL-Datenbank, Nginx als Reverse Proxy, Elasticsearch und eine HTTPS-Absicherung über Certbot installiert.

Das könnte dich auch interessieren …