Mantistb - proyectosuniandes/Proyecto-MISO4208 GitHub Wiki
Aplicación | Tipo | Repositorio |
---|---|---|
Mantistb | Web | https://github.com/mantisbt/mantisbt |
Es un sistema de gestión de incidencias para proyectos que es gratuito y libre.
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
Se presenta como un MVC (Modelo-vista-controlador) separando los datos, la lógica de negocios y las interfaces de usuario
Implementación del Diseño:
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
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
- Iniciar sesión
- Cerrar sesión
- Crear Proyecto
- Crear Incidencia
- Resolver Incidencia
- Crear Usuario
- Crear Tag
- Ver Resumen de Proyectos
- Ver Opciones de Usuario
- Cambiar Contraseña