Cómo instalar la herramienta de gestión de proyectos ágiles Jira en CentOS 8

Jira es una herramienta ágil de gestión de proyectos desarrollada por Atlassian que puede utilizarse para el seguimiento de incidencias, la gestión de proyectos y la corrección de errores. Ofrece una interfaz web fácil de usar que te ayuda a realizar el seguimiento de las incidencias. Puedes planificar, seguir y gestionar todos tus proyectos ágiles de desarrollo de software a través de un navegador web. Se puede integrar fácilmente con Confluence, Bitbucket y otras herramientas para desarrolladores.

En esta guía, explicaré cómo instalar y configurar Jira en CentOS 8.

Requisitos previos

  • Un servidor con CentOS 8.
  • Una contraseña de root configurada en tu servidor.

Instalar Java

Jira está escrito en Java. Así que necesitarás instalar Java en tu sistema. Puedes instalarlo simplemente ejecutando el siguiente comando:

dnf install java-11-openjdk-devel -y

Después de instalar Java, verifica la versión instalada de Java con el siguiente comando:

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)

Instalar el servidor MySQL

En el momento de escribir este tutorial, Jira no soporta la versión 8 de MySQL ni el servidor MariaDB. Así que tendrás que instalar MySQL 5.7 en tu sistema.

En primer lugar, tendrás que desactivar el repositorio AppStream por defecto de MySQL de tu sistema. Puedes desactivarlo con el siguiente comando:

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

A continuación, crea un nuevo archivo de repositorio para MySQL 5.7 con el siguiente comando:

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

Añade las siguientes líneas:

[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

Guarda y cierra el archivo cuando hayas terminado. A continuación, instala MySQL 5.7 ejecutando el siguiente comando:

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

Una vez finalizada la instalación, inicia el servicio MySQL y habilítalo para que se inicie tras el reinicio del sistema con el siguiente comando

systemctl start mysqld
systemctl enable mysqld

Tras la instalación, se ha generado una contraseña temporal de root de MySQL. Puedes capturar la contraseña con el siguiente comando:

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

Deberías obtener la siguiente salida:

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

Recuerda esta contraseña, ya que la necesitarás durante el proceso de restablecimiento de la contraseña raíz de MySQL.

A continuación, se recomienda restablecer la contraseña raíz de MySQL por defecto. Puedes restablecerla con el siguiente comando:

mysql_secure_installation

Se te pedirá que proporciones tu contraseña raíz de MySQL por defecto:

Enter password for user root: 

Proporciona la contraseña raíz de MySQL por defecto y pulsa Intro para establecer una nueva contraseña como se muestra a continuación:

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

Escribe Y y pulsa Intro para continuar y sigue las instrucciones que se muestran a continuación:

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

Configurar la base de datos MySQL

A continuación, tendrás que modificar algunos ajustes de MySQL. Puedes hacerlo editando el archivo my.cnf:

nano /etc/my.cnf

Añade las siguientes líneas en la sección [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

Guarda y cierra el archivo. A continuación, reinicia el servicio MySQL para aplicar los cambios:

systemctl restart mysqld

A continuación, inicia sesión en el shell de MySQL:

mysql -u root -p

Proporciona tu contraseña de root y crea una base de datos y un usuario para Jira con el siguiente comando:

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

A continuación, concede los privilegios necesarios a la jiradb con el siguiente comando:

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

A continuación, vacía los privilegios y sal del shell de MySQL con el siguiente comando:

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Instalar y configurar Jira

Primero, descarga la última versión del binario de instalación de Jira con el siguiente comando

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

Una vez descargado, proporciona el permiso de ejecución al archivo binario descargado:

chmod +x atlassian-jira-software.bin

A continuación, ejecuta el siguiente comando para iniciar la instalación:

./atlassian-jira-software.bin

Se te pedirán varias preguntas como se muestra a continuación:

Unpacking JRE ...
Starting Installer ...

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

Pulsa Intro para iniciar la instalación:

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

Escribe 1 y pulsa Intro para expresar la instalación:

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]

Pulsa Enter para iniciar la instalación:

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]

Pulsa Intro para iniciar el servicio de Jira. Una vez completada la instalación, deberías obtener la siguiente salida:

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

A continuación, tendrás que descargar e instalar el conector Java MySQL en Jira.

Primero, descarga el conector MySQL con el siguiente comando:

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

A continuación, descomprime el archivo descargado y cópialo en el directorio de instalación de Jira con el siguiente comando:

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

A continuación, reinicia el servicio de Jira con el siguiente comando para aplicar los cambios:

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

A continuación, tendrás que configurar el conector HTTP y definir tu proxy en Jira. Puedes configurarlo editando el archivo /opt/atlassian/jira/conf/server.xml

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

Busca las siguientes líneas:

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

Y sustitúyela por las siguientes líneas:

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

Guarda y cierra el archivo y luego reinicia el servicio de Jira para aplicar los cambios:

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

Configurar Nginx como proxy inverso para Jira

Por defecto, Jira se ejecuta en el puerto 8080. Es una buena idea configurar Nginx como proxy inverso para Jira. Así podrás acceder a Jira utilizando el puerto 80.

Primero, instala el servidor web Nginx con el siguiente comando:

dnf install nginx -y

Después de instalar Nginx, inicia el servicio Nginx y habilítalo para que se inicie después de reiniciar el sistema:

systemctl start nginx
systemctl enable --now nginx

A continuación, crea un nuevo archivo de configuración de host virtual para Jira:

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

Añade las siguientes líneas:

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

Guarda y cierra el archivo cuando hayas terminado. A continuación, comprueba si Nginx tiene algún error de sintaxis con el siguiente comando:

nginx -t

Deberías obtener la siguiente salida:

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

Por último, reinicia el servicio de Jira y Nginx para aplicar los cambios:

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

Configurar SELinux y el cortafuegos

A continuación, tendrás que permitir el puerto 80 a través del cortafuegos. Puedes configurarlo con el siguiente comando:

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

Por defecto, SELinux está activado en CentOS 8. Se recomienda deshabilitarlo ya que puede hacer que la aplicación Jira funcione correctamente.

Puedes desactivar el SELinux editando el archivo /etc/selinux/config:

nano /etc/selinux/config

Busca la siguiente línea:

SELINUX=enforcing

Y, sustitúyela por la siguiente línea:

SELINUX=permissive

Guarda y cierra el archivo. A continuación, reinicia tu sistema para aplicar los cambios:

Accede al panel de control de Jira

Abre tu navegador web y escribe la URL http://jira.example.com. Serás redirigido a la siguiente página:

Instalador de Jira

Selecciona «lo configuraré yo mismo» y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Configuración de la base de datos

Selecciona «Mi propiabase de datos«, proporciona los detalles de tu base de datos y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Propiedades de la aplicación

Proporciona el título de tu aplicación, la URL y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Clave de licencia

Proporciona tu clave de licencia de prueba y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Cuenta de administrador

Proporciona los datos de tu cuenta de administrador y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Notificaciones por correo electrónico

Haz clic en el botón Finalizar para completar la instalación. Deberías ver la página de selección de idioma:

Elige la lengua

Selecciona el idioma que desees y haz clic en el botón Continuar. Deberías ver la siguiente página:

Cuenta Jira

Elige tu avatar y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Panel de control de Jira

Haz clic en«Crear nuevo proyecto» para crear tu primer proyecto. Deberías ver la siguiente página:

Crear un proyecto en Jira

Selecciona«Desarrollo de software Scrum» y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Desarrollo de software con Scrum

Haz clic en el botón Seleccionar para seleccionar tu flujo de trabajo. Deberías ver la siguiente página:

Nombre y clave del proyecto

Proporciona el nombre y la clave de tu proyecto, y haz clic en el botón Enviar. Deberías ver el tablero de Jira en la siguiente página:

Panel de control del proyecto Jira

Conclusión

Enhorabuena! has instalado y configurado con éxito Jira en CentoS 8. Ahora puedes empezar a explorar Jira para saber cómo funciona. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...