Sie sind auf Seite 1von 25

Mantis:

Manual de instalación en servidor

Fecha: Referencia:

EJIE S.A.
Mediterráneo, 3
Tel. 945 01 73 00*
Fax. 945 01 73 01
01010 Vitoria-Gasteiz
Posta-kutxatila / Apartado: 809
01080 Vitoria-Gasteiz
www.ejie.es

Este documento es propiedad de EJIE, S.A. y su contenido es confidencial. Este documento no puede ser reproducido, en su totalidad o parcialmente, ni
mostrado a otros, ni utilizado para otros propósitos que los que han originado su entrega, sin el previo permiso escrito de EJIE, S.A.. En el caso de ser
entregado en virtud de un contrato, su utilización estará limitada a lo expresamente autorizado en dicho contrato. EJIE, S.A. no podrá ser considerada
responsable de eventuales errores u omisiones en la edición del documento.
Control de documentación
Título de documento: MANTIS

Histórico de versiones

Código:

Versión: 1.1

Fecha:

Resumen de cambios:

Cambios producidos desde la última versión

Primera versión.

Control de difusión

Responsable: Ander Martínez

Aprobado por: Ander Martínez

Firma: Fecha:

Distribución:

Referencias de archivo

Autor: Consultoría de áreas de conocimiento

Nombre archivo: Mantis. 50186960.doc

Localización:

Mantis. Manual de instalación en servidor 1/26


Contenido
Capítulo/sección Página

Mantis. Manual de instalación en servidor 2/26


1 Introducción 4
2 Conceptos básicos 4
3 Instalación y configuración 5

3.1 Requisitos previos...................................................................................................5


3.1.1. Arquitectura lógica y física 5
3.1.2. Conectividad y DNS 6
3.1.3. Software y usuarios 6

3.2 Instalación MySQL..................................................................................................6

3.3 Instalación servidor web Apache.............................................................................8

3.4 Instalación módulo PHP sobre Apache.................................................................10

3.5 Instalación de mantis.............................................................................................11


3.5.1. Código PHP 11
3.5.2. Conexión a la base de datos MySQL y creación de estructuras 11
3.5.3. Configuración básica de mantis 15

3.6 Salvado de la configuración inicial........................................................................20


4 Procesos de operación 21

4.1 Verificación de funcionamiento correcto................................................................21

4.2 Parada y arranque del servicio..............................................................................21

4.3 Backup/Restore de la base de datos MySQL........................................................22


5 Recursos necesarios 23

5.1 Memoria................................................................................................................23

5.2 Espacio en disco...................................................................................................23


6 Parametrización: Impresión Campos personalizados 24

6.1 Instalación.............................................................................................................24

Mantis. Manual de instalación en servidor 3/26


1 Introducción

El presente documento describe cuáles son los pasos necesarios que se deben seguir para la correcta
puesta en marcha del Mantis. Este proceso incluye, todos los aspectos relativos al proceso de instalación de los
distintos programas que componen la aplicación y los parámetros de configuración iniciales para un correcto
funcionamiento de la aplicación.

2 Conceptos básicos

Mantis es un sistema de registro y control de Bugs basado en Web.

El acceso a la aplicación (al ser una aplicación de tipo Web), se realiza mediante un navegador. El
Mantis, no tiene ninguna restricción al tipo de navegador que debe usarse para trabajar como cliente.

El objetivo de Mantis es crear y mantener un sistema de control de Bugs, y está diseñado de manera que
sea fácilmente modificable, personalizable y actualizable.

Mantis está desarrollado en PHP y requiere para su correcto funcionamiento

 Una base de datos (MySQL).


 Un servidor de aplicaciones Web (servidor http Apache)
 Módulo PHP Apache

El Mantis se despliega sobre el servidor Web (servidor http Apache) y usará la base de datos MySQL
para la gestión de información.

Puede ser instalado en sistemas operativos Windows, sistemas operativos MacOS o sistemas operativos
de tipo Unix.

Para obtener información adicional sobre el producto acceder a su página web:

http://www.mantisbt.org/

Mantis. Manual de instalación en servidor 4/26


3 Instalación y configuración

El proceso de instalación del “Mantis Bug Tracker” se divide en varias etapas.

 Instalación de la base de datos MySQL.


 Instalación del servidor Web Apache
 Instalación del módulo PHP para Apache
 Instalación y configuración de Mantis

El presente documento hace referencia a las siguientes versiones de producto las cuales son las estables
y recomendadas:

 Mantis
 MySQL
 Apache Web Server
 Módulo Apache PHP

3.1 Requisitos previos

3.1.1.Arquitectura lógica y física

El servidor web y el servidor de base de datos se instalarán sobre la misma máquina física.

Mantis. Manual de instalación en servidor 5/26


3.1.2.Conectividad y DNS

Para el correcto funcionamiento del Mantis es necesario tener en cuenta que, los distintos componentes
de la arquitectura deben ser visibles los unos con los otros. Se deberán configurar los distintos DNS y se
deberán tener abiertos una serie de puertos específicos para que la herramienta funcione correctamente.


3.1.3.Software y usuarios

Se suministran los ficheros necesarios para realizar todo el proceso de instalación:

 MySQL: Linux (non RPM package) downloads


 mysql-standard-5.0.22-linux-i686.tar.gz (30,1 Mb)

 Apache Web Server: Unix Source


o httpd-2.2.2.tar.gz (5,99 Mb)
 Módulo Apache PHP : PHP 5.1.4 Complete Source Code
o php-5.1.4.tar.gz (7,73 Mb)
 Mantis: mantis-stable 1.0.3
o mantis-1.0.3.tar.gz (1,36 Mb)

No obstante, si se desea una actualización de versiones, el software podrá descargarse desde las
siguientes direcciones:

 MySQL: http://dev.mysql.com/downloads/
 Apache Web Server: http://httpd.apache.org/download.cgi
 Módulo Apache PHP: http://www.php.net/downloads.php
 Mantis: http://www.mantisbt.org/download.php

La instalación de cada producto se realizará sobre disco local:

 Tamaño: 1794 MB

Nota: Esta estimación de espacio necesario, está efectuada en base a estimaciones iniciales para
una instalación de todos los productos, dejando el espacio necesario no solo para la instalación de los
productos, sino que también hay que dejar espacio para la compilación de los mismos.

Se contempla además la necesidad de un subdirectorio de salvado de la configuración inicial de todos los


productos.

3.2 Instalación MySQL

Los distintos pasos que se deben dar son los siguienetes:

1. Desempaquetar mysql-standard-5.0.22-linux-i686.tar.gz sobre /opt/temp


# cd /opt/temp
# tar –xvzf mysql-standard-5.0.22-linux-i686.tar.gz

Mantis. Manual de instalación en servidor 6/26


2. Configurar la compilación para que la instalación se lleve a cabo en /opt/mysql
# cd /opt/tmp/mysql-standard-5.0.22-linux-i686
# ./configure\
--prefix= /opt/mysql \
--localstatedir= /serverapp/mysql/var \
--with-mysqld-user=generico
3. Compilar
# make
4. Instalar
# make install
5. Crear Base de Datos
# scripts/mysql_install_db
6. Arrancar la Base de Datos Manualmente
# cd /opt/mysql
# ./bin/mysqld_safe &
7. Comprobando que la Base de Datos ha arrancado correctamente viendo los procesos
# ps –fea | grep mysql
247 17129 1 0 Mar30 ? 00:00:00 /bin/sh ./mysqld_safe
247 17188 17129 0 Mar30 ? 00:01:06 /opt/mysql/libexec/my
qld –-basedir=/opt/mysql –datadir=/opt/mysql/var
–-pid-file=/opt/mysql/var/ejibm73.pid –skip-locking
8. Establecemos la contraseña de root
# cd /opt/mysql/bin
# ./mysqladmin –u root password generico
9. Comprobando que la Base de Datos ha arrancado correctamente mediante shell
# cd /opt/mysql/bin
# ./mysql –u root –p
password:****

Welcome to the MySQL monitor. Commands end with ; or \g.


Your MySQL connection id is 1 to server version: xxxx

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.

Mysql> show databases;


+-------------------+
| Database |
+-------------------+
| mysql |
| test |
+-------------------+
2 rows in set (0.01 sec)
mysql> quit;
10. Parar la Base de Datos matando los procesos

Mantis. Manual de instalación en servidor 7/26


# ps -fea | grep mysql
247 20294 6514 0 11:05 pts/5 00:00:00 /bin/sh ./mysqld_safe
247 20307 20294 0 11:05 pts/5 00:00:00 /opt/mysql//libexec/mysqld
--basedir=/opt/mysql/ --datadir=/servapp/var --pid-file=/
servapp/mysql/var/ejibm73.pid --skip-locking
247 20616 6514 0 11:17 pts/5 00:00:00 grep mysql
# kill -9 20294
# kill -9 20307
11. Con usuario root, crear los scripts de arranque / parada, copiando el fichero suministrado por MySQL
en /etc/init.d/mysql. Crear así mismo los enlaces en el rc3 y rc5.
# cd /opt/tmp/mysql-standard-5.0.22-linux-i686
# cp support-files/mysql.server /etc/init.d/mysql-sd
# chown root:generico /etc/init.d/mysql-sd
# chmod +x /etc/init.d/mysql-sd
12. Probar a arrancar y parar el Servicio como usuario generico
# /etc/init.d/mysql-sd start
Starting MySQL [ OK ]
# /etc/init.d/mysql-sd stop
Shutting down MySQL.. [ OK ]
13. Para configurar el puerto de escucha, y el almacenamiento de los datos, logearse como root y editar
el fichero de configuración de mysql /etc/my.cnf
# cd /etc/my.cnf
# vi my.cnf
14. Establecer los siguientes valores:
[mysql]
datadir=/servapp/mysql
#socket=/opt/mysql/mysql.sock
port=3306
# Default to using old password format for compatibility whit mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
Old_passwords-1

[mysql.server]
user=mysql
basedir=/var/lib

[mysql_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

15. Realizamos un restart del mysql


# cd /etc/init.d
# mysql restart

3.3 Instalación servidor web Apache

Se asume la instalación de una instancia de servidor web Apache dedicada al conjunto de herramientas

Mantis. Manual de instalación en servidor 8/26


de desarrollo actualmente propuestas o de implantación futura.

No obstante también se podría optar por reutilizar alguna de las ya existentes, en cuyo caso,
evidentemente no sería necesario todo el proceso descrito a continuación.

Las siguientes tareas se realizarán con el usuario genérico creado a tal efecto:
1. Desempaquetar httpd-2.2.2.tar.gz sobre /opt/temp
# cd /opt/temp
# tar -xvzf httpd-2.2.2.tar.gz
2. Configurar la compilación para que la instalación se lleve a cabo en /opt/apache2
# cd /opt/tmp/httpd-2.2.2.tar.gz
# ./configure \
--enable-so
--prefix=/opt/apache2
3. Compilar e instalar
# make
# make install
4. Configurar el servidor. Para ello editamos el archivo httpd.conf de /opt/apache2/conf y modificamos
las siguientes líneas
DocumentRoot “/opt/php”
ServerAdmin sd-apache@<dominio>
ServerName <dominio>
Listen <dominio>:<puerto>
DirectoryIndex index.html index.php index.htm index.html.var
User generico
Group users

Nota: Se deberá ajustar el valor de puerto de escucha para evitar colisiones con otras instancias ya
configuradas.

5. Comprobar que todo ha ido correctamente. Para ello crear en /opt/php un archivo index.html con el
siguiente contenido
<html>
<body>
<H1> OK </h1>
</body>
</html>
6. Arrancar el servicio como root
# /opt/apache2/bin/apchectrl start
7. Utilizar el navegador para ver que la pagina se muestra correctamente
http://<dominio>:<puerto>/index.html
8. Instalar el servicio en el init.d para centralizar su acceso, deteniendo primero el servidor apache
arrancado anteriormente
# /opt/apache2/bin/apachectrl stop

Mantis. Manual de instalación en servidor 9/26


9. Nos conectamos como root y creamos el link al arranque desde /etc/init.d y cambiamos sus permisos
# ln –s /opt/apache2/bin/apachectrl /etc/init.d/apache2-sd

3.4 Instalación módulo PHP sobre Apache

Las siguientes tareas se realizarán con el usuario root, teniendo en cuenta que existe una instalación de
Apache en la máquina operativa.

Las siguientes tareas se realizarán con el usuario generico creado a tal efecto:
1. Desempaquetar php-5.1.4.tar.gz sobre /opt/temp
# cd /opt/temp
# tar -xvzf php-5.1.4.tar.gz
2. Configurar la compilación indicando la ruta donde se encuentra instalado MySQL e indicando que el
módulo se va a compilar con soporte MySQL y APXS pudiendo así ser este módulo cargado dinámicamente en
Apache.
# cd /opt/tmp/$PHP
# ./configure \
--with-mysql=/opt/mysql
--with-apxs2=/opt/apache2/bin/apxs
3. Compilar
# make
4. Instalar
# make install

Nota: este paso modifica el fichero de configuración Apache indicando que se debe cargar el Módulo de
PHP.

5. Post-Configuración. Comprobar que la instalación ha modificado la configuración de Apache


indicando que se debe cargar el Módulo de PHP. En caso de no estar incluido el LoadModule realizarlo.
# less /opt/apache2/conf/httpd.conf | grep libphp
LoadModule php4_module modules/libphp4.so
6. Post-Configuración. Para asociar la extensión php con el intérprete de PHP, editar el fichero de
configuración /opt/apache2/conf/httpd.conf
# cd /opt/apache2/conf
# vi httpd.conf
7. Incluir la asociación
#AddType application/x-tar .tgz
#
# AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
# information on the fly. Note: Not all browsers support this.
# Despite the name similarity, the following Add* directives have nothing
# to do with the FancyIndexing customization directives above.
# SOPORTE PARA PHP, MANTIS
AddType application/x-httpd-php .php

Mantis. Manual de instalación en servidor 10/26


8. Conectarse como root y reiniciar el servidor Apache
# cd /opt/apache2/bin
# apachectrl stop
# apachectrl start
9. Para comprobar que el módulo está cargado y que el servidor interpreta archivos php, será necesario
conectarse nuevamente como usuario generico
10. Crear un archivo “prueba.php” en la carpeta DocumentRoot (/opt/php/) de Apache con el siguiente
contenido:
<html>
<body>

Hola mundo !!! esto es una prueba

<?php phpinfo() ;?>


</body>
</html>
11. Visualizarlo con el Navegador
http://<dominio>:<puerto>/mantis/admin/install.php

3.5 Instalación de mantis

Una vez instalados todos los productos de base se procederá a instalar la herramienta mantis:

 El código php propio del producto que será servido por el servidor web Apache
 La instancia, tablas y usuario de base de datos MySQL que almacenará la información
 Configuración básica de mantis

3.5.1.Código PHP

Las siguientes tareas se realizarán con el usuario generico creado a tal efecto:
1. Desempaquetar mantis-1.0.3.tar.gz sobre /opt/temp
# cd /opt/temp
# tar -xvzf mantis-1.0.3.tar.gz
2. Renombrar el directorio
# mv mantis-1.0.3 mantis
3. Mover el directorio mantis al directorio de los módulos de Apache
# mv mantis /opt/php
4. Una vez hecho esto, se debe acceder mediante un navegador web a la página (.php) que realiza la
configura la conexión de Mantis a su base de datos.

3.5.2.Conexión a la base de datos MySQL y creación de estructuras

Las siguientes tareas se realizarán con el usuario generico creado a tal efecto:

Mantis. Manual de instalación en servidor 11/26


1. No es necesaria la creación de una nueva instancia de Base de Datos para Mantis, ya que el propio
programa de instalación de Mantis realiza la creación de ésta. Tan solo es necesaria la autenticación inicial en
Mantis con un usuario que tenga permisos de Administración en MySQL, y a partir de ese punto ejecutar los
procesos identificados en el punto 3.5.2 Conexión a la base de datos MySQL y creación de estructuras del
presente documento
2. Crear el usuario (usuario=mantis/password=mantis) que usará Mantis para realizar la instalación y
gestión de la aplicación, y salir una vez terminado.
mysql> GRANT ALL PRIVILEGES ON *.* TO mantis@”localhost”
IDENTIFIED BY 'mantis' WITH GRANT OPTION;
*************************
mysql> quit

Nota: Si en parámetro de nombre de usuario se especifica mantis@”%” (en lugar de mantis@”localhost”)


se permitiría el acceso remoto a la base de datos mediante ese usuario desde cualquier IP (con el habitual
proceso de confirmación de password), significaría entonces que mantis podría acceder a la base de datos
MySQL desde otro servidor remoto.

3. Para configurar la conexión, se accederá mediante un navegador a la pagina de instalación de la


aplicación:
http://<dominio>:<puerto>/mantis/admin/install.php

Mantis. Manual de instalación en servidor 12/26


En esta página se define:

 El tipo de base de datos, en nuestro caso MySQL


 El hostname de la maquina que contiene la base de datos MySQL concatenado con el puerto
(<dominio>:<puerto>).
 El nombre y password del usuario de acceso a la base de datos que se ha creado en la fase de
instalación de la base de datos Mysql (usuario= mantis/password=mantis).
 El nombre de la base de datos (mantis_db).
 El nombre y password del usuario administrador que usara Mantis para acceder a la base de datos.

Tras introducir los parámetros necesarios, se pulsa en el botón “Install/Upgrade Database” para que se
realice el proceso de configuración de la conexión y la creación de las estructuras de datos.

Mantis. Manual de instalación en servidor 13/26


4. Comprobar el estado de la aplicación accediendo a la siguiente ruta y pulsando en el enlace “Check”
http://<dominio>:<puerto>/mantis/admin/index.php

Mantis. Manual de instalación en servidor 14/26


3.5.3.Configuración básica de mantis

Una vez se ha completado correctamente la instalación de Mantis, el siguiente paso es configurar una
serie de parámetros básicos para el correcto funcionamiento de Mantis.

Las siguientes tareas se realizarán con el usuario generico creado a tal efecto:
1. Editar el fichero /opt/php/mantis/config_inc.php
# cd /opt/php/mantis
# vi config_inc.php
2. Realizar los siguientes cambios:
 Configurar el servicio de correo electrónico (esencial para el correcto funcionamiento de Mantis).
Dentro del fichero se deben completar los datos de estas entradas:

$g_smtp_host: Ruta del servidor de correo SMTP.


$g_smtp_username: Nombre de usuario para usar el servidor de correo (si se necesita).
$g_smtp_password: Password asociado al usuario introducido anteriormente.

 Configurar el interfaz de castellano. Se cambia la siguiente entrada a:

$g_default_languaje = ‘spanish’

 Para que no salga en la pantalla inicial el enlace para poder crearse cuentas uno mismo

Mantis. Manual de instalación en servidor 15/26


cambiaremos a “OFF” la variable siguiente:

$g_allow_signup = OFF

 Configurar la carga de documentos

# Maximum file size that can be uploaded


# Also check your PHP settings (default is usually 2MBs)
$g_max_file_size = 1000000; # 1 MB

3. Por motivos de seguridad, una vez instalado el Mantis se debe o bien eliminar la carpeta “admin” o
bien proteger su acceso para que no se pueda volver a reconfigurar la aplicación desde la interfaz web.
 Borrar el directorio admin de Mantis

# cd /opt/php/mantis
# rm -rf admin

 Cambiar los permisos de acceso

# cd /opt/php/mantis
# chown root:root admin

4. Para completar el proceso de configuración, se debe acceder a la aplicación mediante el usuario de


administración creado por defecto y crear un nuevo usuario administrador de la aplicación. Una vez hecho esto
se debe borrar el usuario por defecto para que no se produzcan accesos no deseados. Para ello acceder a la
siguiente ruta:
http://<dominio>:<puerto>/mantis/login_page.php
Usuario por defecto: usuario=administrador / password=root

5. Acceder a la sección de administración

Mantis. Manual de instalación en servidor 16/26


6. Crear un nuevo usuario administrador

Mantis. Manual de instalación en servidor 17/26


Usuario= admin
E-mail= Dirección de correo del usuario que actuará como administrador. Esta dirección debe ser
válida y accesible, es decir, a la cual se pueda entrar desde un cliente de correo (Outlook)

7. Para completar la configuración de un usuario, se debe acceder a la nueva cuenta mediante el correo
que envía el mantis a la dirección de correo especificada y configurar entonces el password

Mantis. Manual de instalación en servidor 18/26


8. Tras configurar el password, acceder a las tareas de administración de usuario, al nuevo usuario, y
otorgar el nivel de administrador. Se recomienda elegir la opción protegida de esa cuenta.

9. Una vez terminada la configuración del nuevo usuario de administración, se debe borrar el usuario de
administración por defecto. Para ello, acceder al perfil del usuario por defecto (administrator) y seleccionar la
opción de eliminar usuario.

Mantis. Manual de instalación en servidor 19/26


3.6 Salvado de la configuración inicial

Con objeto de poder recuperar la configuración inicial de los productos instalados se recomienda:

1. Obtener un fichero comprimido del directorio /opt


2. Copiarlo sobre /servapp/backupopt

Mantis. Manual de instalación en servidor 20/26


4 Procesos de operación

4.1 Verificación de funcionamiento correcto

Para comprobar el estado del servicio, se accederá a la siguiente ruta y pulsando en el enlace “Check”:
http://<dominio>:<puerto>/mantis/admin/index.php

4.2 Parada y arranque del servicio

Puesto que Mantis es una aplicación desplegada en un servidor Apache, el proceso de arranque/parada
del mismo corresponderá al proceso de arranque/parada de Apache.

Con el usuario root


1. Arrancar el servicio
# cd /opt/apache2/bin
# apachectrl start
2. Parar el servicio
# cd /opt/apache2/bin
# apachectrl stop

Mantis. Manual de instalación en servidor 21/26


4.3 Backup/Restore de la base de datos MySQL

Por motivos de seguridad, derivados de la importancia de la información gestionada por Mantis, es


necesario realizar procesos de Backup de la base de datos MySQL, es decir, del subdirectorio /servapp/mysql.

No se contempla un proceso de backup/restore selectivo, es decir, de solo las aplicaciones deseadas, así
el proceso de restauración podría generar la perdida de la información cargada desde el período comprendido
entre la fecha del último backup y la fecha de recuperación. Dicha circunstancia se comunicará a los
responsables de las aplicaciones.

Mantis. Manual de instalación en servidor 22/26


5 Recursos necesarios

5.1 Memoria

Mantis es una aplicación que no necesita una gran cantidad de espacio en disco para su funcionamiento.
En principio las necesidades de memoria de la misma son de tipo bajo (250 MBytes).

5.2 Espacio en disco

Cabe recordar que mantis guarda sus datos sobre la base de datos MySql, y que en nuestro caso se ha
configurado el directorio de almacenamiento de datos /servapp/mysql.

La estimación de ocupación de disco de Mantis es:

 Proyecto de tamaño pequeño: 10 MBytes


 Proyecto de tamaño medio: 100 MBytes
 Proyecto de tamaño grande: 500 MBytes

Hay que tener en cuenta, que estas cifras son variables y que dependen mucho de la cantidad y tamaño
de los ficheros que se pueden adjuntar con los Bugs.

Nota: Esta estimación esta efectuada en base al adjunto de un documento en formato Word por cada una
de las incidencias dadas de alta en el sistema. El tamaño del documento oscilará entre los 300kb y los 1000Kb.
Se ha configurado el sistema para no permitir ficheros con tamaño superior a 1000Kb (variable $g_max_file_size
del fichero /opt/php/mantis/config_inc.php)

Mantis. Manual de instalación en servidor 23/26


6 Parametrización: Impresión Campos personalizados

6.1 Instalación

Con el usuario root


1. Parar el servicio
# cd /opt/apache2/bin
# apachectrl stop

2. Desempaquetar el fichero mantis-patch-cf.zip en /opt/php/mantis


# cd /path/to/mantis-patch-cf.zip
# unzip mantis-patch-cf.zip -d /opt/php/mantis

3. Actualizar la base de datos


# mysql mantis_db < /opt/php/mantis/sql/custom_fields_options_patch.sql

4. Arrancar el servicio
# cd /opt/apache2/bin
# apachectrl start

Mantis. Manual de instalación en servidor 24/26