Trac: Instalación y Primeras Configuraciones

Trac es un sistema libre para la gestión de proyectos y seguimiento de errores, está fuertemente ligado a subversion. Es una excelente opción para nuestro proyectos de programación, tiene su propio wiki por proyecto y muchas cosas más. Puede correr como un módulo python de Apache, o como CGI, entre otros. Se integra con subversión, y utiliza SQLite (por default), MySQL y PostgreSQL para almacenar la información.

En este artículo veremos como instalar Trac en Ubuntu, como módulo python de apache y usando sqlite. Entonces es necesario tener instalado y funcionando un servidor web Apache, Subversion y SQLite.

Instalación

En Ubuntu es muy fácil instalar el Trac, para eso usamos el comando apt-get o aptitude, solo que nos instalará la versión 0.10.x, siendo la versión más nueva hasta este momento la 0.11.x. Tal vez más adelante explique como instalar esta versión desde 0. Hoy lo haremos de la manera fácil. Entonces instalamos Trac y de una vez el módulo de python para Apache.

$ sudo aptitude trac libapache2-mod-python

Podemos integrar un proyecto en Trac con un repositorio SVN o no :P, depende lo que necesitemos, para este ejemplo lo integraremos con un proyecto llamado tracsvn.

Project Enviroment

Ahora tenemos que especificar la ruta al Project Enviroment o Trac Enviroment, aquí será donde se guarde toda la información referente al proyecto. Cabe señalar que para cada proyecto que queramos dar seguimiento con Trac tenemos que especificar un Project Enviroment. La sintaxis es:

$ sudo trac-admin /path/to/myproject initenv

Para efectos prácticos de este artículo, cada proyecto lo guardaremos dentro del directorio /var/trac/projects. Este proyecto lo llamaremos… mmmm… protrac :P. Entonces primero creamos el directorio /var/trac/projects/protrac y luego decimos que es un Project Enviroment.

$ sudo su
# mkdir -p /var/trac/projects/protrac
# trac-admin /var/trac/projects/protrac initenv

Al especificar la ruta del Project Enviroment con trac-admin, preguntará por el nombre que le daremos al proyecto, por la Database Connection String (por default sqlite), el tipo de control de versiones (por default svn), y luego la dirección del repositorio (si no queremos enlazarlo con uno lo dejamos en blanco), luego la locación de los templates (default /usr/share/trac/templates directorio donde se instalo trac).

Esto del Database Connection String, es una cadena para especificar los datos del gestor de base de datos que queremos usar. Podemos usar MySQL, PostgreSQL y SQLite, este úlitmo viene por defecto y ese utilizaremos en este ejemplo, en artículos posteriores veremos como se definen las cadenas para MySQL y PostgreSQL.

Si no sucede ningún error nuestro Project Enviroment está ya creado. Cabe señalar que el usuario de Apache, en ubuntu usualmente www-data, debe de poder escribir y leer en la dirección del Project Enviroment, si no obtendremos un error 500 no se que cuando lo queramos abrir desde el navegador. Entonces tecleamos:

$ sudo chown -R www-data:www-data /var/trac/projects/protrac

Recuerda que debes de cambiar las rutas si elegiste una distinta.

El Trac como server standalone

Ahora podemos lanzar el Trac como un server standalone,

$ sudo tracd --port 8000 /var/trac/projects/protrac

Luego entramos a http://localhost:8000/protrac y listo.

Trac como webserver con mod-python

Ahora para configurarlo en el webserver, es necesario el mod-python instalado, si lo instalaste con apt-get o aptitude ya se ha de haber cargado. Podríamos checar tecleando:

$ sudo a2enmod mod_python

Si no estaba activado lo hará y tendremos que reiniciar el apache. Para que el Trac funcione con nuestro Apache tendremos que crear una nueva directiva Location, podemos hacerlo añandiendolo en el archivo /etc/apache2/sites-available/default o crear uno nuevo, para mejor organización recomiendo crear uno nuevo, en este caso sería el archivo /etc/apache2/sites-available/trac. Necesitamos habilitarlo una vez que creamos el archivo, esto se hace:

$ sudo a2ensite trac

Primero checamos si el modulo de python esta correctamente cargado agregando estas al archivo que acabamos de agregar. Recuerda borrarlo después de ver que si funciona para evitar problemas de seguridad.

<Location /mpinfo>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler mod_python.testhandler
</Location>

Reiniciamos apache y luego tecleamos en nuestro navegador http://localhost/mpinfo, debe de mostrar mucha información acerca del módulo. Ahora para ver el proyecto que anteriormente creamos, agregamos el siguiente código al archivo trac, después de haber borrado las líneas anteriores:


<Location /projects/protrac>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /var/trac/projects/protrac
PythonOption TracUriRoot /projects/protrac
</Location>

Reiniciamos Apache y en el navegador ponemos http://localhost/projects/protrac y listo ya tenemos nuestro Trac funcionando en nuestro server.

Recuerda que en PythonOption TracEnv poner la ruta del Project Enviroment que tu creaste. Así haremos para cada proyecto que tengamos. La opción TracUriRoot a veces no es necesaria, podrías probar quitandola, pero si te aparece un error como “No handler matched request to…” entonces agregas TracUriRoot, su valor es el mismo que el de la directiva Location.

Configurando la autenticación

Ahora veremos como crear una autenticación sencilla para que usuarios que usarán el Trac se logueen y llevar un registro de los tickets que hacen y los registros, etc. Escribimos el siguiente código dentro de nuestro archivo /etc/apache2/sites-available/trac. Recuerda modificar las rutas a como los necesites.


<Location /projects/protrac/login>
AuthType Basic
AuthName "Proyecto Prueba Trac"
AuthUserFile /var/trac/protrac/.htpasswd
Require valid-user
</Location>

El archivo /var/trac/protrac/.htpasswd contendrá los usuarios y passwords para acceder al trac, así para agregar usuarios usamos el comando htpasswd:

$ sudo htpasswd -cm /var/trac/protrac/.htpasswd usuario

Inmediatamente te pedirá el password dos veces y listo, nada más faltaría reiniciar Apache, eso se haría:

$ sudo /etc/init.d/apache2 restart

Listo ya tenemos el Trac funcionando, enlazado a un proyecto SVN. En artículos posteriores veremos tips y configuraciones así de como usar y administrar el programa, conforme yo vaya aprendiendo :P.

Amarok is playing: Taurus by Talamasca

About these ads

5 comentarios

  1. holas para hacer la validacion del login para q anda en donde hay q crear el archivo????
    gracias saludos….

  2. Pues en este caso yo lo puse dentro del Project Enviroment Path, en este caso mi Project Enviroment Path es /var/trac/protrac/, el archivo donde estarán los nombres de usuario y passwords estan dentro de un archivo llamado .htpasswd dentro de /var/trac/protrac

    Este archivo puede estar donde quieras solo que el Apache tenga permisos de lectura del archivo.

    s4lu2

  3. Gracias, tenia visto el trac y la verdad lo instale en ubuntu 9.04 en minutos, y anda perfecto.

    Un excelente tutorial.

  4. […] Lo primero que debemos instalar es Mylyn, Eclipse 3.5 Ganimede ya lo trae integrado, creo que desde la versión 3.4, luego debemos instalar el conector TRAC y por supuesto, tener ya instalado y configurado un TRAC en tu máquina. […]

  5. Echa un vistazo a una herramienta gratuita – Valentina Studio. Producto asombroso! OMI es el mejor gestor de sqlite, para todas las plataformas. http://www.valentina-db.com/en/valentina-studio-overview

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

A %d blogueros les gusta esto: