Fragen zu Skript sync-ldap2db.pl

Hilfe zu Znuny Problemen aller Art
Locked
Snoopy
Znuny newbie
Posts: 35
Joined: 15 Feb 2007, 20:13

Fragen zu Skript sync-ldap2db.pl

Post by Snoopy »

Hi,

ich habe eine Frage zu dem Skript sync-ldap2db.pl

Zu meiner Verständnisweise dieses Skripts:
Wenn man dieses Skript angepasst hat, synchronisiert es eine LDAP Struktur in die lokale DB.
Soweit sollte Alles klaro sein...

Mein Ausgangspunkt ist derzeit folgender:
Ich habe einen LDAP KundenBackend in OTRS, die Anbindung funktioniert und ist derzeit so realisiert:

Code: Select all

[...]
# Kunden AD-Backend
$Self->{CustomerUser1} = {
Name => 'Active Directoy',
Module => 'Kernel::System::CustomerUser::LDAP',
Params => {
Host => 'Mein.LDAP.Server.org',
BaseDN => 'dc=LDAP, dc=Server, dc=org',
SSCOPE => 'sub',
UserDN => 'SuchUser',
UserPw => 'SuchUserPWD',
AlwaysFilter => '',
Die => 0,
Params => {
port => 389,
timeout => 120,
async => 0,
version => 3,
},
},
CustomerKey => 'mail',
CustomerID => 'mail',
CustomerUserListFields => ['cn', 'mail'],
CustomerUserSearchFields => ['uid', 'cn', 'mail'],
CustomerUserSearchPrefix => '*',
CustomerUserSearchSuffix => '*',
CustomerUserSearchListLimit => 250,
CustomerUserPostMasterSearchFields => ['mail'],
CustomerUserNameFields => ['givenname', 'sn'],
CustomerUserExcludePrimaryCustomerID => 0,
AdminSetPreferences => 0,
CacheTTL => 0,
CustomerInfoString => '$CustomerData->{UserCompany}<br>$CustomerData->{UserSalutation} $CustomerData->{UserFirstname} $CustomerData->{UserLastname}<br>$Cus,
Map => [
[ '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 ],
],
};
[...]

Der LDAP ist allerdings nicht innerhalb des Hauses, sondern weiter entfernt und mir kommt es so vor, als bremst der LDAP das OTRS aus (wenn die Standleitung busy ist etc.).

Nun kam mir die Idee, dass man den LDAP einmal pro Woche mit der DB syncen könnte und ich den LDAP BackEnd wieder fallen lasse.
Wie verhält sich nun das genau?

Bei dem Erstlauf wird die DB gefüllt, so denke ich mal.
Wenn bei einem weiteren Lauf auf einmal Userdaten sich verändert haben (z.B. ein Mitarbeiter hat das Unternehmen verlassen oder eine Tel.Nr. hat sich geändert, etc) wird das immer 1:1 gesynct?

Werden dann automatisch:
Mitarbeiter, die nicht mehr im Unternehmen sind gelöscht...
Nummern, die sich geändert haben, in der DB direkt angepasst...

Also wird die DB immer durch das Skript auf absolut konsistenten Stand gehalten?

Was ist ungern haben möchte ist, dass die DB auf einmal verwaist und irgendwelche Leichen in der DB rumliegen...
Kind regards,
Snoopy

---------
System:
Betriebssystem: Debian GNU/Linux - Squeeze
Kernel: 2.6.32 ( 2.6.32-5-amd64 Debian Repository)
OTRS Version: 3.0.4 (Install per Source)
Datenbank: MySQL 5.1 (5.1.49-3 Debian Repository)
robinson
Znuny newbie
Posts: 2
Joined: 10 Apr 2012, 12:55
Znuny Version: OTRS 3.1.3

Re: Fragen zu Skript sync-ldap2db.pl

Post by robinson »

Hallo,

hat es denn eigentlich überhaupt funktioniert? Bei uns läuft der Sync schon beim ersten Mal anscheinend nicht, es tauchen keine Kunden im OTRS auf.

Danke für eventuelle Tipps aus der Vergangenheit.

Freundliche Grüße

Robinson
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: Fragen zu Skript sync-ldap2db.pl

Post by boris »

Da gleiche Problem hab ich auch.

Script läuft schienbar ohne Fehler durch, obwohl es irgendwie viel szu schnell geht aber sonst passiert nix. Auch keine Kunden in der DB.

Dann hoffe ich mal mit dass hier einer weiss wie es geht :)
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
boris
Znuny wizard
Posts: 554
Joined: 22 Feb 2010, 18:27
Znuny Version: 3.0.4

Re: Fragen zu Skript sync-ldap2db.pl

Post by boris »

Es hat sich geklärt. Dank der Mailingliste.
Ich hab nicht alles nötige angepasst.

Code: Select all

my $UidLDAP = 'mail'; <---- hier hab ich den falschen Wert drin gehabt
my $UidDB   = 'login';

my %Map = (

    # db => ldap
    email       => 'mail',
    customer_id => 'mail',
    first_name  => 'sn',
    last_name   => 'givenname',
    pw          => 'test',
    firma       => 'company',
    abteilung   => 'department',
    buero       => 'physicalDeliveryOfficeName',    

    #    comments => 'description',
    comments => 'postaladdress',
);

my $LDAPHost    = 'Domaincontroller';
my %LDAPParams  = ();
my $LDAPBaseDN  = 'dc=firma,dc=local';
my $LDAPBindDN  = 'otrsldap@firma.local';
my $LDAPBindPW  = 'Passwort123';
my $LDAPScope   = 'sub';
my $LDAPCharset = 'utf-8';
kaum macht mans richtig schon gehst:-)



Aber da stellt sich schon die nächste Frage. Wir haben 5 Domänen mit fünf LDAP Anbindungen. Gibt es einen elegenateren Weg alle 5 LDAP's zu syncen als 5 Scripte?
Produktiv:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL

Test:
OTRS 3.1.7
CentOS 6.3
Apache2/MySQL
Locked