Thanks for the reply, gears. I replaced the identifying information from the Config.pm with XXXXXXXXXX. Authentication seems to be working on some level, I just can't add Agents from LDAP. Am I at least going about it correctly?
Thanks for the links. I've been through much of the official 3.0.x OTRS online documentation, and the second devilx.net link has also been in my browser frequently recently.
Code: Select all
# --
package Kernel::Config;
sub Load {
my $Self = shift;
# ---------------------------------------------------- #
# Start of your own config options!!! #
# ---------------------------------------------------- #
#$Self->{Organization} = "XXXXXXXXXX"
# ---------------------------------------------------- #
# database settings #
# ---------------------------------------------------- #
$Self->{'DatabaseHost'} = 'XXXXXXXXXX';
$Self->{'Database'} = 'XXXXXXXXXX';
$Self->{'DatabaseUser'} = 'XXXXXXXXXX';
$Self->{'DatabasePw'} = 'XXXXXXXXXX';
$Self->{DatabaseDSN} = "DBI:mysql:database=$Self->{Database};host=$Self->{DatabaseHost};";
# ---------------------------------------------------- #
# fs root directory
# ---------------------------------------------------- #
$Self->{Home} = '/opt/otrs';
# ---------------------------------------------------- #
# WSE-specific settings #
# ---------------------------------------------------- #
$Self->{'Customer::AuthModule::LDAP::Params'} = {
'async' => '0',
'port' => '389',
'timeout' => '120',
'version' => '3'
};
$Self->{'LogModule::LogFile::Date'} = '1';
$Self->{'LogModule::LogFile'} = '/tmp/log/otrs.log';
$Self->{'LogModule::SysLog::Charset'} = 'utf-8';
$Self->{'Organization'} = 'XXXXXXXXXX';
$Self->{'AdminEmail'} = 'XXXXXXXXXX';
$Self->{'HttpType'} = 'https';
$Self->{'FQDN'} = 'XXXXXXXXXX';
$Self->{'SystemID'} = '01';
$Self->{'ProductName'} = 'XXXXXXXXXX';
$Self->{'SecureMode'} = '1';
#$Self->{Debug} = 3;
# agent authorization
$Self->{'AuthModule'} = 'Kernel::System::Auth::LDAP';
$Self->{'AuthModule::LDAP::Host'} = 'XXXXXXXXXX';
$Self->{'AuthModule::LDAP::BaseDN'} = 'XXXXXXXXXX';
$Self->{'AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthModule::LDAP::SearchUserDN'} = 'XXXXXXXXXX';
$Self->{'AuthModule::LDAP::SearchUserPw'} = 'XXXXXXXXXX';
# control who gets in as an agent
$Self->{'AuthModule::LDAP::GroupDN'} = 'XXXXXXXXXX';
$Self->{'AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'AuthModule::LDAP::UserAttr'} = 'DN';
# customer authorization
$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::LDAP';
$Self->{'Customer::AuthModule::LDAP::Host'} = 'XXXXXXXXXX';
$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'XXXXXXXXXX';
$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'XXXXXXXXXX';
$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'XXXXXXXXXX';
# control who gets in as a customer
$Self->{'Customer::AuthModule::LDAP::GroupDN'} = 'XXXXXXXXXX';
$Self->{'Customer:AuthModule::LDAP::AccessAttr'} = 'member';
$Self->{'Customer:AuthModule::LDAP::UserAttr'} = 'DN';
# synchronization between AD/LDAP and MySQL backend upon successful login for user data
$Self->{'AuthSyncModule'} = 'Kernel::System::Auth::Sync::LDAP';
$Self->{'AuthSyncModule::LDAP::Host'} = 'XXXXXXXXXX';
$Self->{'AuthSyncModule::LDAP::BaseDN'} = 'XXXXXXXXXX';
$Self->{'AuthSyncModule::LDAP::UID'} = 'sAMAccountName';
$Self->{'AuthSyncModule::LDAP::SearchUserDN'} = 'XXXXXXXXXX';
$Self->{'AuthSyncModule::LDAP::SearchUserPw'} = 'XXXXXXXXXX';
$Self->{'AuthSyncModule::LDAP::UserSyncMap'} = {
UserFirstname => 'givenName',
UserLastname => 'sn',
UserEmail => 'mail',
};
$Self->{'AuthSyncModule::LDAP::UserSyncInitialGroups'} = [
'users',
];
# Settings for customer backend with LDAP
$Self->{CustomerUser} = {
Name => 'LDAP Backend',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => 'XXXXXXXXXX',
BaseDN => 'XXXXXXXXXX',
SSCOPE => 'sub',
UserDN => 'XXXXXXXXXX',
UserPw => 'XXXXXXXXXX',
AlwaysFilter => '(objectclass=user)',
},
# customer LDAP to MySQL database unique id mapping
CustomerKey => 'sAMAccountName',
CustomerID => 'sAMAccountName',
CustomerUserListFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchFields => ['sAMAccountName', 'cn', 'mail'],
CustomerUserSearchPrefix => '',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
Map => [
# note: Login, Email and CustomerID needed!
# var, frontend, storage, shown, required, storage-type
[ 'UserFirstname', 'Firstname', 'givenname', 1, 1, 'var' ],
[ 'UserLastname', 'Lastname', 'sn', 1, 1, 'var' ],
[ 'UserLogin', 'Login', 'sAMAccountName', 1, 1, 'var' ],
[ 'UserEmail', 'Email', 'mail', 1, 1, 'var' ],
[ 'UserCustomerID', 'CustomerID', 'mail', 0, 1, 'var' ],
[ 'UserPhone', 'Phone', 'telephonenumber', 1, 0, 'var' ],
],
};
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# data inserted by installer #
# ---------------------------------------------------- #
# $DIBI$
$Self->{'DefaultCharset'} = 'utf-8';
# ---------------------------------------------------- #
# ---------------------------------------------------- #
# #
# End of your own config options!!! #
# #
# ---------------------------------------------------- #
# ---------------------------------------------------- #
}
# ---------------------------------------------------- #
# needed system stuff (don't edit this) #
# ---------------------------------------------------- #
use strict;
use warnings;
use vars qw(@ISA $VERSION);
$VERSION = qw($Revision: 1.23 $)[1];
use Kernel::Config::Defaults;
push (@ISA, 'Kernel::Config::Defaults');
# -----------------------------------------------------#
1;