Jira Agile Project Management Programma installeren op CentOS 8

Jira is een agile project management tool, ontwikkeld door Atlassian, dat gebruikt kan worden voor het bijhouden van problemen, projectbeheer en het verhelpen van bugs. Het biedt een gebruikersvriendelijke web-interface die je helpt bij het opsporen van problemen. Je kunt al je agile software ontwikkelingsprojecten plannen, bijhouden en beheren via een web browser. Het kan gemakkelijk geïntegreerd worden met Confluence, Bitbucket en andere ontwikkelaars tools.

In deze gids zal ik uitleggen hoe je Jira op CentOS 8 kunt installeren en instellen.

Vereisten

  • Een server die CentOS 8 draait.
  • Een root wachtwoord is op je server ingesteld.

Installeer Java

Jira is geschreven in Java. Je zult dus Java op je systeem moeten installeren. Je kunt het installeren door gewoon het volgende commando uit te voeren:

dnf install java-11-openjdk-devel -y

Controleer na de installatie van Java de geïnstalleerde versie van Java met het volgende commando:

java -version
openjdk version "11.0.5" 2019-10-15 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.5+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.5+10-LTS, mixed mode, sharing)

Installeer MySQL Server

Op het moment van schrijven van deze handleiding ondersteunt Jira geen MySQL versie 8 en MariaDB server. Je zult dus MySQL 5.7 in je systeem moeten installeren.

Eerst moet je MySQL standaard AppStream repository uit je systeem uitschakelen. Je kunt het uitschakelen met het volgende commando:

dnf remove @mysql
dnf module reset mysql
dnf module disable mysql

Maak vervolgens een nieuw repository bestand voor MySQL 5.7 met het volgende commando:

nano /etc/yum.repos.d/mysql-community.repo

Voeg de volgende regels toe:

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0

[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/7/$basearch/
enabled=1
gpgcheck=0

[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/7/$basearch/
enabled=1
gpgcheck=0

Sla het bestand op en sluit het als je klaar bent. Installeer dan MySQL 5.7 door het volgende commando uit te voeren:

dnf --enablerepo=mysql57-community install mysql-community-server

Als de installatie voltooid is, start je de MySQL service en zet je hem aan om te starten na een herstart van het systeem met het volgende commando:

systemctl start mysqld
systemctl enable mysqld

Na de installatie is een tijdelijk MySQL root wachtwoord gegenereerd. Je kunt het wachtwoord vastleggen met het volgende commando:

grep 'A temporary password' /var/log/mysqld.log |tail -1

Je zou de volgende uitvoer moeten krijgen:

2020-02-15T08:35:33.127395Z 1 [Note] A temporary password is generated for [email protected]: -)g2o+)feIw4

Onthoud dit wachtwoord want je zult het nodig hebben tijdens het resetten van het MySQL root wachtwoord.

Vervolgens is het aan te raden het standaard MySQL root wachtwoord opnieuw in te stellen. Je kunt het resetten met het volgende commando:

mysql_secure_installation

Je wordt gevraagd je standaard MySQL root wachtwoord op te geven:

Enter password for user root: 

Geef het standaard MySQL root wachtwoord op en druk op Enter om een nieuw wachtwoord in te stellen, zoals hieronder:

New password: 
Re-enter new password: 
Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

Typ Y en druk op Enter om verder te gaan en volg de instructies zoals hieronder getoond:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Configureer MySQL Database

Vervolgens moet je enkele MySQL instellingen aanpassen. Je kunt dat doen door het my.cnf bestand te bewerken:

nano /etc/my.cnf

Voeg de volgende regels toe in de sectie [mysqld]:

default-storage-engine=INNODB
character_set_server=utf8mb4
innodb_default_row_format=DYNAMIC
innodb_large_prefix=ON
innodb_file_format=Barracuda
innodb_log_file_size=2G
sql_mode = NO_AUTO_VALUE_ON_ZERO

Sla het bestand op en sluit het. Herstart dan de MySQL dienst om de veranderingen door te voeren:

systemctl restart mysqld

Log vervolgens in op de MySQL shell:

mysql -u root -p

Geef je root wachtwoord en maak een database en gebruiker voor Jira aan met het volgende commando:

mysql> CREATE DATABASE jiradb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
mysql> CREATE USER 'jira'@'localhost' IDENTIFIED BY '[email protected]';

Verleen vervolgens de nodige privileges aan de jiradb met het volgende commando:

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,REFERENCES,ALTER,INDEX on jiradb.* TO 'jira'@'localhost' IDENTIFIED BY '[email protected]';

Spoel vervolgens de privileges door en verlaat de MySQL shell met het volgende commando:

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Installeer en configureer Jira

Download eerst de nieuwste versie van Jira installatie binary met het volgende commando:

wget https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-8.6.0-x64.bin -O atlassian-jira-software.bin

Geef na het downloaden de uitvoeringstoestemming aan het gedownloade binaire bestand:

chmod +x atlassian-jira-software.bin

Voer vervolgens het volgende commando uit om de installatie te starten:

./atlassian-jira-software.bin

Je wordt om een aantal vragen gevraagd zoals hieronder:

Unpacking JRE ...
Starting Installer ...

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

Druk op Enter om de installatie te starten:

Click Next to continue, or Cancel to exit Setup.

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

Type 1 en druk op Enter om de installatie uit te drukken:

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]

Druk op Enter om de installatie te starten:

Extracting files ...
                                                                           
Please wait a few moments while Jira Software is configured.

Installation of Jira Software 8.6.0 is complete
Start Jira Software 8.6.0 now?
Yes [y, Enter], No [n]

Druk op Enter om de Jira service te starten. Als de installatie voltooid is, zou je de volgende uitvoer moeten krijgen:

Please wait a few moments while Jira Software starts up.
Launching Jira Software ...

Installation of Jira Software 8.6.0 is complete
Your installation of Jira Software 8.6.0 is now ready and can be accessed
via your browser.
Jira Software 8.6.0 can be accessed at http://localhost:8080
Finishing installation ...

Vervolgens moet je Java MySQL connector downloaden en installeren in Jira.

Download eerst de MySQL connector met het volgende commando:

wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.18.zip

Pak vervolgens het gedownloade bestand uit en kopieer het naar de Jira installatiedirectory met het volgende commando:

unzip mysql-connector-java-8.0.18.zip
cp mysql-connector-java-8.0.18/mysql-connector-java-8.0.18.jar /opt/atlassian/jira/lib

Herstart vervolgens de Jira dienst met het volgende commando om de veranderingen door te voeren:

/etc/init.d/jira stop
/etc/init.d/jira start

Vervolgens moet je de HTTP connector configureren en je proxy in Jira definiëren. Je kunt die configureren door het bestand /opt/atlassian/jira/conf/server.xml te bewerken

nano /opt/atlassian/jira/conf/server.xml

Zoek de volgende regels:

<Connector port="8080" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`"<>"
                   maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false"
                   maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443"
                   acceptCount="100" disableUploadTimeout="true" bindOnInit="false"/>

En vervang die door de volgende regels:

        <Connector port="8080" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`"<>"
                   maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false"
                   maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443"
                   acceptCount="100" disableUploadTimeout="true" bindOnInit="false" scheme="http"
                   proxyName="jira.example.com" proxyPort="80"/>

Bewaar en sluit het bestand en herstart dan de Jira service om de veranderingen toe te passen:

/etc/init.d/jira stop
/etc/init.d/jira start

Configureer Nginx als omgekeerde proxy voor Jira

Standaard draait Jira op poort 8080. Het is een goed idee om Nginx in te stellen als een omgekeerde proxy voor Jira. Zo kun je Jira benaderen via poort 80.

Installeer eerst de Nginx webserver met het volgende commando:

dnf install nginx -y

Na de installatie van Nginx start je de Nginx service en zet je hem aan om te starten na een herstart van het systeem:

systemctl start nginx
systemctl enable --now nginx

Maak vervolgens een nieuw virtual host configuratiebestand voor Jira:

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

Voeg de volgende regels toe:

server {
    listen 80;
    server_name jira.example.com;
    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;
        client_max_body_size 10M;
    }
}

Sla het bestand op en sluit het als je klaar bent. Test Nginx dan op een eventuele syntaxfout met het volgende commando:

nginx -t

Je zou de volgende uitvoer moeten krijgen:

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

Herstart tenslotte Jira en de Nginx dienst om de veranderingen toe te passen:

/etc/init.d/jira stop
/etc/init.d/jira start
systemctl nginx restart

Configureer SELinux en Firewall

Vervolgens moet je poort 80 door de firewall toestaan. Je kunt die instellen met het volgende commando:

firewall-cmd --add-service=http --permanent
firewall-cmd --reload

SELinux is standaard ingeschakeld in CentOS 8. Het is aan te bevelen om het uit te schakelen omdat het ervoor kan zorgen dat de Jira toepassing niet goed werkt.

Je kunt SELinux uitschakelen door het bestand /etc/selinux/config te bewerken:

nano /etc/selinux/config

Zoek de volgende regel:

SELINUX=enforcing

En vervang het door de volgende regel:

SELINUX=permissive

Bewaar en sluit het bestand. Start daarna je systeem opnieuw op om de veranderingen toe te passen:

Toegang tot Jira Dashboard

Open je webbrowser en typ de URL http://jira.example.com. Je wordt doorverwezen naar de volgende pagina:

Jira Installer

Kies“i’ll set it up myself” en klik op de Next knop. Je zou de volgende pagina moeten zien:

Database opzet

Kies“My Own Database“, geef je gegevens over de databank op en klik op het knopje Next. Je zou de volgende pagina moeten zien:

Toepassingseigenschappen

Geef je toepassing titel, URL en klik op het Volgende knopje. Je zou de volgende pagina moeten zien:

Licentiesleutel

Geef je proeflicentiesleutel op en klik op de knop Volgende. Je zou de volgende pagina moeten zien:

Administrator account

Geef de gegevens van je beheerdersaccount en klik op de knop Volgende. Je zou de volgende pagina moeten zien:

E-mail meldingen

Klik op de knop Finish om de installatie te voltooien. Je zou nu de taalkeuze pagina moeten zien:

Kies taal

Kies de gewenste taal en klik op de knop Doorgaan. Je zou de volgende pagina moeten zien:

Jira account

Kies je avatar en klik op het Volgende knopje. Je zou de volgende pagina moeten zien:

Jira Dashboard

Klik op“Create new project” om je eerste project te maken. Je zou de volgende pagina moeten zien:

Maak een project in Jira

Kies“Scrum software ontwikkeling” en klik op de knop Volgende. Je zou de volgende pagina moeten zien:

Scrum Software Ontwikkeling

Klik op de knop Select om je Workflow te selecteren. Je zou de volgende pagina moeten zien:

Naam en sleutel van het project

Geef je projectnaam en sleutel op, en klik dan op de Submit knop. Je zou het Jira dashboard op de volgende pagina moeten zien:

Jira project dashboard

Conclusie

Gefeliciteerd! je hebt Jira met succes geïnstalleerd en geconfigureerd op CentoS 8. Je kunt nu beginnen Jira te verkennen om te weten hoe het werkt. Voel je vrij me te vragen als je vragen hebt.