In diesem Tutorial wird beschreiben wie man die kommerzielle Vorgangsverwaltungssoftware Jira der Firma Atlassian auf einem CentOS 7 installiert. Atlassian Jira bietet Support für MySQL bis zur Version 5.6 oder höher. Wir werdem MySQL in der Version 5.6 verwenden. Der Betrieb von MariaDB wird offiziell nicht unterstützt. Eventuell kann dies zu Problemen im Betrieb führen. Andere Datenbanken z.B. PostgreSQL sind auch möglich.
Vorraussetzung für dieses Tutorial ist wieder eine CentOS 7 mit einer funktionierenden MySQL-Server-Installation der Version 5.6. Ein Tutorial dazu gibt es hier: CentOS 7 – MySQL 5.6, MySQL 5.7 oder aktueller installieren. Alternativ kann auch PostgreSQL verwendet werden eine Installationsanleitung gibt es hier: CentOS 7 – Aktuelle Version von PostgreSQL installieren. In diesem Tutorial beziehen wir uns aber auf die Verwendung von MySQL 5.6.
Installation von Jira unter CentOS 7
Auf der Download-Seite von Atlassian Jira können wir uns den passenden Installer für Jira herrunterladen. Aktuell liegt die Version 7.1 vor.
wget https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.1.0-jira-7.1.0-x64.bin
Der Download kann ein paar Minuten dauern. Das Paket ist ca. 350MB groß.
Anschliessend geben wir dem Download ausführenden Rechte und starten die Installation.
chmod +x atlassian-jira-software-7.1.0-jira-7.1.0-x64.bin ./atlassian-jira-software-7.1.0-jira-7.1.0-x64.bin
Bei der Installation von Jira können wir die Express Variante wählen.
Unpacking JRE ... Starting Installer ... Feb 20, 2016 11:50:15 AM java.util.prefs.FileSystemPreferences$2 run INFORMATION: Created system preferences directory in java.home. This will install JIRA Software 7.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] 1 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] i Extracting files ... Please wait a few moments while JIRA Software starts up. Launching JIRA Software ... Installation of JIRA Software 7.1.0 is complete Your installation of JIRA Software 7.1.0 is now ready and can be accessed via your browser. JIRA Software 7.1.0 can be accessed at http://localhost:8080 Finishing installation ...
Jira ist installiert und bereits gestartet und nimmt Verbindungen intern auf Port 8080 entgegen. Nun stoppen wir Jira wieder um noch ein paar weitere Konfigurationen vorzunehmen.
service jira stop
Nun sollten Jira gestoppt sein und alle entsprechenden Java-Prozesse beendet.
CentOS 7 Jira Systemd Unit File erstellen
Bei der Installation konfiguriert Jira noch das alte Initd System. Wir wollen dies aber sauber mit Systemd implementieren. Dazu benötigen wir einen Unit File. Dazu wird eine Datei unter /etc/systemd/system/jira.service erstellt.
vim /etc/systemd/system/jira.service
In diese fügen wir folgenden Inhalt ein.
[Unit] Description=Atlassian Jira Service After=syslog.target network.target [Service] Type=forking User=jira Group=jira Environment=JAVA_HOME=/opt/atlassian/jira/jre/ ExecStart=/opt/atlassian/jira/bin/start-jira.sh ExecStop=/opt/atlassian/jira/bin/stop-jira.sh PIDFile=/opt/atlassian/jira/work/catalina.pid [Install] WantedBy=multi-user.target
Die Benutzer und Gruppen wurden bereits bei der Installation von Jira automatisch angelegt. Außerdem wird das im Installationspaket enthaltene Java-Environment genutzt.
Anschliessend laden wir den systemd daemon neu
systemctl daemon-reload
Nun fügen wir Jira dem Autostart hinzu.
systemctl enable jira.service Created symlink from /etc/systemd/system/multi-user.target.wants/jira.service to /etc/systemd/system/jira.service.
Jira können wir nun, wie bei CentOS 7 gewohnt mit systemclt starten und stoppen.
#start systemctl start jira.service #stop systemctl stop jira.service
Jira MySQL JDBC driver
Aus Lizenzrechtlichen Gründen ist der JDBC-Treiber für Jira nicht im Installationspaket enthalten. Diesen können wir uns aber von der MySQL-Webseite downloaden.
wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.38.tar.gz
Das Paket muss noch entpackt werden.
tar xvzf mysql-connector-java-5.1.38.tar.gz
Zum Abschluss fügen wir die jar-Datei mit den Treibern noch in das lib Verzeichnis der Jira-Installation ein.
mv ./mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar /opt/atlassian/jira/lib/
Anschließend ist wieder ein Restart von Jira nötig.
Zum Ende noch ein kleiner Funktionstest. Dazu rufen wir Jira mit lynx auf und prüfen ob wir eine Ausgabe sehen. Falls lynx noch nicht installiert ist, holen wir das an dieser Stelle einfach nach.
yum install lynx -y
Nun rufen wir Jira unter der Adresse http://127.0.0.1:8080 auf. Es sollte dann der Installationsdialog erscheinen.
MySQL für Jira einrichten
Bei der Einrichtung des MySQL-Server gehen wir gemäß der Dokumentation von Confluence vor diese ist auch für Jira empfohlen.
Dazu erstellen wir die Datei /etc/my.cnf.d/atlassian.cnf mit folgenden Inhalt.
vim /etc/my.cnf.d/atlassian.cnf
[mysqld] character-set-server=utf8 collation-server=utf8_bin default-storage-engine=INNODB max_allowed_packet=256M innodb_log_file_size=256M
Danach den MySQL-Server neu starten.
systemctl restart mysql
MySQL User für Jira anlegen
Auch hier verfahren wir wie in der oben verlinkten Dokumentation beschrieben.
Zuerst erstellen wir eine Datenbank
CREATE DATABASE jiradb CHARACTER SET utf8 COLLATE utf8_bin;
dann einen Benutzer für diese Datenbank mit den passenden Berechtigungen.
GRANT ALL PRIVILEGES ON jiradb.* TO 'jirauser'@'localhost' IDENTIFIED BY 'geheimesPasswort';
Diese Zugangsdaten werden später benötigt um die Installation von Jira abzuschliessen.