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
- Zammad Ticketing System installieren
- Installation und Konfiguration von Letsencrypt
- Nginx-Webserver konfigurieren
- Zammad Konfiguration
- 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.
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
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.
Wenn der Befehl certbot abgeschlossen ist, sehen Sie das Ergebnis wie unten gezeigt.
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
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.
Füllen Sie nun die gesamte Admin-Konfiguration aus. Benutzername, E-Mail-Adresse und Passwort, und klicken Sie dann auf‘Erstellen‚.
Geben Sie unter Organisationsname Ihren Firmennamen ein und klicken Sie auf „Weiter„.
Klicken Sie für die E-Mail-Benachrichtigung auf „Weiter„.
Wir können die Konfiguration der E-Mail-Benachrichtigung über die Einstellungsseite vornehmen.
Klicken Sie für die Kanalkonfiguration auf „Überspringen„.
Und jetzt sehen Sie das Zammad Admin Dashboard mit schöner 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.