Cómo instalar Mantis Bug Tracker en CentOS 8

MantisBT es un software de seguimiento de errores gratuito, de código abierto y basado en web, escrito en PHP. Es sencillo, fácil de usar y viene con un montón de herramientas que te ayudan a colaborar con equipos para resolver errores y problemas rápidamente. Ofrece un amplio conjunto de funciones, como notificación por correo electrónico, control de acceso basado en roles, soporte para proyectos, subproyectos y categorías, gráfico de relaciones entre incidencias, panel de control personalizable y muchas más.

En este tutorial, te mostraremos cómo instalar el sistema Mantis Bug Tracking en CentOS 8.

Requisitos previos

  • Un servidor que ejecute CentOS 8.
  • Un nombre de dominio válido apuntado con la IP de tu servidor.
  • Una contraseña de root configurada en el servidor.

Instalar el servidor LAMP

En primer lugar, tendrás que instalar en tu sistema el servidor web Apache, el servidor MariaDB, PHP y otros paquetes necesarios. Puedes instalarlos todos con el siguiente comando:

dnf install httpd mariadb-server php php-mysqli php-mbstring php-curl unzip -y

Una vez instalados todos los paquetes, inicia el servicio Apache y MariaDB y habilítalos para que se inicien al reiniciar el sistema con el siguiente comando:

systemctl start httpd
systemctl start mariadb
systemctl enable httpd
systemctl enable mariadb

Cuando hayas terminado, puedes pasar al siguiente paso.

Crear una base de datos para Mantis

Mantis utiliza MariaDB o MySQL como base de datos. Así que tendrás que crear una base de datos y un usuario para Mantis.

En primer lugar, inicia sesión en el shell de MariaDB con el siguiente comando:

mysql

Una vez iniciada la sesión, crea una base de datos y un usuario con el siguiente comando:

MariaDB [(none)]> CREATE DATABASE mantisdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mantisdb.* TO 'mantis'@'localhost' IDENTIFIED BY 'mantispassword';

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

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez que hayas terminado, puedes pasar al siguiente paso.

Instalar Mantis

En primer lugar, descarga la última versión de Mantis del sitio web Sourceforge con el siguiente comando:

wget https://excellmedia.dl.sourceforge.net/project/mantisbt/mantis-stable/2.24.2/mantisbt-2.24.2.zip

Una vez finalizada la descarga, descomprime el archivo descargado con el siguiente comando:

unzip mantisbt-2.24.2.zip

A continuación, copia el directorio extraído en el directorio raíz de Apache con el siguiente comando:

cp -r mantisbt-2.24.2 /var/www/html/mantis

A continuación, cambia la propiedad del directorio mantis a apache:

chown -R apache:apache /var/www/html/mantis

Una vez que hayas terminado, puedes pasar al siguiente paso.

Configurar Apache para Mantis

A continuación, tendrás que crear un archivo de configuración del host virtual de Apache para Mantis. Puedes crearlo con el siguiente comando:

nano /etc/httpd/conf.d/mantis.conf

Añade las siguientes líneas:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/mantis"
ServerName mantis.linuxbuz.com
<Directory "/var/www/html/mantis/">
Options MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

TransferLog /var/log/httpd/mantis_access.log
ErrorLog /var/log/httpd/mantis_error.log

</VirtualHost>

Guarda y cierra el archivo cuando hayas terminado y reinicia el servicio Apache para aplicar los cambios:

systemctl restart httpd

También puedes verificar el estado de Apache con el siguiente comando:

systemctl status httpd

Deberías obtener la siguiente salida:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Active: active (running) since Sat 2020-09-19 11:06:51 EDT; 37s ago
     Docs: man:httpd.service(8)
 Main PID: 41737 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 25014)
   Memory: 25.0M
   CGroup: /system.slice/httpd.service
           ??41737 /usr/sbin/httpd -DFOREGROUND
           ??41738 /usr/sbin/httpd -DFOREGROUND
           ??41739 /usr/sbin/httpd -DFOREGROUND
           ??41740 /usr/sbin/httpd -DFOREGROUND
           ??41741 /usr/sbin/httpd -DFOREGROUND

Sep 19 11:06:51 centos8 systemd[1]: Starting The Apache HTTP Server...

Asegura Mantis con Let’s Encrypt SSL

A continuación, tendrás que instalar la utilidad Certbot en tu sistema para descargar e instalar Let’s Encrypt SSL para tu sitio web Mantis.

Puedes instalar el cliente Certbot con el siguiente comando:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

A continuación, obtén e instala un certificado SSL para tu sitio web Mantis con el siguiente comando:

certbot-auto --apache -d mantis.linuxbuz.com

El comando anterior instalará primero todas las dependencias necesarias en tu servidor. Una vez instalado, se te pedirá que proporciones una dirección de correo electrónico y que aceptes las condiciones del servicio, como se muestra a continuación:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y 


Obtaining a new certificate
Performing the following challenges:
http-01 challenge for mantis.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/apache/conf.d/mantis.conf

A continuación, tendrás que elegir si deseas redirigir el tráfico HTTP a HTTPS, como se muestra a continuación:

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Escribe 2 y pulsa Intro para continuar. Una vez finalizada la instalación, deberías ver la siguiente salida:

Redirecting all traffic on port 80 to ssl in /etc/apache/conf.d/mantis.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://mantis.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=mantis.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/mantis.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/mantis.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-03-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Configurar SELinux y el Cortafuegos

Por defecto, SELinux está activado en CentOS 8. Así que tendrás que configurarlo para tu sitio web Mantis.

Puedes configurar SELinux con el siguiente comando:

setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/mantis

A continuación, permite los puertos 80 y 443 a través del cortafuegos con el siguiente comando:

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

Una vez que hayas terminado, puedes pasar al siguiente paso.

Accede a la interfaz web de Mantis

Ahora, abre tu navegador web y accede a la interfaz web de Mantis utilizando la URL https://mantis.linuxbuz.com. Deberías ver la siguiente pantalla:

Comprobación previa a la instalación de Mantis

Configura la base de datos

Proporciona el nombre de tu base de datos, el nombre de usuario, el nombre de usuario administrador, la contraseña, el correo electrónico y haz clic en el botón Instalar/Actualizar base de datos. Una vez completada la instalación, deberías ver la siguiente pantalla:

Instalación Mantis completa

A continuación, haz clic en el botón«Continuar«, deberías ver la página de inicio de sesión de Mantis BT en la siguiente pantalla:

Iniciar sesión en Mantis

Proporciona un nombre de usuario Mantis administrador por defecto y haz clic en el botón Iniciar sesión. Se te pedirá que proporciones la contraseña como se muestra en la siguiente pantalla:

Introduce la contraseña de administrador

Proporciona la contraseña por defecto de Mantis «root» y haz clic en el botón Iniciar sesión. Serás redirigido a la siguiente pantalla:

Panel Mantis

Cambiar la contraseña del administrador

Se recomienda cambiar la contraseña de administrador por defecto. Proporciona tu contraseña actual, la nueva contraseña, el correo electrónico, el nombre real, el nivel de acceso, el nivel de acceso al proyecto y haz clic en el botón Actualizar usuario. Deberías ver el panel de control de Mantis en la siguiente pantalla:

Panel Mantis Bugtracker

Conclusión

Enhorabuena! has instalado correctamente Mantis con Let’s Encrypt SSL en CentOS 8. Ahora puedes implementar Mantis en tu entorno de desarrollo y colaborar con equipos. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...