Table des matières

Installer JIRA sous Linux

Le Guide

  1. Télécharger le binaire JIRA
See where JIRA will be installed and the settings that will be used.
Installation Directory: /opt/atlassian/jira
Home Directory: /var/atlassian/application-data/jira
HTTP Port: 8081
RMI Port: 8005
Install as service: Yes

Désinstallation

Installer la clé SSH

La procédure officielle de Atlassian Running JIRA over SSL or HTTPS ne prends pas en compte qu'on a déjà un certificat, par exemple un wildcard.

Ayant la clé publique host.crt et la clé privée host.key, on peut créer un Keystore avec ces étapes:

  1. # openssl pkcs12 -export -in host.crt -inkey host.key > host.p12
  2. # keytool -importkeystore -srckeystore host.p12 -destkeystore host.jks -srcstoretype pkcs12

Source

Configuration Apache

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName jira.yourdomain.com
        ServerAlias www.jira.yourdomain.com

        RewriteEngine On
        RewriteRule ^/(.*)      https://%{HTTP_HOST}/$1 [R]
</VirtualHost>

<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        ServerName jira.yourdomain.com
        ServerAlias www.jira.yourdomain.com

        SSLEngine On
        SSLCertificateFile    /etc/apache2/ssl/yourdomain.com.pem
        SSLCertificateKeyFile /etc/apache2/ssl/yourdomain.com.key
        SSLCertificateChainFile /etc/cert/STAR_yourdomain_com.ca-bundle

        SSLProxyEngine on
        ProxyPass / https://localhost:8443/
        ProxyPassReverse / https://localhost:8443/
 
        ProxyPreserveHost On
       
        #DocumentRoot /home/www/
        ErrorLog /var/log/apache2/jira.yourdomain.com-error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/jira.yourdomain.com-access.log combined
        ServerSignature On

</VirtualHost>

À partir d'Apache version 2.4+, il faut ajouter ceci dans le fichier .conf du site:

SSLProxyEngine on
SSLProxyVerify none 
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off

Source: Error during SSL Handshake with remote server

Migration de serveur à serveur

Pour migrer JIRA sur un autre serveur, voici la procédure :

  1. Sur le serveur source :
    1. Faire un backup de la base de données (ex : dump SQL avec données) :
      mysqldump --opt -u [user] -p[pass] jiradb > ~/jiradb.sql
    2. Faire une exportation des données JIRA : Dans JIRA, aller dans Administration → Système → Import / Export et faire l'exportation. Ceci créera un ZIP dans /var/atlassian/application-data/jira/export.
    3. Arrêter JIRA :
      /opt/atlassian/jira/bin/stop-jira.sh
    4. Faire un backup (fichier ZIP) du répertoire JIRA HOME /var/atlassian/application-data/jira.
      cd /var/atlassian/application-data/jira
      tar -czf ~/jira-home.tar.gz ./*
    5. Compresser les fichiers du répertoire d'installation de JIRA:
      cd /opt/atlassian/jira
      tar -czf ~/jira-install.tar.gz ./*
    6. Si Reverse Proxy avec Apache, copier le fichier de configuration du site.
    7. Copier ces deux fichiers pour les transférer sur le serveur cible.
  2. Sur le serveur cible :
    1. Importer les données SQL sur MySQL à l'aide du fichier créé à l'étape 1a.
    2. Créer le répertoire /Applications/JIRA et décompresser le fichier contenant l'application JIRA.
    3. Créer le répertoire /Applications/JIRA/HOME et y mettre les données du fichier compressé du créé à l'étape 1c.
    4. Faire la configuration voulue de JIRA comme indiqué dans la procédure d'installation (JIRA_HOME, JAVA_HOME, server port, jira-application.properties).
    5. Aller sur la page de l'application (ex : http://localhost:8989/)
    6. Entrer les informations pour les paramètres de base
    7. Dans la deuxième étape, on offre le choix d'importer les données, utilisez cette option.
    8. Importer les données ZIP qui ont été créés à l'étape 1b.
    9. Ceci devrait compléter la procédure de migration.

Sur le serveur cible

  1. Décompresser le fichier d'application :
    mkdir -p /opt/atlassian/jira
    cd /opt/atlassian/jira
    tar xzf jira-install.tar.gz .
  2. Décompresser les fichiers JIRA_HOME :
    mkdir -p /var/atlassian/application-data/jira
    cd /var/atlassian/application-data/jira
    tar xzf jira-home.tar.gz .
  3. Créer la base de données :
    mysql -h localhost -u [user] -p[password]
    mysql> CREATE DATABASE jiradb CHARACTER SET utf8 COLLATE utf8_bin;
  4. Créer l'utilisateur selon ce qui est dans dbconfig.xml (ce fichier ce trouve dans le répertoire racine du JIRA_HOME):
    mysql> CREATE USER jirauser IDENTIFIED BY 'password';
    mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX on jiradb.* TO 'jirauser'@'localhost' IDENTIFIED BY 'password';
    mysql> FLUSH PRIVILEGES;
  5. Mettre le pilote MySQL (mysql-connector-java-5.1.24-bin.jar) dans /opt/atlassian/jira/lib s'il n'existe pas.
  6. Démarrer JIRA et aller sur l'application. Suivre les instructions, entrer le numéro de licence, etc.
  7. Copier le fichier backup dans /var/atlassian/application-data/jira/import et récupérer ce backup dans JIRA (Administration → System)
  8. Une fois récupéré, JIRA va kicker-out le user. Se relogguer et les projets devraient apparaître.
  9. Réparer les permissions de fichiers ? (au redémarrage de JIRA, les images sont ok)
  10. Faire en sorte que JIRA démarre automatiquement quand le serveur redémarre.

Mise à jour de JIRA 7.0

La mise à jour s'est bien effectuée, sauf pour le HTTPS. En modifiant le server.xml pour décommenter le connector 8443, ça n'a pas fonctionné, JIRA n'écoutait pas sur le port 8443. J'ai voulu utiliser config.sh, mais j'ai dû upgrader Java de 1.7 à 1.8 1) pour démarrer le config.sh.

J'ai spécifié le Keystore Path et Key alias dans la configuration et en redémarrant JIRA, le port 8443 est écouté.

Mise à jour de JIRA 7.1.2

Historique des mises à jour de JIRA

Version de JIRA : System → Troubleshooting and Support → System Info

Date Version antérieure Version installée Type d'opération
20130715 5.2.11 6.0.4 Mise à jour, + achat nouvelle licence
20130424 5.1.8 5.2.11 Mise à jour