jueves, 28 de abril de 2011

Cómo instalar y configurar trac 0.11.7 en Debian Squeeze

Pasos para realizar la instalación y configuración básica del servicio trac:
Suposiciones:
  • Ya se tiene instalado postgresql
  • Ya se tiene instalado apache2
  • Ya se tiene instalado subversion
  1. Instalación del trac "a lo Debian":
    # apt-get update
    # apt-get install trac
  1. Trabajo previo:
    2.1 Agregar un usuario al postgres para el trac:
(por supuesto, ejecutar esto en una ventana de sql del pgadmin o en un prompt de psql)

create user trac_admin ENCRYPTED PASSWORD 'tu_clave';
2.2 Agregar una bd para el trac:
create database db_cala_trac owner = trac_admin; 
2.3 En el proceso de configuración se pedirá los siguientes datos, adaptar a vuestra instalación: 
* Nombre del proyecto:
Administracion de Proyectos de Desarrollo de Software

* Cadena de conexion para el trac-admin
postgres://trac_admin:tu_clave@localhost:5432/db_cala_trac?schema=trac_calabaza

* Tipo de Repositorio:
svn

* Ruta al repositorio:
/var/svn_repositorio
  1. Configurar el entorno como usuario www-data:
    (Esto por cuestiones de seguridad y para que el apache pueda tener control del entorno)
     
    # su www-data
    $ trac-admin /var/trac_calabaza initenv
    Luego contestar las preguntas del asistente con los datos del punto 2.3
  1. Crear y Agregar usuario al fichero de claves con htpasswd:
# htpasswd -cs /etc/apache2/tu_fichero_de_usuarios.passwd calabaza
  1. Crear y Agregar permisos al fichero authz:
    # vim /etc/apache2/tu_fichero_de_permisos.authz
Agregamos esto, según nuestro repositorio svn:
### Archivo de configuración de accesos creado a partir
### de lo indicado en: zless /usr/share/doc/libapache2-svn/INSTALL.authz.gz
### Fecha: 2010-jul-27
### Autor: Calabaza
### Licencia: GNU GPL v3
### OJO : No dejar espacios en blanco ANTES del nombre del usuario en la
###       asignación de permisos!!!

[groups]
admin = calabaza

[svn_repositorio:/]
* =
@admin = rw
  1. Crear y Agregar fichero para definir un site en site-available:
     
    # vim /etc/apache2/sites-available/trac_calabaza
Agregar esto, según vuestra configuración:
### Configuracion básica insegura si no se usa https!!!:

  SetHandler mod_python
  PythonHandler trac.web.modpython_frontend
  PythonInterpreter main_interpreter
  PythonOption TracEnv /var/trac_calabaza
  PythonOption TracUriRoot /calatrac
#  PythonOption TracEnvIndexTemplate /var/trac/plantillas
  SetEnv PYTHON_EGG_CACHE /tmp

  AuthType Basic
  AuthName "Autentiquese para ingresar - CalaTrac"
  AuthUserFile /etc/apache2/tu_fichero_de_usuarios.passwd
  Require valid-user
6.1 Habilitamos el sitio:
# a2ensite trac_calabaza
  1. Asignar permisos de administrador a un usuario para utilizar la interfaz web de administración:
    Referencia:  http://trac.edgewall.org/wiki/WebAdmin
     
    # su www-data
    $ trac-admin /var/trac_calabaza/ permission add calabaza TRAC_ADMIN
  1. Reiniciar el apache2 para que se apliquen los cambios:
# invoke-rc.d apache2 restart
10. Ver si se puede acceder al trac, poniendo lo siguiente en la barra de dirección del browser: 
 
http://localhost/calatrac/
Bueno, espero que lo hayan disfrutado.