
Hi,
check this line and uncomment
# [ 'UserCustomerID', 'CustomerID', 'mail', 0, 1,
'var', '', 0 ],
Regards.
2012/6/13 Thunyiwe Mohaule
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