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 útilesOTRS
http://otrs.org/Página del manual del OTRS donde toca el tema
http://doc.otrs.org/2.4/en/html/x1764.htmlZimbra
http://www.zimbra.comPágina del manual donde están los mapeos
http://wiki.zimbra.com/index.php?title=GAL_Attribute_MappingArchivo en el servidor Zimbra en donde están específicamente (no tocar) /opt/zimbra/openldap/etc/openldap/zimbra_globalconfig.ldif