So installierst du osTicket mit Nginx unter Debian 11

osTicket ist ein kostenloses und quelloffenes Support-Ticket-System, mit dem du deinen Kundenservice skalieren und rationalisieren und dein Kundenerlebnis verbessern kannst. Es bietet eine webbasierte Oberfläche, um alle Support-Tickets zu verwalten, zu organisieren und zu verfolgen. Es ist in PHP geschrieben und unterstützt verschiedene Datenbanken wie MySQL und PostgreSQL.

Funktionen

  • Dashboard-Berichte
  • Konfigurierbares Hilfethema
  • Service-Level-Vereinbarungen
  • Ticket-Filter
  • Kunden-Support-Portal
  • Auto-Responder

Diese Anleitung zeigt dir, wie du osTicket unter Debian 11 installierst.

Voraussetzungen

  • Ein Server, auf dem Debian 11 läuft.
  • Ein gültiger Domainname ist mit der IP deines Servers verbunden.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

Erste Schritte

Aktualisiere zunächst alle Systempakete mit dem folgenden Befehl auf die neueste Version.

apt update -y
apt upgrade -y

Sobald alle Pakete aktualisiert sind, kannst du die anderen benötigten Pakete mit dem folgenden Befehl installieren:

apt install ca-certificates apt-transport-https software-properties-common wget curl

Sobald alle erforderlichen Pakete installiert sind, kannst du mit dem nächsten Schritt fortfahren.

Nginx und PHP installieren

Installiere zunächst das Nginx-Webserverpaket mit dem folgenden Befehl.

apt install nginx -y

Als Nächstes fügst du das PHP-Repository mit dem folgenden Befehl hinzu.

curl -sSL https://packages.sury.org/php/README.txt | bash -x

Als Nächstes installierst du die neueste Version von PHP und andere erforderliche PHP-Abhängigkeiten mit dem folgenden Befehl.

apt install php8.1 php8.1-mysql php8.1-cgi php8.1-fpm php8.1-cli php8.1-curl php8.1-gd php8.1-imap php8.1-mbstring php8.1-intl php8.1-apcu php8.1-common php8.1-gettext php8.1-bcmath php8.1-xml php8.1-dom -y

Nach der Installation bearbeitest du die PHP-Konfigurationsdatei.

nano /etc/php/8.1/fpm/php.ini

Ändere die folgende Zeile.

cgi.fix_pathinfo=0

Speichere und schließe die Datei und starte den PHP-FPM-Dienst neu, um die Änderungen zu übernehmen.

systemctl restart php8.1-fpm

MariaDB installieren und konfigurieren

Installiere zunächst den MariaDB-Datenbankserver mit dem folgenden Befehl.

apt install mariadb-server -y

Als Nächstes sicherst du die MariaDB-Installation mit dem folgenden Befehl.

mysql_secure_installation

Beantworte alle folgenden Fragen:

Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Melde dich in der MariaDB-Shell als Root-Benutzer an.

mysql -u root -p

Als Nächstes erstellst du eine Datenbank und einen Benutzer für osTicket.

MariaDB [(none)]> create database osticketdb;
MariaDB [(none)]> grant all privileges on osticketdb.* to osticketuser identified by 'secure-password';

Lösche die Berechtigungen und verlasse die MariaDB-Shell mit folgendem Befehl.

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Installiere osTicket

Lade zunächst die neueste Version von osTicket von der GitHub Download-Seite herunter.

wget https://github.com/osTicket/osTicket/releases/download/v1.17.2/osTicket-v1.17.2.zip

Sobald der Download abgeschlossen ist, erstellst du ein Verzeichnis für osTicket und entpackst die heruntergeladene Datei in dieses Verzeichnis.

mkdir /var/www/html/osticket
unzip osTicket-v1.17.2.zip -d /var/www/html/osticket

Als Nächstes legst du die Eigentumsrechte und die Berechtigungen für das Verzeichnis osticket fest.

chown -R www-data:www-data /var/www/html/osticket
chmod -R 755 /var/www/html/osticket

Als nächstes benennst du die osTicket-Beispielkonfigurationsdatei um.

mv /var/www/html/osticket/upload/include/ost-sampleconfig.php /var/www/html/osticket/upload/include/ost-config.php

Sobald du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.

Nginx für osTicket konfigurieren

Als Nächstes musst du eine Nginx-Konfigurationsdatei für einen virtuellen Host für osTicket erstellen. Du kannst sie mit dem folgenden Befehl erstellen.

nano /etc/nginx/conf.d/osticket.conf

Füge die folgende Konfiguration hinzu.

server {
listen 80;
server_name osticket.example.com;
root /var/www/html/osticket/upload;
index index.php index.html index.htm;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;


# Enable gzip
gzip on;
gzip_min_length 1000;
gzip_types text/plain application/x-javascript text/xml text/css application/xml;

set $path_info "";

location ~ /include {
deny all;
return 403;
}

if ($request_uri ~ "^/api(/[^\?]+)") {
set $path_info $1;
}

location ~ ^/api/(?:tickets|tasks).*$ {
try_files $uri $uri/ /api/http.php?$query_string;
}

if ($request_uri ~ "^/scp/.*\.php(/[^\?]+)") {
set $path_info $1;
}

location ~ ^/scp/ajax.php/.*$ {
try_files $uri $uri/ /scp/ajax.php?$query_string;
}

location / {
try_files $uri $uri/ index.php;
}

location ~ \.php$ {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
}

Speichere und schließe die Datei und überprüfe die Nginx-Konfiguration mit dem folgenden Befehl.

nginx -t

Du erhältst die folgende Ausgabe.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starte anschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen.

systemctl restart nginx

Du kannst den Nginx-Status auch mit dem folgenden Befehl überprüfen.

systemctl status nginx

Du solltest den Nginx-Status in der folgenden Ausgabe sehen.

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-12-21 08:15:10 UTC; 4s ago
       Docs: man:nginx(8)
    Process: 24700 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 24701 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 24702 (nginx)
      Tasks: 2 (limit: 2339)
     Memory: 3.1M
        CPU: 25ms
     CGroup: /system.slice/nginx.service
             ??24702 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??24703 nginx: worker process

Dec 21 08:15:10 debian11 systemd[1]: nginx.service: Succeeded.
Dec 21 08:15:10 debian11 systemd[1]: Stopped A high performance web server and a reverse proxy server.
Dec 21 08:15:10 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Dec 21 08:15:10 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Dec 21 08:15:10 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

Jetzt ist Nginx installiert und für osTicket konfiguriert. Du kannst nun auf osTicket zugreifen.

Zugriff auf die osTicket-Weboberfläche

Öffne deinen Webbrowser und rufe die osTicket-Installationsseite unter der URL http://osticket.example.com auf. Du solltest die Seite mit den Voraussetzungen sehen.

Klicke auf “ Weiter“. Du solltest die Seite für die Grundinstallation sehen.

Gib deine Helpdesk-URL, deinen Namen, deine E-Mail-Adresse, deinen Datenbanknamen, deinen Benutzernamen und dein Passwort ein und klicke dann auf die Schaltfläche Jetzt installieren, um die Installation zu starten. Sobald osTicket installiert ist, solltest du die folgende Seite sehen.

Um auf das osTicket-Kontrollzentrum zuzugreifen, gib die URL http://osticket.example.com/scp in deinen Webbrowser ein. Du solltest die osTicket-Anmeldeseite sehen.

Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Anmelden. Auf dem folgenden Bildschirm solltest du das osTicket-Dashboard sehen.

Du kannst auch die osTicket-Forenseite über die URL https://forum.osticket.com aufrufen .

Aktiviere SSL auf osTicket

Um Let’s Encrypt SSL auf der osTicket-Website zu installieren, musst du das Paket certbot auf deinem Server installieren.

Installiere zunächst den Snap-Paketmanager mit dem folgenden Befehl:

apt install snapd

Als Nächstes aktualisierst du das Snap-Paket auf die neueste Version:

snap install core
snap refresh core

Als Nächstes installierst du das certbot-Paket mit folgendem Befehl:

snap install --classic certbot

Als Nächstes erstellst du einen symbolischen Link für die Certbot-Binärdatei in den Systemordner:

ln -s /snap/bin/certbot /usr/bin/certbot

Als Nächstes führst du den folgenden Befehl aus, um Let’s Encrypt SSL-Zertifikate herunterzuladen und zu installieren:

certbot --nginx -d osticket.example.com

Du wirst aufgefordert, deine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): hitjethva@gmail.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Gib J ein und drücke die Eingabetaste, um die SSL-Zertifikate für deine Domain herunterzuladen und zu installieren:

Account registered.
Requesting a certificate for osticket.example.com

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/osticket.example.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/osticket.example.com/privkey.pem
This certificate expires on 2023-03-22.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for osticket.example.com to /etc/nginx/conf.d/osticket.conf
Congratulations! You have successfully enabled HTTPS on https://osticket.example.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Fazit

Herzlichen Glückwunsch! Du hast osTicket erfolgreich mit Nginx auf Debian 11 installiert. Du kannst osTicket jetzt in deinem Unternehmen einführen und als Helpdesk-Management-System nutzen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.

Das könnte dich auch interessieren …