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.
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
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
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.
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'
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
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
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.
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
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.
Gib die Details deines Admin-Benutzers und dein Passwort für Zammad ein und klicke dann auf Erstellen.
Gib den Namen deiner Organisation ein, lade dein Logo hoch und klicke auf Weiter, um fortzufahren.
Für die E-Mail-Einstellungen klickst du auf Überspringen. Du kannst diese Einstellungen nach Abschluss der Installation vornehmen.
Jetzt siehst du das Zammad-Dashboard wie folgt.
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.