Administrar proyectos es parte que llega a volverse esencial cuando se trata con proyectos que crecen poco a poco, como es el caso de los proyectos open source. Existe software hecho justamente para facilitar la administración de proyectos de software. En esta ocasión, vamos a hablar sobre Trac, un software hecho en Python con interfaz web para permitir la administración de proyectos.
Trac incluye:
- un wiki para que el proyecto tenga su propio sitio en linea, y wiki es aun mejor si es un proyecto open source, para que los usuarios y desarrolladores puedan contar con la información más actualizada, de primera mano de parte de los mismos usuarios y desarrolladores
- un administrador de issues o tickets para permitir estar al tanto de los bugs y sus correcciones, así como las mejoras hechas al software
- conexión con el repositorio del código fuente del proyecto. Por defecto, Trac se conecta con repositorios SVN, pero permite también otros
- utiliza una base de datos, ya sea SQLite, PostgreSQL o MySQL
- otras características más, propias de un administrador de proyectos y que resultan útiles en ciertos momentos
Instalación rápida
Este modo de instalación requiere de Python (versiones 2.3 a 2.6) así como easy_install:
easy_install Trac
El cual instala Trac con SQLite y Genshi como framework de vista.
Requerimientos previos
Si se hace una instalación rápida, se instalaría Trac utilizando SQLite. En cuanto a este tipo de instalación, sólo es necesario tener instalado Python (versiones 2.3 a 2.6, la versión 3 aún no es soportada) y easy_install
Si se prefiere utilizar otro manejador de base de datos, entonces también es necesario tener los paquetes adecuados y los módulos para conectarse a los mismos con Python.
Igualmente, si se desea instalar el soporte con un repositorio SVN, es necesario tener instalado Subversion, así como los bindings SWIG para Python (ojo! PySVN no funciona para Trac).
Para publicar Trac en web, se necesita un servidor web. Puede ser cualquier servidor que soporte ya sea CGI, FastCGI o AJP, o en todo caso, Apache con el módulo mod_swgi o con mod_python (esta última es la opción con la que yo lo he llegado a instalar).
Instalación
Utilizando las setuptools, la instalación es sencilla:
easy_install http://svn.edgewall.org/repos/trac/tags/trac-0.11
Aunque también se puede hacer desde el directorio superior del código fuente:
python ./setup.py install
Configuración
Una vez instalado, hay que configurar dos cosas: el directorio en donde se almacenará la información del proyecto que se desea administrar, y el servidor web.
Para comenzar, se debe dar de alta el proyecto en donde quedará almacenado el sitio con la información del proyecto:
Para probar el repositorio, se puede levantar provisionalmente un servidor web integrado para ver que todo funcione correctamente:
Configurando el servidor web
Trac se puede configurar para funcionar en modo CGI, mod_python de Apache, o FastCGI, e incluso en forma experimental en mod_wsgi de Apache. A continuación explico la forma de configurar con mod_python, que es la forma en que yo lo levanté en mi servidor...
Para comenzar, se debe dar de alta el proyecto en donde quedará almacenado el sitio con la información del proyecto:
trac-admin pedirá información para inicializar el proyecto, como el path hacia el repositorio SVN (el cual es el tipo de repositorio por defecto), la conexión a la base de datos para usar (por defecto utiliza una base de datos con SQLite).trac-admin /path/al/proyecto initenv
Para probar el repositorio, se puede levantar provisionalmente un servidor web integrado para ver que todo funcione correctamente:
tracd --port 8000 /path/to/myproject
Con lo que, accediendo en el navegador a http://localhost:8000/ se puede ir hacia todos los proyectos administrados por trac.Configurando el servidor web
Trac se puede configurar para funcionar en modo CGI, mod_python de Apache, o FastCGI, e incluso en forma experimental en mod_wsgi de Apache. A continuación explico la forma de configurar con mod_python, que es la forma en que yo lo levanté en mi servidor...
1. Para empezar se debe asegurar que mod_python esté instalado en Apache. Una vez instalado, debe asegurarse de que Apache cargue el módulo mod_python al arrancar (cambiar el path a mod_python.so dependiendo la configuración de cada máquina):
LoadModule python_module modules/mod_python.so
Una forma de probar que mod_python esté correctamente configurado es agregar lo siguiente a la configuración de Apache (y que debe borrarse una vez hecha la prueba... es como el phpinfo() de PHP):
< Location /mpinfo > SetHandler mod_python PythonInterpreter main_interpreter PythonHandler mod_python.testhandler < / Location >
Y acceder a http://localhost/mpinfo
2. La configuración básica de Apache para utilizar trac con mod_python es (cambiando la ubicación del proyecto trac y la url deseada según la máquina):
< Location /projects/myproject > SetHandler mod_python PythonInterpreter main_interpreter PythonHandler trac.web.modpython_frontend PythonOption TracEnv /var/trac/myproject PythonOption TracUriRoot /projects/myproject < / Location >
La opción TracUriRoot puede o no ser necesaria, deberá probarse con o sin ella...
Otras opciones:
# Un solo proyecto
PythonOption TracEnv /var/trac/myproject
# Varios proyectos
PythonOption TracEnvParentDir /var/trac/myprojects
# Para un indice de multiples proyectos
PythonOption TracEnvIndexTemplate /srv/www/htdocs/trac/project_list_template.html
# Para obtener la fecha en el orden deseado
PythonOption TracLocale en_GB.UTF8
Los eggs de Python (como los de Genshi) normalmente se descomprimen en un directorio en el cual Apache no puede escribir, esta opción se puede usar para apuntar a un directorio en el que Apache sí pueda escribir:
PythonOption PYTHON_EGG_CACHE /var/trac/myprojects/egg-cache
3. La autenticación es necesaria para configurar el acceso al area de administración de trac. En Apache:
< Location /projects/myproject/login > AuthType Basic AuthName "myproject" AuthUserFile /var/trac/myproject/.htpasswd Require valid-user < / Location >
4. Más opciones, se pueden ver en http://trac.edgewall.org/wiki/TracModPython
Otras opciones y configuraciones se pueden configurar en trac.ini, el archivo de configuración que se encuentra en el directorio conf del proyecto. Por ejemplo, se puede definir un logotipo para el proyecto, entre otras cosas.
El resto consiste en utilizar trac para poder administrar los proyectos: editando el wiki, utilizando el administrador de issues, etc.
Toda esta información se encuentra de hecho en el sitio oficial del proyecto trac: http://trac.edgewall.org/wiki/TracInstall
No hay comentarios:
Publicar un comentario
Que opinas sobre esta publicación?