Willkommen bei Profoxi

Hier erfahrt ihr alle neuesten Neuigkeiten, Tipps und Tricks rund um das Thema IT. Auf verständliche Art werden hier in regelmäßigen Abständen berichtet.

Jira 8.1 mit PostgresSQL 9.6.13 und Nginx Proxy auf Debian Stretch installieren

Jira 8.1 mit PostgresSQL 9.6.13 und Nginx Proxy auf Debian Stretch installieren

Vorraussetzungen

  • Debian Stretch
  • Benutzer mit Root Rechten

Update

Um sicherzustellen, dass alle Pakete auf dem neusten Stand befinden, machen wir ein Update:

apt-get update && apt-get upgrade -y

Installation

Nun kommen wir zur eigentlichen Installation

Schritt 1: PostgreSQL installieren

Um Daten abzuspeichern brauchen wir zusätzlich zu Jira, eine Datenbank. Hierzu habe ich mich für PostgresSQL entschieden, da ich aus Erfahrung heraus PostgresSQL mit Jira am wenigsten Probleme bereitet.

Mit der Paketverwaltung installieren wir nun PostgreSQL:

apt-get install postgresql

Nachdem PostgreSQl installiert worden ist, wecsheln wir zum User und erstellen nun ein Datenbankbenutzer, eine Datenbank und geben dem Benutzer alle benötigten Rechte, um zuzugreifen.

root@debian:~:sudo -u postgres -i
-bash-4.2$ psql
psql (9.6.9)
Type "help" for help.

postgres=# CREATE USER jiradbuser PASSWORD '<Passwort>';
CREATE ROLE
postgres=# CREATE DATABASE jiradb WITH ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C' TEMPLATE template0;
CREATE DATABASE
postgres=# GRANT ALL PRIVILEGES ON DATABASE jiradb to jiradbuser;
GRANT
\q

Schritt 2: Download der Jira Software

Weg 1 – Direkt download per Website

Wir loggen uns auf die Webseite von Allassian ein und gehen auf Licenses.

Wer noch keine Lizenz besitzt, kann sich erst einmal eine Demo Version kostenlos downloaden.

Anders beim gekauftem Produkt:

Haben wir die Lizenz gekauft, klicken wir nun auf den Download Button unterhalb unseres Lizenzkeys.

Wir gelangen nach dem Klick auf die Downloadseite und wählen dort, je nach Betriebssystem des Servers und Bit Version, die entsprechende Variante aus.

Nachdem wir die bin-Datei gedownloadet haben, laden wir diese zum unserem Server hoch. Ich benutze hierfür WindSCP. Nach dem Übertragen geben wir nun der Binary die erforderlichen Rechte zum Ausführen:

chmod +x atlassian-jira-software-8.1.0-x64.bin

Weg 2 – Per wget direkt auf dem Server downloaden

Entweder wir benutzen den gerade gezeigten Weg mit WinSCP oder wir downloaden direkt per wget die .bin Datei auf dem Server:

wget https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.1.0-x64.bin
chmod +x atlassian-jira-software-8.1.0-x64.bin

Schritt 3: Installation anstoßen

Nachdem wir der Binary Datei die Ausführungsrechte gegeben haben, starten wir nun per root User die Instalaltion:

./atlassian-jira-software-8.1.0-x64.bin

Wir bestätigen alle Ausgaben mit y (yes) und lassen die Standardwerte stehen.

root@debian:~# ./atlassian-jira-software-8.1.0-x64.bin
Unpacking JRE ...
Starting Installer ...
Mai 16, 2019 9:39:24 PM java.util.prefs.FileSystemPreferences$2 run
INFORMATION: Created system preferences directory in java.home.

This will install JIRA Software 8.1.0 on your computer.
OK [o, Enter], Cancel [c]

Choose the appropriate installation or upgrade option.
Please choose one of the following:
Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing JIRA installation [3]


Where should JIRA Software be installed?
[/opt/atlassian/jira]

Default location for JIRA Software data
[/var/atlassian/application-data/jira]

Configure which ports JIRA Software will use.
JIRA requires two TCP ports that are not being used by any other
applications on this machine. The HTTP port is where you will access JIRA
through your browser. The Control port is used to startup and shutdown JIRA.
Use default ports (HTTP: 8080, Control: 8005) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2]

JIRA can be run in the background.
You may choose to run JIRA as a service, which means it will start
automatically whenever the computer restarts.
Install JIRA as Service?
Yes [y, Enter], No [n]

Details on where JIRA Software will be installed and the settings that will be used.
Installation Directory: /opt/atlassian/jira
Home Directory: /var/atlassian/application-data/jira
HTTP Port: 8080
RMI Port: 8005
Install as service: Yes
Install [i, Enter], Exit [e]


Extracting files ...


Please wait a few moments while JIRA Software is configured.
Installation of JIRA Software 8.1.0 is complete
Start JIRA Software 8.1.0 now?
Yes [y, Enter], No [n]


Please wait a few moments while JIRA Software starts up.
Launching JIRA Software ...
Installation of JIRA Software 8.1.0 is complete
Your installation of JIRA Software 8.1.0 is now ready and can be accessed
via your browser.
JIRA Software 8.1.0 can be accessed at http://localhost:8080
Finishing installation ...
root@debian:~#

Schritt 4: Installation per Browser fortführen

Wir rufen die IP Adresse + Port des Servers per Browser auf:

http://<Server-IP-Adresse>:8080/

Wir gehen nun von Step zu Step durch und erstellen ein User Account, geben die Daten unserer frisch erstellten PostgreSQL Datenbank ein, Laden die Beispielprojekte und aktivieren Jira per Licence Key. Falls ihr keinen habt, könnt ihr ein Account bei Atlassian kostenlos erstellen und die Demo aktivieren.

Schritt 5: Nginx Installieren und Proxy einrichten

Als erstes installieren wir den Nginx Server per Paketverwaltungstool APT:

apt-get install nginx

Nun löschen wir die Default Seite.

#Defaul Page löschen
rm /etc/nginx/sites-enabled/default

wir erstellen für Jira eine eigene Conf.

nano /etc/nginx/conf.d/jira.conf

In der Conf schreiben wir folgendes rein:

server {
    listen :80;
    server_name jira.<FQDN>.de;
    proxy_redirect off;
    location / {
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_pass http://localhost:8080;
      proxy_buffering off;
      client_max_body_size 10M;
      proxy_connect_timeout  3600s;
      proxy_read_timeout  3600s;
      proxy_send_timeout  3600s;
      send_timeout  3600s;
    }
}

Nachdem wir die Conf abgespeichert haben, testen wir die Konfiguration und Starten Nginx neu:

nginx -t

systemctl restart nginx

Nun ändern wir die Tomcat Einstellung für Jira (opt/atlassian/jira/conf/server.xml).

In der Server.xml befinden sich schon standardmäßig Connectoren, die wir nur Aktivieren müssen. Dafür muss der Standard Connector wieder auskommentiert werden. Siehe in der server.xml die Kommentare.

Die XML sollte folgendes enthalten:

<!-- Nginx Proxy CC-->
<Connector port="8080" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true" proxyName="www.jira.<FQDN>.com" proxyPort="80"/> 
 
<!-- Standard HTTP CC-->
<Connector port="8082" maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false" maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443" acceptCount="100" disableUploadTimeout="true"/>

Danach starten wir den Jira-Dienst neu (Siehe unten).

Ist alles gestartet, können wir nun Jira über die Domain auffrufen.

Herzlichen Glückwunsch! Du hast Jira + PostgreSQL+ Nginx erfolgreich zum laufen gebracht.

Nützliche Befehle

Starten/Stoppen

# Stoppen
/etc/init.d/jira stop

#Starten
/etc/init.d/jira start

Mehr Infos

https://confluence.atlassian.com/adminjiraserver/installing-jira-applications-on-linux-938846841.html

Viel Erfolg

Triopsi
Triopsi

Hi, mein Name ist Daniel R. Baumann. Ich bin seit 2007 Webseitenentwickler und entwickle bzw. administriere verschiedene Webprojekte. Ich berichte hier alle wichtigen News, Tipps und Tricks rund um das Thema IT.