La guarida de Negrabarba

miércoles, octubre 14, 2009

OTRS + Zimbra (LDAP)

El OTRS es un sistema para hacer tickets para el seguimiento de ordenes de servicio de cualquier tipo. Pueden ser por vía correo electrónico o telefónico. Es un sistema muy bonito que permite organizar cualquier grupo de técnicos que atiendan a cualquier grupo de usuarios.

Pero el tema aquí es, si ya tengo un servidor Zimbra para el correo electrónico ¿Puedo utilizar esa base de datos de usuarios para mi OTRS? ¡Claro que si! El asunto es que no es tan trivial hacerlo.

Para empezar hay que instalar OTRS. La forma más simple es utilizar un paquete ya hecho, ya sea en su versión Debian-like o su versión RedHat-like.

Una vez instalado hay que buscar el archivo Config.pm

En la versión RedHat-like está en /opt/otrs/Kernel/Config.pm

En la versión Debian-like puede estar en /var/www/otrs/Kernel/Config.pm

En caso de dudas, siempre queda hacer una búsqueda clásica: find / -name Config.pm

Una vez localizado el archivo Config.pm hay que poner las siguientes líneas, justo antes del letrero que dice

# End of your own config options!!! #

Lo que le agregué a mi configuración fue lo siguiente:

$Self->{CustomerUser1} = {
Name => 'LDAP Zimbra Mi compañía',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
# ldap host
Host => 'maquina.con.ldap.org.mx',
# ldap base dn
BaseDN => 'ou=people,dc=maquina,dc=con,dc=ldap,dc=org,dc=mx',
UID => 'uid',
# search scope (one|sub)
SSCOPE => 'sub',
# The following is valid but would only be necessary if the
# anonymous user does NOT have permission to read from the LDAP tree
# Ojo: van sin usuario, ni contraseña, porque sólo son consultas
UserDN => '',
UserPw => '',
# in case you want to add always one filter to each ldap query, use
# this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
AlwaysFilter => '',
AlwaysFilter => '(&(objectclass=zimbraAccount)(zimbraMailStatus=enabled))',
# if your frontend is e. g. iso-8859-1 and the charset of your
# ldap server is utf-8, use this options (if not, ignore it)
# Esto es para que ponga bonitos los acentos
SourceCharset => 'utf-8',
DestCharset => 'iso-8859-1',
# Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
Params => {
port => 389,
timeout => 120,
async => 0,
version => 3,
},
},

# customer uniq id
CustomerKey => 'uid',
# customer #
CustomerID => 'mail',
CustomerUserListFields => ['cn', 'mail'],
CustomerUserSearchFields => ['uid', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
# show now own tickets in customer panel, CompanyTickets
CustomerUserExcludePrimaryCustomerID => 0,
# add a ldap filter for valid users (expert setting)
# CustomerUserValidFilter => '(!(description=gesperrt))',
# admin can't change customer preferences
AdminSetPreferences => 0,
Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
[ 'UserSalutation', 'Title', 'title', 1, 0, 'var', '', 0 ],
[ 'UserFirstname', 'Firstname', 'givenName', 1, 1, 'var', '', 0 ],
[ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var', '', 0 ],
[ 'UserLogin', 'Username', 'uid', 1, 1, 'var', '', 0 ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var', '', 0 ],
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var', '', 0 ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var', '', 0 ],
[ 'UserAddress', 'Address', 'street', 1, 0, 'var', '', 0 ],
[ 'UserComment', 'Comment', 'description', 1, 0, 'var', '', 0 ],
],
};
# ----------------- Fin LDAP Zimbra --------------

Y listo, una vez hecho esto, ya se pueden utilizar los usuarios de Zimbra desde el OTRS y conservar la base de datos de los administradores y agentes de OTRS por separado.

Espero que este resumen les sea útil.

Páginas útiles

OTRS http://otrs.org/
Página del manual del OTRS donde toca el tema http://doc.otrs.org/2.4/en/html/x1764.html

Zimbra http://www.zimbra.com
Página del manual donde están los mapeos http://wiki.zimbra.com/index.php?title=GAL_Attribute_Mapping
Archivo en el servidor Zimbra en donde están específicamente (no tocar) /opt/zimbra/openldap/etc/openldap/zimbra_globalconfig.ldif

2 Comments:

  • hola amigo... me interesa realizar la configuracion que tienes.. ya que tengo zimbra en mi institucion... he copiado la configuracion en el archivo config.pm entrel el "start own config" y "end own config" y he reemplazado los valores .. reincio el otrs y el apache pero no veo en la parte de clientes los usuarios del zimbra.. no se que hace falta.. si me pudieras ayudar sobre todo a verificar que campos tengo q cambiar con mis valores,y como puedo saber si estoy colocando los valores que son como es el base dn..... gracias....

    By Blogger NJG, at 2:08 p.m.  

  • No conozco exactamente ese programa OTRS, pero te puedo recomendar que utilices OsTickets en su lugar, es fácil de configurar y manejar y son completamente operables, así los tengo yo en la empresa en la que trabajo.

    Saludos

    By Blogger Unknown, at 8:57 a.m.  

Publicar un comentario

<< Home