Mantistb - proyectosuniandes/Proyecto-MISO4208 GitHub Wiki

Aplicación Tipo Repositorio
Mantistb Web https://github.com/mantisbt/mantisbt

Descripción

Es un sistema de gestión de incidencias para proyectos que es gratuito y libre.

Logo Mantis

Requisitos de la Aplicación

Es una aplicación web desarrollada usando el lenguaje PHP, la preparación del ambiente constituyo su instalación mediante un Docker, aunque mantiene una instalación por medio de la descarga de un Zip. Para su ejecución tiene como dependencias :

  • Apache 2 con mod_rewrite
  • PHP 7.0 con los modulos PDO_MySQL, cURL, SimpleXML, mcrypt, GD, OpenSSL, DOM, SOAP, Zip, fileinfo
  • Mysql o PotgresSQL

Arquitectura

Se presenta como un MVC (Modelo-vista-controlador) separando los datos, la lógica de negocios y las interfaces de usuario MVC

Implementación del Diseño:

Arquitectura Mantis

Instalación

Docker

Se descargar el archivo : Docker Compose Mantis

Se abre una terminal asegurandonos que el archivo este en la misma carpeta en donde estemos parados y ejecutamos el comando

docker-compose up -d

Manual

Mantis requiere Apache, Php y un servidor de base de datos instalado en la máquina, se debe descargar desde su pagina: Descargar Mantistb


Instalar Apache Web Server


Ejecutar los siguientes comandos:

sudo apt install apache2 -y

sudo systemctl status apache2

sudo systemctl start apache2

sudo systemctl enable apache2


Instalar PHP


Para instalar PHP y los modulos necesarios se ejecuta el siguiente comando:

sudo apt install wget php php-cli php-fpm php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath

Se revisa si quedo bien instalado PHP:

php -v Dándonos una respuesta:

PHP 7.2.24-0ubuntu0.18.04.1 (cli) (built: Oct 28 2019 12:07:07) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.24-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

Ahora configuramos el PHP:

sudo vim /etc/php/7.2/apache2/php.ini

Cambiamos la configuración:

upload_max_filesize = 50M


Instalar y configurar el servidor de base de datos para Mantis


Ejecutamos el siguiente comando para instalar MariaDB server

sudo apt install mariadb-server mariadb-client

Ahora lanzamos MAriaDB y habilitamos el servicio al inicio del sistema operativo, ademas revisamor el estatus del servicio:

sudo systemctl start mariadb sudo systemctl enable mariadb sudo systemctl status mariadb

Instalación segura MariaDB con el comando:

sudo mysql_secure_installation

Respondemos Y en todas las preguntas :

Set root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n]

Ingresa a la consola de la base de datos:

sudo mysql -u root -p

Lanza los siguientes comandos:

sudo mysql -u root

mysql> USE mysql; mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root'; mysql> FLUSH PRIVILEGES; mysql> exit;

sudo systemctl restart mariadb

Crea la base de datos para Mantis:

MariaDB [(none)]> CREATE DATABASE mantisdb;

Creamos user y password:

MariaDB [(none)]>CREATE USER 'mantis'@'localhost' IDENTIFIED BY 'mentispassword';

Asignamos los privilegios al usuario:

MariaDB [(none)]>GRANT ALL PRIVILEGES ON mantisdb.* TO 'mantis'@'localhost' IDENTIFIED BY 'mentispassword' WITH GRANT OPTION;

MariaDB [(none)]>FLUSH PRIVILEGES;

MariaDB [(none)]>exit;


Instalar Mantis BT


Después de descargar Mantis BT:

Se desempaqueta el archivo donde el software mantis:

unzip mantisbt-XXXX.zip

sudo mv mantisbt-XXX /var/www/html/mantis/

Se le dan los permisos necesarios al folder mantis:

sudo chown -R www-data:www-data /var/www/html/mantis

Se abre el archivo de configuración :

sudo vim /etc/apache2/sites-available/mantis.conf

Se agregan las siguientes lineas en el mantis.conf

<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/mantis" ServerName yourdomain.com ServerAlias www.yourdomain.com ErrorLog "/var/log/apache2/mantis-error_log" CustomLog "/var/log/apache2/mantis-access_log" combined <Directory "/var/www/html/mantis/"> DirectoryIndex index.php index.html Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>

Se salva el archivo y se habilita el host virtual con los comandos:

sudo a2ensite mantis.conf

sudo systemctl restart apache2


Configurar el Firewall


Se habilita el puerto 80 a través del UFW firewall para Mantis BT.

sudo ufw enable systemctl status ufw sudo ufw allow 80

Casos de Pruebas Exploratorias

  1. Iniciar sesión
  2. Cerrar sesión
  3. Crear Proyecto
  4. Crear Incidencia
  5. Resolver Incidencia
  6. Crear Usuario
  7. Crear Tag
  8. Ver Resumen de Proyectos
  9. Ver Opciones de Usuario
  10. Cambiar Contraseña

Referencias

  1. https://www.mantisbt.org/
  2. https://blog.michelletorres.mx/mvc-y-su-importancia-en-la-web/
⚠️ **GitHub.com Fallback** ⚠️