$ unzip master.zip && rm master.zip $ cd lbe-master
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': 'ldap.db', # Or path to database file if using sqlite3. 'USER': '', # Not used with sqlite3. 'PASSWORD': '', # Not used with sqlite3. 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. 'PORT': '', # Set to empty string for default. Not used with sqlite3. } }
LDAP_SERVER = { 'PROTOCOL': 'ldap://', 'HOST': 'NomServeurLdap.domain.com, 'PORT': 389, 'BASE_DN': 'dc=domain,dc=com', 'BIND_DN': 'cn=manager', 'BIND_PWD': 'root' }
MONGODB_SERVER = { 'HOST': 'localhost', 'PORT': 27017, 'DATABASE': 'lbe', 'USER': '', # In order to not use the auth service, just put the USER value to blank. 'PASSWORD': '', }
$ python manage.py syncdb
Finaliser la création de la base de données :
$ python migrate
Importer les données initiales SQL:
$ python loaddata directory/fixtures/sample_data.yaml
Il se peut que pendant la création du SuperUser qu'une erreur survienne :
TypeError: decode() argument 1 must be string, not None
Il s'agit d'un soucis de locales. Pour la corriger, un simple export suffit, du type :
$ export LANG="en_US.UTF-8" $ rm DataBaseName
Et relancez les étapes.
Ensuite il faut importer le ldap. Tout d'abord vous devez modifier la configuration de custom/employee.py. Il vous faut modifier cette ligne-ci :
def base_dn(cls): return 'ou=Employees,ou=People,dc=opencsi,dc=com'
et celle-ci :
def object_classes(cls): return ['top', 'person', 'organizationalPerson', 'inetOrgPerson']
afin d'avoir les bons attributs lors de l'import depuis le ldap.
Ensuite il ne reste plus qu'a importer le ldap:
$ python manage.py --import-target
Si tout se passe bien, à ce stade nous avons donc:
Nous sommes prêt a nous connecter sur LBE. Pour cela il est possible de lancer LBE en mode test :
$ python manage.py runserver 0.0.0.0:<port>
Ouvrez votre navigateur web et rendez-vous sur l'adresse du server.
Nous arrivons sur la page de login. Saisissez les login/pass précédemment enregistrés (SuperUser).
Si tout c'est bien passé, sur la page d’accueil se trouvent les utilisateur que notre script employee.py nous a synchronisé.
Il donc maintenant possible de rajouter des utilisateurs dans le groupe employé, donc toute personne de l'entreprise possédant un compte sur LBE (comme les RH par exemple) peuvent rajouter/supprimer/modifier des employés.
Après tout changement (rajout/suppression/modification) depuis l'interface LBE, il faut impérativement resynchroniser LBE et le LDAP avec la commande suivante:
$ python manage.py --reconciliation
Le fait d'avoir a saisir une commande pour la réconciliation entre LBE et LDAP peu paraître contraignant, mais ceci-permet de valider les saisies par l'administrateur système et de pouvoir garder la main sur le LDAP. Une fois le processus rôdé, et si vous avez toute confiance dans le système (et dans vos backups...) il possible d'exécuter cette opération via un cron.
Nous n'avons fait qu'un bref tour de LBE dans cet article. Nous n'avons pas poussé les configurations. Le rajout d'autres scripts dans le custom, la création de groupes supplémentaires est possible. Son interface web facilite l'utilisation du LDAP et permet de déléguer les taches de rajouts/suppressions tout en gardant une surveillance sur les changements à effectuer.
Liens:
Git:
https://github.com/OpenCSI/lbe
Documentation officiel:
Actions sur le document