Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | linux:request_tracker [2024/02/26 14:37] (aktuell) – angelegt - Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Request Tracker ====== | ||
+ | Der Request Tracker von [[https:// | ||
+ | ===== Installation ===== | ||
+ | Die Installation des Ticketsystems basiert auf folgenden Softwareversionen: | ||
+ | * Ubuntu 20.04 Server x64 | ||
+ | * Request Tracker 4.4.1 | ||
+ | |||
+ | ==== Request Tracker ==== | ||
+ | Zunächst einige Vorbereitungen installieren/ | ||
+ | <code bash> | ||
+ | <code bash> | ||
+ | |||
+ | Perl ist bei Ubuntu dabei und muss nun nur noch um das Programm '' | ||
+ | Dazu ruft man " | ||
+ | <code bash> | ||
+ | < | ||
+ | install LWP</ | ||
+ | |||
+ | Danach RT downloaden, entpacken und in entpacktes Verzeichnis wechseln. | ||
+ | Hier wird das Script '' | ||
+ | <code bash> | ||
+ | Nun prüft RT ob alle Abhängigkeiten erfüllt sind. Dazu führt man folgenden Befehl aus: | ||
+ | <code bash> | ||
+ | Dieser Befehl gibt alle erfüllten und nicht erfüllten Abhängigkeiten aus | ||
+ | |||
+ | Anhand dessen müssen alles Abhängigen Programme nachinstalliert werden. Dies kann man mit diesem Befehl automatisieren: | ||
+ | <code bash> | ||
+ | |||
+ | Das prüfen und nachinstallieren, | ||
+ | |||
+ | Nachdem alles Abhängigkeiten erfüllt und gelöst wurden, installiert man RT mit folgendem Befehl und folgt den Anweisungen: | ||
+ | <code bash> | ||
+ | |||
+ | Zuletzt noch die Datenbank anlegen lassen | ||
+ | <code bash> | ||
+ | |||
+ | ==== Webserver ==== | ||
+ | Als Webserver wird '' | ||
+ | |||
+ | Zunächst erstellt man folgende Webseiten Konfigurationsdateien im Verzeichnis ''/ | ||
+ | Nur die " | ||
+ | |||
+ | ssl.conf: | ||
+ | < | ||
+ | ssl_certificate / | ||
+ | ssl_certificate_key / | ||
+ | |||
+ | # | ||
+ | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; | ||
+ | |||
+ | #HSTS Security | ||
+ | #add_header Strict-Transport-Security max-age=31536000; | ||
+ | add_header Strict-Transport-Security max-age=15768000; | ||
+ | #add_header X-Frame-Options DENY; | ||
+ | |||
+ | ssl_session_timeout 1d; | ||
+ | ssl_session_cache shared: | ||
+ | # | ||
+ | |||
+ | # openssl dhparam -out dhparam.pem 2048 | ||
+ | # | ||
+ | |||
+ | ## | ||
+ | ssl_ciphers ' | ||
+ | ssl_prefer_server_ciphers on; | ||
+ | |||
+ | #add_header Strict-Transport-Security max-age=15768000; | ||
+ | |||
+ | # | ||
+ | # | ||
+ | |||
+ | ## verify chain of trust of OCSP response using Root CA and Intermediate certs | ||
+ | # | ||
+ | #resolver 8.8.8.8 8.8.4.4 valid=86400; | ||
+ | # | ||
+ | |||
+ | default: | ||
+ | < | ||
+ | server unix:/ | ||
+ | server unix:/ | ||
+ | server unix:/ | ||
+ | server unix:/ | ||
+ | server unix:/ | ||
+ | } | ||
+ | |||
+ | server { | ||
+ | listen 80; | ||
+ | server_name < | ||
+ | return 301 https:// | ||
+ | } | ||
+ | |||
+ | |||
+ | server { | ||
+ | listen 443 ssl; | ||
+ | server_name < | ||
+ | include / | ||
+ | |||
+ | access_log | ||
+ | error_log | ||
+ | |||
+ | location /rt { | ||
+ | #root / | ||
+ | #index index.html; | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | |||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | |||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | |||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_param | ||
+ | fastcgi_pass | ||
+ | } | ||
+ | | ||
+ | location /phpmyadmin { | ||
+ | root / | ||
+ | index index.php; | ||
+ | |||
+ | location ~ ^/ | ||
+ | root / | ||
+ | } | ||
+ | |||
+ | location ~ ^/ | ||
+ | try_files $uri =404; | ||
+ | root / | ||
+ | fastcgi_param | ||
+ | fastcgi_index | ||
+ | fastcgi_param | ||
+ | fastcgi_pass | ||
+ | include | ||
+ | } | ||
+ | } | ||
+ | location /phpMyAdmin { | ||
+ | | ||
+ | } | ||
+ | }</ | ||
+ | |||
+ | Hier sieht man ganz oben, dass über die " | ||
+ | |||
+ | Dazu benötigt man noch den " | ||
+ | Nginx dient hier nur als Proxy für Webanfragen. Er leitet diese dann an den FCGI Server weiter. | ||
+ | Da Nginx den FCGI Server selbst nicht starten kann, muss dieser extern gestartet werden. | ||
+ | |||
+ | Dazu erstellt man sich 2 systemd Konfigurationsdateien im Verzeichnis ''/ | ||
+ | rt-fastcgi@.service: | ||
+ | <code bash> | ||
+ | Description = Request Tracker FastCGI backend (instance %i) | ||
+ | After = mariadb.service | ||
+ | Wants = mariadb.service | ||
+ | |||
+ | [Service] | ||
+ | User = root | ||
+ | Group = root | ||
+ | ExecStart = / | ||
+ | StandardOutput = null | ||
+ | StandardInput = socket | ||
+ | StandardError = null | ||
+ | Restart = always | ||
+ | |||
+ | [Install] | ||
+ | WantedBy = multi-user.target</ | ||
+ | |||
+ | rt-fastcgi@.socket: | ||
+ | <code bash> | ||
+ | Description = RT FastCGI Socket (instance %i) | ||
+ | |||
+ | [Socket] | ||
+ | SocketUser = www-data | ||
+ | SocketGroup = www-data | ||
+ | SocketMode = 0660 | ||
+ | ListenStream = / | ||
+ | |||
+ | [Install] | ||
+ | WantedBy = sockets.target</ | ||
+ | |||
+ | Systemd muss nun noch die neuen Konfigurationsdateien einlesen. | ||
+ | <code bash> | ||
+ | |||
+ | Damit nicht unendlich viele FCGI Server Dienste unötig laufen, aktiviert man den/die Socket Dienst/e. Diese lauschen auf anfragen und starten dann nach bedarf die jew. Anzahl an Diensten. | ||
+ | <code bash> | ||
+ | systemctl enable rt-fastcgi@2.socket | ||
+ | systemctl enable rt-fastcgi@3.socket | ||
+ | ...</ | ||
+ | |||
+ | Die Sockets werden wie folgt gestartet. | ||
+ | <code bash> | ||
+ | ...</ | ||
+ | oder z.B. 5 auf einmal | ||
+ | <code bash> | ||
+ | |||
+ | Der RT FCGI Server ließt die Configs (RT_Config.pm und RT_SiteConfig.pm) von RT ein. | ||
+ | Daher muss man die Config zunächst auf die eigenen Bedürfnisse (Webadresse, | ||
+ | RT_SiteConfig.pm | ||
+ | < | ||
+ | # RT's default configuration file, RT_Config.pm | ||
+ | # | ||
+ | # To include a directive here, just copy the equivalent statement | ||
+ | # from RT_Config.pm and change the value. We've included a single | ||
+ | # sample value below. | ||
+ | # | ||
+ | # This file is actually a perl module, so you can include valid | ||
+ | # perl code, as well. | ||
+ | # | ||
+ | # The converse is also true, if this file isn't valid perl, you're | ||
+ | # going to run into trouble. To check your SiteConfig file, use | ||
+ | # this comamnd: | ||
+ | # | ||
+ | # perl -c / | ||
+ | # | ||
+ | # You must restart your webserver after making changes to this file. | ||
+ | |||
+ | Set( $WebPath , "/ | ||
+ | Set( $Timezone , ' | ||
+ | Set( $LogoLinkURL, | ||
+ | Set( $LogoImageURL, | ||
+ | Set( $LogoAltText, | ||
+ | Set( $LogoWidth, 120 ); | ||
+ | Set( $LogoHeight, | ||
+ | Set( $DatabaseUser, | ||
+ | Set( $CorrespondAddress, | ||
+ | Set( $rtname, ' | ||
+ | Set( $DatabaseRequireSSL, | ||
+ | Set( $WebPort, 443 ); | ||
+ | Set( $Organization, | ||
+ | Set( $DatabaseType, | ||
+ | Set( $DatabasePort, | ||
+ | Set( $DatabasePassword, | ||
+ | Set( $DatabaseAdmin, | ||
+ | Set( $SendmailPath, | ||
+ | Set( $WebDomain, '< | ||
+ | Set( $DatabaseAdminPassword, | ||
+ | Set( $CommentAddress, | ||
+ | Set( $DatabaseHost, | ||
+ | Set( $DatabaseName, | ||
+ | Set( $OwnerEmail, | ||
+ | Set($AutoLogoff, | ||
+ | Set($LogoutRefresh, | ||
+ | Set($MaxInlineBody, | ||
+ | Set(%FullTextSearch, | ||
+ | Enable | ||
+ | Indexed => 0, | ||
+ | ); | ||
+ | Set($SearchResultsAutoRedirect, | ||
+ | Set($HomePageRefreshInterval, | ||
+ | Set($MinimumPasswordLength, | ||
+ | 1; | ||
+ | |||
+ | Plugin(' | ||
+ | Plugin(' | ||
+ | ...</ | ||
+ | |||
+ | Berechtigungen setzen nicht vergessen. | ||
+ | <code bash> | ||
+ | |||
+ | ==== Mailserver ==== | ||
+ | Als Mailserver wird Postfix verwendet. | ||
+ | Grundsätzlich wird der Mailserver nach den eigenen Belieben eingerichtet. | ||
+ | |||
+ | Über die ''/ | ||
+ | Die Datei sieht wiefolgt aus: | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |||
+ | ==== Ungelesene Nachrichten ==== | ||
+ | < | ||
+ | |||
+ | http:// | ||
+ | |||
+ | This can be set as a global option or at the individual level by going to Logged in as > Settings > Options. Look for " | ||
+ | |||
+ | shareimprove this answer | ||
+ | answered Dec 31 '12 at 18:55 | ||
+ | |||
+ | Jim Brandt | ||
+ | 28011 silver badge44 bronze badges | ||
+ | Thank you for the clue. But when we are at RT dashboard, we can't see any notification. I hope RT doesn' | ||
+ | 1 | ||
+ | To see it in a ticket list somewhere in "RT at a glance", | ||
+ | +1 for UpdateStatus column add to the dashboard... :-) – Jan Marek Jan 10 '13 at 9: | ||
+ | |||
+ | ===== RT CLI ===== | ||
+ | In Bash zunächst Variablen für den Login festlegen: | ||
+ | <code bash> | ||
+ | RTPASSWD=< | ||
+ | export RTSERVER=https://< | ||
+ | |||
+ | Oder die o.g. Variablen in die Datei '' | ||
+ | < | ||
+ | passwd < | ||
+ | server https://< | ||
+ | |||
+ | Jetzt kann man die CLI wie folgt öffnen: | ||
+ | <code bash>/ | ||
+ | |||
+ | ==== Befehle ==== | ||
+ | ^ Befehl ^ Beschreibung ^ | ||
+ | | | | | ||
+ | | '' | ||
+ | | '' |