Instalar OTRS con MySQL

Trac está muy bien, pero tiene un pequeño problema, y es que una de las necesidades que tengo es que los usuarios manden un correo electrónico a una dirección y se añada la petición como tiquet. Estas semanas me he estado peleando con ello, pero el script que encontré estaba desactualizado y no funcionaba muy bien, si insertaba los tiquets, pero no leía correctamente el cuerpo de los correos electrónicos :( traté de pelearme con el script pero no avanzaba. Así que he tenido que buscar otro software, un poquillo mas modernillo que si permita esto, se trata de OTRS.

A continuación todos los pasos que he tenido que realizar para instalarlo, partimos de una debian jessie 8.2.

Empezamos instalando algunas dependencias

root@epsilon-noc:~# apt-get install libapache2-mod-perl2 libdbd-mysql-perl libtimedate-perl libnet-dns-perl libnet-ldap-perl libio-socket-ssl-perl libpdf-api2-perl libdbd-mysql-perl libsoap-lite-perl libgd-text-perl libtext-csv-xs-perl libjson-xs-perl libgd-graph-perl libapache-dbi-perl libxml-libxml-perl libxml-xslt-perl

Borrar un tiquet en trac

Normalmente no vamos a necesitar borrar un tiquet en trac, ya que lo puedes marcar como duplicado, inválido o simplemente cerrarlo. Esto se puede hacer por el interfaz web. Es una mejor opción porque todos los procesos están documentados y se pueden buscar. Por ejemplo, alguien que reporte un bug, pero que realmente no lo sea.
Pero a veces queremos realmente borrar un tiquet. Por ejemplo, acabo de hacer unas pruebas con el mail2trac y tengo todo de tiquets que realmente no son tiquets. Así que podremos borrarlos con el comando trac-admin.

Iremos al directorio raíz de trac (no el del proyecto), en mi caso /var/trac y ejecutaremos trac-admin y el nombre de la instancia trac:…

Recibir un correo y publicarlo como tiquet en trac

Pues seguimos con nuestro sistema de tiquets, ahora queremos recibir un correo electrónico de un usuario y que se cree un tiquet asociado a él.

Lo primero será instalar el plugin de trac xmlrpc

root@epsilon-noc:/var/trac/capa8/plugins/xmlrpcplugin/0.10# python setup.py bdist_egg
root@epsilon-noc:/var/trac/capa8/plugins/xmlrpcplugin/0.10# cd dist/
root@epsilon-noc:/var/trac/capa8/plugins/xmlrpcplugin/0.10/dist# ls
TracXMLRPC-0.1-py2.7.egg
root@epsilon-noc:/var/trac/capa8/plugins/xmlrpcplugin/0.10/dist# cp TracXMLRPC-0.1-py2.7.egg /var/trac/capa8/plugins/

Ahora lo activamos en trac.ini…

Instalar sistema de usuarios en trac (AccountManager)

Ahora vamos a cambiar el sistema de usuarios de trac que teníamos por defecto (el de htpasswd de apache) por uno que va a usar la base de datos de trac.

Lo primero será descargar el plugin y descomprimirlo en algún sitio del servidor. AccountManager Plugin

Lo descomprimimos y entramos en el directorio

root@epsilon-noc:/var/trac/capa8/plugins# unzip acct_mgr-0.4.4-15120.zip
root@epsilon-noc:/var/trac/capa8/plugins# cd acct_mgr-0.4.4/

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