Teléfono y Whatsapp: 675 18 68 80

Instalación y configuración de Jira Software en nuestro servidor GNU/Linux

Instalar Jira Software

Nota: antes de instalar Jira Software, asegúrate de que descargas una versión que haya sido liberada antes de que tu licencia de Jira haya caducado. De lo contrario, esa versión de Jira no funcionará con tu licencia actual.

A la hora de descargar Jira Software, tenemos dos opciones:
1 – Hacerlo desde la web oficial: https://es.atlassian.com/software/jira/download seleccionamos la versión del sistema operativo (Linux 64 bits) y comenzará la descarga. Después lo subimos al servidor mediante SCP o FTP y accedemos mediante SSH al mismo.

2- Otra opción es ya teniendo la URL, descargarlo por WGET en el servidor directamente:

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

Damos permisos de ejecución al archivo bin:

sudo chmod a+x atlassian-jira-software-8.4.3-x64.bin

Y lo ejecutamos:

sudo ./atlassian-jira-software-8.4.3-x64.bin

y seguimos el asistente por consola… Una vez finalice, accedemos a la URL y seguimos el asistente Web.
Marcamos la opción de “I’ll set it up myself” y seleccionamos el contector de la BBDD.
Nota: Si vamos a usar MySQL, ver el apartado correspondiente más abajo, antes de continuar.
Nota: Jira guardará backups diarios de la base de datos en: /var/atlassian/application-data/jira/export

Desinstalar Jira Software

Vamos al directorio de la actual instalación de Jira:

cd /opt/atlassian/jira/

Y ejecutamos el comando de desinstalación:

sudo ./uninstall

Reinicializar Jira Software

Es posible que si hemos instalado Jira para fines demo (creándose la base de datos en local), volver a lanzar el asistente de configuración paso a paso, para ello, hay que eliminar el archivo dbconfig.xml del directorio HOME de Jira.
Paramos Jira:

sudo service jira stop

Eliminamos el archivo:

sudo rm /var/atlassian/application-data/jira/dbconfig.xml

O bien lo renombramos

sudo mv /var/atlassian/application-data/jira/dbconfig.xml /var/atlassian/application-data/jira/_dbconfig.xml

Iniciamos de nuevo Jira:

sudo service jira start

Accedemos a la URL y el asistente empezará de nuevo.

Instalar el plugin MySQL JDBC

Si realizamos una instalación personalizada, podemos seleccionar que tipo de conectar de BBDD queremos usar, y el conector MySQL no viene instalado por lo que debemos de descargarlo e instalarlo. De nuevo tenemos dos opciones:

1- Descargarlo desde la web oficial https://dev.mysql.com/downloads/connector/j/5.1.html , versión “Platform independient“. Descomprimimos el zip, nos quedamos con el archivo mysql-connector-java-5.1.47-bin.jar

2- Otra opción es descargarlo directamente por WGET:

wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.47.tar.gz
tar -xvzf mysql-connector-java-5.1.47.tar.gz

Lo movemos a /opt/atlassian/jira/lib/:

sudo mv mysql-connector-java-5.1.47-bin.jar /opt/atlassian/jira/lib/

Cambiamos los permisos a root:

sudo chown root:rootmysql-connector-java-5.1.47-bin.jar

Reiniciamos Jira, seguimos el asistente y ponemos los datos de conexión MySQL.
Creamos la base de datos con la codificación utf8_bin

Iniciar y parar Jira

Si se ha instalado Jira como servicio, podremos iniciarlo y pararlo como cualquier otro:

sudo service jira start
sudo service jira stop

Encapsular Jira en un dominio

Si tenemos Apache instalado y configurado, activamos los módulos proxy_http y rewrite:

sudo a2enmod proxy_http
sudo a2enmod rewrite

Creamos un virtual host para poner la configuración de la encapsulación del dominio:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/subdominio.midominio.com.conf

Y metemos la configuración:

<VirtualHost *:80>
    ServerName subdominio.midominio.com
 
    ProxyRequests Off
    ProxyVia Off
 
    <Proxy *>
         Require all granted
    </Proxy>
 
    ProxyPass / http://subdominio.midominio.com:8090/
    ProxyPassReverse / http://subdominio.midominio.com:8090/
</VirtualHost>

Activamos el nuevo sitio:

sudo a2ensite subdominio.midominio.com.conf

Reiniciamos Apache:

sudo service apache2 restart

Modificamos el archivo server.xml Tomcat de Jira, comentando el conector por defecto DEFAULT y descomentando el HTTP o HTTPS (si instalamos Let’s Encrypt):

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

En el conector HTTP o HTTPS, debemos de establecer el proxyName, que será el de nuestro dominio.

<Connector port="8090" relaxedPathChars="[]|" relaxedQueryChars="[]|{}^&#x5c;&#x60;&quot;&lt;&gt;"
                   maxThreads="150" minSpareThreads="25" connectionTimeout="20000" enableLookups="false"
                   maxHttpHeaderSize="8192" protocol="HTTP/1.1" useBodyEncodingForURI="true" redirectPort="8443"
                   acceptCount="100" disableUploadTimeout="true" bindOnInit="false" secure="true" scheme="https"
                   proxyName="subdominio.midominio.com" proxyPort="443"/>

Reiniciamos Jira:

sudo service jira restart

Ahora si accedemos a subdominio.midominio.com , accederíamos a Jira de la misma manera que si lo hiciésemos desde http://[ip]:8090

Instalar Let’s Encrypt

Si ya tenemos instalado y configurado Let’s Encrypt en nuestro servidor, ejecutamos:

sudo certbot-auto --apache -d subdominio.midominio.com

Nota: si cambiamos alguna configuración del dominio en nuestro archivo de configuración del Virtual Host del puerto 80, también debemos de cambiarlo en el correspondiente creado por Let’s Encrypt:

sudo nano /etc/apache2/sites-available/subdominio.midominio.com-le-ssl.conf

Log de Jira

Si hubiese algun problema, podemos localizar el LOG de JIRA en:

sudo tail /var/atlassian/application-data/jira/log/atlassian-jira.log

Arrancar Jira al iniciar el servidor

Es posible que el servicio de Jira no arranque por defecto al arrancar el sistema, para ello debemos de mover el init.d

sudo mv /etc/init.d/jira /path/a/otrositio

Creamos un servicio en systemd:

sudo nano /etc/systemd/system/jira.service

y ponemos:

[Unit]
Description=Atlassian Jira
After=syslog.target network.target
 
[Service]
Type=forking
User=jira
ExecStart=/opt/atlassian/jira/bin/start-jira.sh
ExecStop=/opt/atlassian/jira/bin/stop-jira.sh
SuccessExitStatus=143
 
[Install]
WantedBy=multi-user.target

E iniciamos el servicio:

sudo systemctl enable jira

Migrar Jira a otro servidor

Previamente, realizamos un backup completo del Jira del antiguo servidor:

  • Manualmente la Base de datos MySQL
  • Desde el panel del Jira, (Sistema, Importar y exportar, Sistema de copia de seguridad) para exportar el XML de la base de datos. Podremos descargarlo una vez generado desde /var/atlassian/application-data/jira/export/. Esto se hace por si acaso el backup MySQL no fuese consistente.
  • Manualmente el directorio /var/atlassian/application-data/jira/data/ para los DATOS adjuntos los proyectos JIRA.

En el nuevo servidor levantado, con Jira y MySQL instalados, establecemos la configuración horaria:

timedatectl set-timezone 'Europe/Madrid'

Y copiamos la configuración del conector de la base de datos MySQL del antiguo servidor al nuevo. Simplemente pegando en el archivo dbconfig.xml los datos del antiguo servidor:

sudo nano /var/atlassian/application-data/jira/dbconfig.xml

Subimos los DATOS adjuntos de proyectos copiados anteriormente al mismo directorio /var/atlassian/application-data/jira/data/ del nuevo servidor, ya sea por FTP o SSH.
Después les damos permisos a los directorios de JIRA que incluyen el de DATOS:

sudo chown -R jira:jira /var/atlassian/application-data/jira/
sudo chmod -R u=rwx,g=rx,o=rx /var/atlassian/application-data/jira/

Accedemos a la URL de la nueva instancia de Jira e iniciamos el asistente. Jira al conectarse a la base de datos antigua, conocerá nuestro número de licencia e instalará todo lo necesario.

Trascurrido un rato, transcurrida la inicialización de los componentes, ya deberíamos de poder trabajar con Jira.