Comment installer l’outil de gestion de projet agile Jira sur CentOS 8

Jira est un outil de gestion de projet agile développé par Atlassian qui peut être utilisé pour le suivi des problèmes, la gestion de projet et la correction des bugs. Il offre une interface Web conviviale qui t’aide à suivre les problèmes. Tu peux planifier, suivre et gérer tous tes projets de développement de logiciels agiles via un navigateur Web. Il peut être facilement intégré à Confluence, Bitbucket et d’autres outils de développement.

Dans ce guide, je vais t’expliquer comment installer et configurer Jira sur CentOS 8.

Conditions préalables

  • Un serveur exécutant CentOS 8.
  • Un mot de passe root est configuré sur ton serveur.

Installer Java

Jira est écrit en Java. Tu dois donc installer Java sur ton système. Tu peux l’installer en exécutant simplement la commande suivante :

dnf install java-11-openjdk-devel -y

Après avoir installé Java, vérifie la version installée de Java avec la commande suivante :

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)

Installer le serveur MySQL

Au moment de la rédaction de ce tutoriel, Jira ne prend pas en charge le serveur MySQL version 8 et MariaDB. Tu devras donc installer MySQL 5.7 dans ton système.

Tout d’abord, tu devras désactiver le référentiel AppStream par défaut de MySQL dans ton système. Tu peux le désactiver avec la commande suivante :

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

Ensuite, crée un nouveau fichier de référentiel pour MySQL 5.7 avec la commande suivante :

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

Ajoute les lignes suivantes :

[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

Sauvegarde et ferme le fichier lorsque tu as terminé. Ensuite, installe MySQL 5.7 en exécutant la commande suivante :

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

Une fois l’installation terminée, démarre le service MySQL et active-le pour qu’il démarre après le redémarrage du système avec la commande suivante :

systemctl start mysqld
systemctl enable mysqld

Après l’installation, un mot de passe temporaire de la racine de MySQL a été généré. Tu peux capturer le mot de passe avec la commande suivante :

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

Tu devrais obtenir le résultat suivant :

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

Souviens-toi de ce mot de passe car tu en auras besoin pendant le processus de réinitialisation du mot de passe root MySQL.

Ensuite, il est recommandé de réinitialiser le mot de passe root MySQL par défaut. Tu peux le réinitialiser avec la commande suivante :

mysql_secure_installation

Il te sera demandé de fournir ton mot de passe racine MySQL par défaut :

Enter password for user root: 

Indique le mot de passe racine MySQL par défaut et appuie sur Entrée pour définir un nouveau mot de passe, comme indiqué ci-dessous :

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

Tape Y et appuie sur Entrée pour continuer et suivre les instructions comme indiqué ci-dessous :

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

Configurer la base de données MySQL

Ensuite, tu devras modifier certains paramètres de MySQL. Tu peux le faire en modifiant le fichier my.cnf :

nano /etc/my.cnf

Ajoute les lignes suivantes dans la section [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

Enregistre et ferme le fichier. Ensuite, redémarre le service MySQL pour appliquer les modifications :

systemctl restart mysqld

Ensuite, connecte-toi au shell MySQL :

mysql -u root -p

Indique ton mot de passe root et crée une base de données et un utilisateur pour Jira avec la commande suivante :

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

Ensuite, accorde les privilèges nécessaires à la jiradb avec la commande suivante :

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

Ensuite, annule les privilèges et quitte le shell MySQL avec la commande suivante :

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Installer et configurer Jira

Tout d’abord, télécharge la dernière version du binaire d’installation de Jira avec la commande suivante :

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

Une fois téléchargé, donne l’autorisation d’exécution au fichier binaire téléchargé :

chmod +x atlassian-jira-software.bin

Ensuite, exécute la commande suivante pour lancer l’installation :

./atlassian-jira-software.bin

Tu seras invité à répondre à plusieurs questions comme indiqué ci-dessous :

Unpacking JRE ...
Starting Installer ...

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

Appuie sur Entrée pour lancer l’installation :

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

Tape 1 et appuie sur Entrée pour exprimer l’installation :

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]

Appuie sur Entrée pour démarrer l’installation :

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]

Appuie sur Entrée pour démarrer le service Jira. Une fois l’installation terminée, tu devrais obtenir la sortie suivante :

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 ...

Ensuite, tu devras télécharger et installer le connecteur Java MySQL dans Jira.

Tout d’abord, télécharge le connecteur MySQL avec la commande suivante :

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

Ensuite, décompresse le fichier téléchargé et copie-le dans le répertoire d’installation de Jira avec la commande suivante :

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

Ensuite, redémarre le service Jira avec la commande suivante pour mettre en œuvre les modifications :

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

Ensuite, tu devras configurer le connecteur HTTP et définir ton proxy dans Jira. Tu peux le configurer en modifiant le fichier /opt/atlassian/jira/conf/server.xml.

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

Trouve les lignes suivantes :

<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"/>

Et remplace-les par les lignes suivantes :

        <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"/>

Enregistre et ferme le fichier puis redémarre le service Jira pour appliquer les modifications :

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

Configurer Nginx comme proxy inverse pour Jira

Par défaut, Jira fonctionne sur le port 8080. C’est une bonne idée de configurer Nginx comme un proxy inverse pour Jira. Ainsi, tu pourras accéder à Jira en utilisant le port 80.

Tout d’abord, installe le serveur Web Nginx avec la commande suivante :

dnf install nginx -y

Après avoir installé Nginx, démarre le service Nginx et active-le pour qu’il démarre après le redémarrage du système :

systemctl start nginx
systemctl enable --now nginx

Ensuite, crée un nouveau fichier de configuration d’hôte virtuel pour Jira :

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

Ajoute les lignes suivantes :

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;
    }
}

Sauvegarde et ferme le fichier lorsque tu as terminé. Ensuite, teste Nginx pour détecter toute erreur de syntaxe avec la commande suivante :

nginx -t

Tu devrais obtenir la sortie suivante :

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

Enfin, redémarre Jira et le service Nginx pour appliquer les modifications :

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

Configurer SELinux et le pare-feu

Ensuite, tu dois autoriser le port 80 à travers le pare-feu. Tu peux le configurer avec la commande suivante :

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

Par défaut, SELinux est activé dans CentOS 8. Il est recommandé de le désactiver car il peut empêcher l’application Jira de fonctionner correctement.

Tu peux désactiver SELinux en modifiant le fichier /etc/selinux/config :

nano /etc/selinux/config

Trouve la ligne suivante :

SELINUX=enforcing

Et, remplace-la par la ligne suivante :

SELINUX=permissive

Enregistre et ferme le fichier. Ensuite, redémarre ton système pour appliquer les modifications :

Accéder au tableau de bord Jira

Ouvre ton navigateur Web et tape l’URL http://jira.example.com. Tu seras redirigé vers la page suivante :

Installateur Jira

Sélectionne« Je vais le configurer moi-même » et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Configuration de la base de données

Sélectionne« Ma propre base de données« , donne les détails de ta base de données et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Propriétés d'application

Indique le titre de ton application, l’URL et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Clé de licence

Indique ta clé de licence d’essai et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Compte d'administrateur

Indique les détails de ton compte administrateur et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Notifications par courriel

Clique sur le bouton Terminer pour terminer l’installation. Tu devrais voir la page de sélection de la langue :

Choisis la langue

Sélectionne la langue de ton choix et clique sur le bouton Continuer. Tu devrais voir la page suivante :

Compte Jira

Choisis ton avatar et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Tableau de bord Jira

Clique sur« Créer un nouveau projet » pour créer ton premier projet. Tu devrais voir la page suivante :

Choisis« Développement de logiciels Scrum » et clique sur le bouton Suivant. Tu devrais voir la page suivante :

Développement logiciel Scrum

Clique sur le bouton Sélectionner pour choisir ton Workflow. Tu devrais voir la page suivante :

Nom et clé du projet

Indique le nom et la clé de ton projet, puis clique sur le bouton Soumettre. Tu devrais voir le tableau de bord Jira à la page suivante :

Tableau de bord du projet Jira

Conclusion

Félicitations ! Tu as réussi à installer et à configurer Jira sur CentoS 8. Tu peux maintenant commencer à explorer Jira pour savoir comment il fonctionne. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...