Hi, 

check this line and uncomment 

#            [ 'UserCustomerID', 'CustomerID', 'mail',            0, 1,
'var', '', 0 ],

Regards. 


2012/6/13 Thunyiwe Mohaule <thunyiwe@hartrao.ac.za>
Hi all

Not sure if this is the right forum.

I have managed to install otrs 2.4.9+dfsg1-3+squeeze1 on a stable distro
of debian squeeze.

I am running an ldaps enviroment, I managed to authenticate my users but I
get an error message saying "Need customer ID".  Not sure what could be
the problem, although when I search around I found that customer id is
actually the user email.  I attached my  Kernel/config.pm file, syslog
output and screen dump.

Will appreciate all the help one will get.

Thanx in advance.


Output from Config.pm


# --
# Kernel/Config.pm - Config file for OTRS kernel
# Copyright (C) 2001-2009 OTRS AG, http://otrs.org/
# --
# $Id: Config.pm.dist,v 1.21 2009/02/16 12:01:43 tr Exp $
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (AGPL). If you
# did not receive this file, see http://www.gnu.org/licenses/agpl.txt.
# --
#  Note:
#
#  -->> OTRS does have a lot of config settings. For more settings
#       (Notifications, Ticket::ViewAccelerator, Ticket::NumberGenerator,
#       LDAP, PostMaster, Session, Preferences, ...) see
#       Kernel/Config/Defaults.pm and copy your wanted lines into "this"
#       config file. This file will not be changed on update!
#
# --

package Kernel::Config;

BEGIN {
   if (-f '/etc/otrs/database.pm') {
     require '/etc/otrs/database.pm';
     if ($dbtype eq 'pgsql') {
         $dbport ||= '5432';
         our $dsn = "DBI:Pg:dbname";
     }
     else {
         $dbport ||= '3306';
         our $dsn = "DBI:mysql:database";
     }
   }
}

sub Load {
   my $Self = shift;
   # ---------------------------------------------------- #
   # ---------------------------------------------------- #
   #                                                      #
   #         Start of your own config options!!!          #
   #                                                      #
   # ---------------------------------------------------- #
   # ---------------------------------------------------- #

   # ---------------------------------------------------- #
   # database settings                                    #
   # ---------------------------------------------------- #
   # DatabaseHost
   # (The database host.)
   $Self->{DatabaseHost} = $dbserver || 'localhost';
   # Database
   # (The database name.)
   $Self->{Database} = $dbname || 'otrs';
   # DatabaseUser
   # (The database user.)
   $Self->{DatabaseUser} = $dbuser || 'otrs';
   # DatabasePw
   # (The password of database user. You also can use bin/CryptPassword.pl
   # for crypted passwords.)
   $Self->{DatabasePw} = $dbpass;
   # DatabaseDSN
   # (The database DSN for MySQL ==> more: "man DBD::mysql")
   $Self->{DatabaseDSN} =
"$dsn=$Self->{Database};host=$Self->{DatabaseHost};port=$dbport;";

   # (The database DSN for PostgreSQL ==> more: "man DBD::Pg")
   # if you want to use a local socket connection
#    $Self->{DatabaseDSN} = "DBI:Pg:dbname=$Self->{Database};";
   # if you want to use a tcpip connection
#    $Self->{DatabaseDSN} =
"DBI:Pg:dbname=$Self->{Database};host=$Self->{DatabaseHost};";

   # ---------------------------------------------------- #
   # fs root directory
   # ---------------------------------------------------- #
   $Self->{Home} = '/usr/share/otrs';

   # ---------------------------------------------------- #
   # insert your own config settings "here"               #
   # config settings taken from Kernel/Config/Defaults.pm #
   # ---------------------------------------------------- #
   # $Self->{SessionUseCookie} = 0;
   # $Self->{CheckMXRecord} = 0;

   # ---------------------------------------------------- #
   # switch off the web based installer for the Debian package
   $Self->{SecureMode} = 1;

   # ---------------------------------------------------- #
   # data inserted by installer                           #
   # ---------------------------------------------------- #
   # $DIBI$

   # ---------------------------------------------------- #
   # ---------------------------------------------------- #
   #          Start of own config                         #



   # SystemID
   # (The identify of the system. Each ticket number and
   # each http session id starts with this number)
   $Self->{SystemID} = 10;

   # FQDN
   # (Full qualified domain name of your system.)
   $Self->{FQDN} = 'otrs.home.ac.za';

   # HttpType
   # In case you use https instead of plain http specify it here
   $Self->{HttpType} = 'http';

   # ScriptAlias
   # Prefix to index.pl used as ScriptAlias in web config
   # (Used when emailing links to agents).
   $Self->{ScriptAlias} = 'otrs/';

   # AdminEmail
   # (Email of the system admin.)
   $Self->{AdminEmail} = 'ticket@home.ac.za';

   # Organization
   # (If this is anything other than '', then the email will have an
   # Organization X-Header)
   #    $Self->{Organization} = 'Example Company';
   $Self->{Organization} = 'Hart';

   # ProductName
   # (Shown application name in frontend.)
   $Self->{ProductName} = 'OTRS';

   # ShowAlwaysLongTime
   # (show always time in long /days hours minutes/ or short
   # /days hours/ format)
   $Self->{ShowAlwaysLongTime} = 0;
   $Self->{TimeShowAlwaysLong} = 0;

   # TimeInputFormat
   # (default date input format) [Option|Input]
   $Self->{TimeInputFormat} = 'Option';

   # AttachmentDownloadType
   # (if the tickets attachments will be opened in browser or just to
   # force the download) [attachment|inline]
   #    $Self->{'AttachmentDownloadType'} = 'inline';
   $Self->{'AttachmentDownloadType'} = 'attachment';

   # --------------------------------------------------- #
   # Check Settings
   # --------------------------------------------------- #
   # CheckEmailAddresses
   # (Check syntax of used email addresses)
   $Self->{CheckEmailAddresses} = 1;

   # CheckEmailValidAddress
   # (regexp of valid email addresses)
#    $Self->{CheckEmailValidAddress} = '^(root@localhost|admin@localhost)$';

   # CheckEmailInvalidAddress
   # (regexp of invalid email addresses)
#    $Self->{CheckEmailInvalidAddress} = '@(home)\.(..|...)$';

   # --------------------------------------------------- #
   # LogModule                                           #
   # --------------------------------------------------- #
   # (log backend module)
#    $Self->{'LogModule'} = 'Kernel::System::Log::SysLog';

   $Self->{'LogModule'} = 'Kernel::System::Log::File';
   # param for LogModule Kernel::System::Log::File (required!)
   $Self->{'LogModule::LogFile'} = '/var/log/otrs.log';

   # param for LogModule Kernel::System::Log::SysLog
   $Self->{'LogModule::SysLog::Facility'} = 'user';

   # param for LogModule Kernel::System::Log::SysLog
   # (Depends on you sys log system environment. 'unix' is default, on
   # solaris you may need to use 'stream'.)
   $Self->{'LogModule::SysLog::LogSock'} = 'unix';

   # param for LogModule Kernel::System::Log::SysLog
   # (if syslog can't work with utf-8, force the log
   # charset with this option, on other chars will be
   # replaces with ?)
   $Self->{'LogModule::SysLog::Charset'} = 'iso-8859-15';

#    $Self->{'LogModule::SysLog::Charset'} = 'utf-8';

   # param for LogModule Kernel::System::Log::File (required!)
   $Self->{'LogModule::LogFile'} = '/var/log/otrs.log';

   # param if the date (yyyy-mm) should be added as suffix to
   # logfile [0|1]
#    $Self->{'LogModule::LogFile::Date'} = 0;

   # system log cache size for admin system log (default 32k)
   # $Self->{'LogSystemCacheSize'} = 32 * 1024;

   # --------------------------------------------------- #
   # SendmailModule
   # --------------------------------------------------- #
   # (Where is sendmail located and some options.
   # See 'man sendmail' for details. Or use the SMTP backend.)
#    $Self->{'SendmailModule'}      = 'Kernel::System::Email::Sendmail';
   $Self->{'SendmailModule::CMD'} = '/usr/sbin/exim -i -f ';
#
   $Self->{'SendmailModule'} = 'Kernel::System::Email::SMTP';
   $Self->{'SendmailModule::Host'} = 'mail.home.ac.za';
   $Self->{'SendmailModule::Port'} = '25';
   $Self->{'SendmailModule::AuthUser'} = 'ticket@home.ac.za';
   $Self->{'SendmailModule::AuthPassword'} = 'new@hart';

   # SendmailBcc
   # (Send all outgoing email via bcc to...
   # Warning: use it only for external archive funktions)
   $Self->{'SendmailBcc'} = 'thunyiwe@home.ac.za';

   # SendmailNotificationEnvelopeFrom
   # Set a email address that is used as envelope from header in outgoing
   # notifications
#    $Self->{'SendmailNotificationEnvelopeFrom'} = '';



   # --------------------------------------------------- #
   #                                                     #
   #             Start of config options!!!              #
   #                CustomerPanel stuff                  #
   #                                                     #
   # --------------------------------------------------- #

   # SessionName
   # (Name of the session key. E. g. Session, SessionID, OTRS)
   $Self->{CustomerPanelSessionName} = 'HART';

   # CustomerPanelUserID
   # (The customer panel db-uid.) [default: 1]
   $Self->{CustomerPanelUserID} = 1;

   # CustomerGroupSupport (0 = compat. to OTRS 1.1 or lower)
   # (if this is 1, the you need to set the group <-> customer user
   # relations! http://host/otrs/index.pl?Action=AdminCustomerUserGroup
   # otherway, each user is ro/rw in each group!)
   $Self->{CustomerGroupSupport} = 0;

   # CustomerGroupAlwaysGroups
   # (if CustomerGroupSupport is true and you don't want to manage
   # each customer user for this groups, then put the groups
   # for all customer user in there)
   $Self->{CustomerGroupAlwaysGroups} = [ 'users', 'info' ];

   # show online agents
   $Self->{'CustomerFrontend::NotifyModule'}->{'1-ShowAgentOnline'} = {
       Module      => 'Kernel::Output::HTML::NotificationAgentOnline',
       ShowEmail   => 1,
       IdleMinutes => 60,
   };


   # --------------------------------------------------- #
   # customer authentication settings                    #
   # (enable what you need, auth against otrs db,        #
   # against a LDAP directory, against HTTP basic        #
   # authentication and against Radius server)           #
   # --------------------------------------------------- #
   $Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
   $Self->{'Customer::AuthModule::LDAP::Host'} = 'ldaps://ldap.home.ac.za';
   $Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=home,dc=ac,dc=za';
   $Self->{'Customer::AuthModule::LDAP::UID'} = 'uid';

   # Check if the user is allowed to auth in a posixGroup
   # (e. g. user needs to be in a group xyz to use otrs)
   $Self->{'Customer::AuthModule::LDAP::GroupDN'} =
'cn=otrsallow,ou=Group,dc=home,dc=ac,dc=za';
   $Self->{'Customer::AuthModule::LDAP::AccessAttr'} = 'memberUid';
   # for ldap posixGroups objectclass (just uid)
   $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'UID';
   # for non ldap posixGroups objectclass (full user dn)
#    $Self->{'Customer::AuthModule::LDAP::UserAttr'} = 'DN';

   # The following is valid but would only be necessary if the
   # anonymous user do NOT have permission to read from the LDAP tree
   $Self->{'Customer::AuthModule::LDAP::SearchUserDN'} =
'cn=nss,dc=home,dc=ac,dc=za';
   $Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'eLDeeAyePee';

   # in case you want to add always one filter to each ldap query, use
   # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter =>
'(objectclass=user)'
 $Self->{'Customer::AuthModule::LDAP::AlwaysFilter'} =
'(!(objectclass=computer)(objectclass=user))';


   # in case you want to add a suffix to each customer login name, then
   # you can use this option. e. g. user just want to use user but
   # in your ldap directory exists user@domain.
#    $Self->{'Customer::AuthModule::LDAP::UserSuffix'} = '@home.ac.za';

   # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
   $Self->{'Customer::AuthModule::LDAP::Params'} = {
#        port    => 389,
       timeout => 120,
       async   => 0,
       version => 3,
       cafile  => '/etc/ssl/certs/hh_ca.pem',
   };

   # Die if backend can't work, e. g. can't connect to server.
   $Self->{'Customer::AuthModule::LDAP::Die'} = 1;


# CustomerUser
# (customer user ldap backend and settings)
   $Self->{CustomerUser} = {
       Name => 'LDAP Backend',
       Module => 'Kernel::System::CustomerUser::LDAP',
       Params => {
#            # ldap host
           Host => 'ldaps://ldap.home.ac.za',
#            # ldap base dn
           BaseDN => 'dc=home,dc=ac,dc=za',
#            # 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
           UserDN => 'cn=nss,dc=home,dc=ac,dc=za',
           UserPw => 'eLDeeAyePee',
#            # 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 => '(!(objectclass=computer(objectclass=user))',
#            # 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)
#            SourceCharset => 'utf-8',
#            DestCharset => 'iso-8859-1',
#            # die if backend can't work, e. g. can't connect to server
#            Die => 1,
#            # Net::LDAP new params (if needed - for more info see perldoc
Net::LDAP)
           Params => {
#                port    => 389,
               timeout => 120,
               async   => 0,
               version => 3,
               cafile  => '/etc/ssl/certs/hh_ca.pem',
           },
       },
#        # 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 not 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,
#        # cache time to life in sec. - cache any ldap queris
       CacheTTL => 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 ],
           # [ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids',
1, 0, 'var', '', 0 ],
#            [ 'UserPhone',      'Phone',      'telephonenumber', 1, 0,
'var', '', 0 ],
#            [ 'UserAddress',    'Address',    'postaladdress',   1, 0,
'var', '', 0 ],
#            [ 'UserComment',    'Comment',    'description',     1, 0,
'var', '', 0 ],
       ],
   };

   # --------------------------------------------------- #
   #                                                     #
   #             Start of config options!!!              #
   #              CustomerPreferences stuff              #
   #                                                     #
   # --------------------------------------------------- #

   # CustomerPreferences
   # (customer preferences module)
#    $Self->{'CustomerPreferences'} = {
#        Module => 'Kernel::System::CustomerUser::Preferences::DB',
#        Params => {
#            Table       => 'customer_preferences',
#            TableKey    => 'preferences_key',
#            TableValue  => 'preferences_value',
#            TableUserID => 'user_id',
#        },
#    };
#
#    # CustomerPreferencesView
   # (Order of shown items)
#    $Self->{CustomerPreferencesView} = [ 'Frontend', 'Other Options' ];

   # CustomerPreferencesGroups
   # (All possible items)
#    $Self->{CustomerPreferencesGroups}->{Password} = {
#        Module          => 'Kernel::Output::HTML::PreferencesPassword',
#        Colum           => 'Other Options',
#        Label           => 'Change Password',
#        Prio            => 1000,
#        Area            => 'Customer',
#        PasswordHistory => 0,

#        PasswordRegExp => '[a-z]|[A-z]|[0-9]|\.|;|,|:|-|\+|#|!|\$|&|\?',
#        PasswordRegExp                    => '',
##        PasswordMinSize                   => 0,
#        PasswordMin2Lower2UpperCharacters => 0,
#        PasswordMin2Characters            => 0,
#        PasswordNeedDigit                 => 0,
#        Activ                             => 1,
#    };
#    $Self->{CustomerPreferencesGroups}->{Language} = {
#        Module  => 'Kernel::Output::HTML::PreferencesLanguage',
#        Colum   => 'Frontend',
#        Label   => 'Language',
#        Desc    => 'Select your frontend language.',
#        PrefKey => 'UserLanguage',
##        Prio    => 2000,
#        Activ   => 1,
##    };
#    $Self->{CustomerPreferencesGroups}->{Theme} = {
#        Module  => 'Kernel::Output::HTML::PreferencesTheme',
#        Colum   => 'Frontend',
#        Label   => 'Theme',
#        Desc    => 'Select your frontend Theme.',
#        PrefKey => 'UserTheme',
#        Prio    => 1000,
#        Activ   => 0,
#    };
#    $Self->{CustomerPreferencesGroups}->{PGP} = {
#        Module  => 'Kernel::Output::HTML::PreferencesPGP',
#        Colum   => 'Other Options',
#        Label   => 'PGP Key',
#        Desc    => 'PGP Key Upload',
#        PrefKey => 'UserPGPKey',
#        Prio    => 10000,
#        Activ   => 1,
#    };
#    $Self->{CustomerPreferencesGroups}->{SMIME} = {
#        Module  => 'Kernel::Output::HTML::PreferencesSMIME',
#        Colum   => 'Other Options',
#        Label   => 'S/MIME Certificate',
##        Desc    => 'S/MIME Certificate Upload',
##        PrefKey => 'UserSMIMEKey',
#        Prio    => 11000,
#        Activ   => 1,
#    };
#





   #                                                      #
   #           End of your own config options!!!          #
   #                                                      #
   # ---------------------------------------------------- #
   # ---------------------------------------------------- #
}

# ---------------------------------------------------- #
# needed system stuff (don't edit this)                #
# ---------------------------------------------------- #
use strict;
use warnings;

use vars qw(@ISA $VERSION);
use Kernel::Config::Defaults;
push (@ISA, 'Kernel::Config::Defaults');

use vars qw(@ISA $VERSION);
$VERSION = qw($Revision: 1.21 $)[1];

# -----------------------------------------------------#

1;

------------------------------------------------

output of syslog file
-----------------------------------------------------


Jun 11 13:02:11 otrs kernel: [ 19.820226] RPC: Registered tcp NFSv4.1
backchannel transport module.
Jun 11 13:02:11 otrs kernel: [ 19.900528] Slow work thread pool:
Starting up
Jun 11 13:02:11 otrs kernel: [ 19.900610] Slow work thread pool: Ready
Jun 11 13:02:11 otrs kernel: [ 19.900751] FS-Cache: Loaded
Jun 11 13:02:11 otrs kernel: [ 19.973437] FS-Cache: Netfs 'nfs'
registered for caching
Jun 11 13:02:15 otrs kernel: [ 23.308229] lp0: using parport0
(interrupt-driven).
Jun 11 13:02:15 otrs kernel: [   23.340609] ppdev: user-space parallel
port driver
Jun 11 13:06:50 otrs OTRS-CGI-10[2990]:
[Notice][Kernel::System::Auth::DB::Auth] User: root@localhost
authentication with wrong Pw!!! (REMOTE_ADDR: 127.0.0.1)
Jun 11 13:06:56 otrs OTRS-CGI-10[2992]:
[Notice][Kernel::System::Auth::DB::Auth] User: root@localhost
authentication ok (REMOTE_ADDR: 127.0.0.1).
Jun 11 13:13:41 otrs OTRS-CGI-10[3063]:
[Notice][Kernel::System::CustomerAuth::LDAP::Auth] CustomerUser: ticket
(uid=ticket,ou=People,dc=home,dc=ac,dc=za) authentication ok
(REMOTE_ADDR: 127.0.0.1).











-------------------

--
Regards

TM

Debian -> FREE software!!!!
   .--.
  |o_o |
  |:_/ |
 //   \ \
 (|     | )
/'\_   _/`\
\___)=(___/


--
Regards

TM

Debian -> FREE software!!!!
   .--.
  |o_o |
  |:_/ |
 //   \ \
 (|     | )
/'\_   _/`\
\___)=(___/


---------------------------------------------------------------------
OTRS mailing list: otrs - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/otrs
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs