Instalar trac en debian

Trac es un gestor de tiquets via web escrito en python y que funciona sobre bases de datos pgsql, mysql o sqllite.

Vamos a ver como hacer la instalación en debian.

Partimos de una debian recién instalada donde queremos instalar trac sobre mysql.

Lo primero será instalar mysql y crear la base de datos (importante que sea utf8 y unicode)

root@epsilon-noc:~# apt-get install mysql-server

root@epsilon-noc:~# mysql -uroot -p
mysql> create database trac default character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

mysql> create user trac identified by '**********';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on trac.* to 'trac'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> 

Después instalamos trac y el soporte de base de datos mysql de python

root@epsilon-noc:~# apt-get install trac python-mysqldb 

Ahora creamos un directorio donde vamos a dejar toda la configuración de trac

root@epsilon-noc:~# mkdir /var/trac

Si en nuestro equipo queremos crear varias instancias de trac, crearemos un directorio para cada uno

root@epsilon-noc:~# mkdir /var/trac/capa8

Ahora vamos a crear una instancia/proyecto nuevo.

root@epsilon-noc:~# trac-admin /var/trac/capa8 initenv
Warning: Detected setuptools version 5.5.1. The environment variable 'PKG_RESOURCES_CACHE_ZIP_MANIFESTS' must be set to avoid significant performance degradation.
Creating a new Trac environment at /var/trac/capa8

Trac will first ask a few questions about your environment
in order to initialize and prepare the project database.

 Please enter the name of your project.
 This name will be used in page titles and descriptions.

Project Name [My Project]> Capa8

 Please specify the connection string for the database to use.
 By default, a local SQLite database is created in the environment
 directory. It is also possible to use an already existing
 PostgreSQL database (check the Trac documentation for the exact
 connection string syntax).

Database connection string [sqlite:db/trac.db]> mysql://trac:************@localhost:3306/trac

Creating and Initializing Project
[...]
---------------------------------------------------------------------
Project environment for 'Capa8' created.

You may now configure the environment by editing the file:

  /var/trac/capa8/conf/trac.ini

If you'd like to take this new project environment for a test drive,
try running the Trac standalone web server `tracd`:

  tracd --port 8000 /var/trac/capa8

Then point your browser to http://localhost:8000/capa8.
There you can also browse the documentation for your installed
version of Trac, including information on further setup (such as
deploying Trac to a real web server).

The latest documentation can also always be found on the project
website:

  http://trac.edgewall.org/

Congratulations!

Ahora vamos a configurar apache para que apunte a este proyecto de trac.

root@epsilon-noc:~# cd /etc/apache2/sites-available/
root@epsilon-noc:/etc/apache2/sites-available# vi trac.capa8.cat.conf
< VirtualHost *:80 >
    ServerName trac.capa8.cat
    ServerAlias *.trac.capa8.cat
    ServerAdmin info@capa8.net

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

    ErrorLog ${APACHE_LOG_DIR}/trac-error.log
    CustomLog ${APACHE_LOG_DIR}/trac-access.log combined
< /VirtualHost >

La url será http://trac.capa8.cat, Más información sobre configurar éste módulo.

Ahora instalamos el conector de python para apache y lo habilitamos

root@epsilon-noc:~# apt-get install libapache2-mod-python
root@epsilon-noc:~# a2enmod python

Si nos da un error de que apache no puede leer y escribir en trac le vamos a dar el owner a www-data en los directorios de trac

root@epsilon-noc:/var# chown www-data:www-data trac -R

Una vez comprobamos que está todo ok, vamos a poner la autenticación de usuarios de trac (que va a usar la base de datos de usuarios de apache).

Vamos a crear el fichero de password

root@epsilon-noc:~# htpasswd -c /var/trac/users.conf blackhold
New password: 
Re-type new password: 
Adding password for user blackhold

Y le decimos en el mismo fichero de apache de antes, que vaya a buscar la autenticación a éste fichero

root@epsilon-noc:~# vi /etc/apache2/sites-enabled/trac.capa8.cat.conf
    < Location /login >
        AuthType Basic
        AuthName "Servidor trac Capa8"
        AuthUserFile /var/trac/users.conf
        Require valid-user
    < /Location >

Hacemos login y podremos comprobar que ya podemos modificar :)

También nos interesará darle permisos de administrador a éste usuario, así podremos modificar los nombres de los milestones, prioridades, resoluciones, etc.

root@epsilon-noc:/var/trac/capa8/conf# trac-admin /var/trac/capa8 permission add blackhold TRAC_ADMIN

Hay un plugin que te permite hacer login desde el sistema y no usando apache, esto ya vendrá en otro post…

Ahora es momento de empezar a personalizar un poco el trac, por ejemplo si queremos editar el logo de arriba iremos al directorio del proyecto y modificaremos el fichero trac.ini

root@epsilon-noc:/var/trac/capa8/conf# vi trac.ini
[header_logo]
alt = capa8.net
height = -1
link = http://trac.capa8.cat
src = site/img/logo_capa8_trac.png
width = -1

La imagen la he subido en /var/trac/capa8/htdocs a un directorio llamado img.

Y a partir de aquí lo que es la instalación (sólo), ahora queda configurar los “milestones” y configurar algunos plugins, uno de los que mas nos puede interesar, el de que los usuarios nos manden correos electrónicos y los podamos asignar a los distintos usuarios existentes en el proyecto de trac, etc. Plugins.

Espero que en las próximas horas caiga otro post sobre trac.

2 Comments

  1. Pingback: Instalar sistema de usuarios en trac (AccountManager) | Blackhold

  2. pues a mi no me funcionó de ninguna manera la conexión con la base de datos, siempre me lanzaba…
    ” TracError: Unsupported database type mysql “.

    he probado de todo, y cuando llegué a la parte de..

    “Database connection string [sqlite:db/trac.db]> ”

    simplemente le doy enter y ahí sin ningún problema me lo instala, pero mi caso en la .cache de root

    Seguiré investigando a ver qué más encuentro

    Trac instalado: 1.2.2
    OS: Debian 9 stretch
    Python 2.7.13
    Genshi-0.7
    setuptools
    mysqldb (descargado la versión más actual de la página de python)
    Apache 2.4

    Respon

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.