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.
Pingback: Instalar sistema de usuarios en trac (AccountManager) | Blackhold
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