Installer Novell eDirectory 8.8 et iManager 2.7.4

Evidemment, naturellement, je ne serais pas très enclin à utiliser Novell eDirectory ; cela dit, quitte à présenter la mise en place de Enterprise User Security (EUS) avec Oracle Virtual Directory autant le faire avec un annuaire non Oracle. De ce point de vue, eDirectory a beaucoup de qualités : il est simple à mettre en oeuvre (pour ce que j’en fais au moins) ; c’est une solution mature, avec beaucoup de littérature et peu de bugs a priori ; il ne vous oblige à installer aucun logiciel Microsoft ; et il est disponible en version d’évaluation sur le site de Novell pour 60 jours.

Bref, si seulement iManager était supporté sur RHEL/OEL5, ça aurait été parfait… Comme ce n’est pas le cas, j’ai installé OpenSuse 10.3 ou 11.1 dans Virtualbox 4 sur mon OEL5 ;-P.

L’article qui suit reprend les différentes étapes de l’installation, une fois OpenSuse installé et les distributions eDirectory 8.8.5, iManager 2.7, le patch 2.7.4 et la plugin iManager pour eDirectory téléchargées. L’article décrit les quelques étapes de configuration dont vous aurez besoin.

Installer eDirectory

Installer eDirectory sur Redhat/Oracle EL 5 ou OpenSuse 10.3/11 est simplissime. L’installation s’effectue sous l’utilisateur root. Lancez simplement la commande nds-install située dans le répetoire setup. Voilà, c’est fini.

Configurer un arbre

Evidemment eDirectory vient vide ! Une fois le logiciel installé, il faut créé un premier arbre; pour cela, positionnez les variables d’environnement :

# . /opt/novell/eDirectory/bin/ndspath

Setting eDirectory binary path to /opt/novell/eDirectory/bin ...

Vous pourrez alors créer la configuration de votre choix à l’aide de la commande ci-dessous :

# ndsconfig new -t red -n ou=red.o=arkzoyd -a cn=admin.ou=red.o=arkzoyd
 
Enter the password for cn=admin.ou=red.o=arkzoyd:
Re-enter the password for cn=admin.ou=red.o=arkzoyd:

Please enter the absolute path for the instance [ /var/opt/novell/eDirectory ]: /u01/app/novell/eDirectory
Setting Variable data location to : /u01/app/novell/eDirectory/data
Setting Database location to : /u01/app/novell/eDirectory/data/dib

Configuring the NDAP interfaces...
The following are the IP addresses bound to this host.
Please indicate your choice for NCP/HTTP/HTTPS listeners at the prompt.
[1] 192.168.156.1
[2] 192.168.1.14
[3] All
Select IP address from 1 - 3.
To select more than one IP address, separate the selections with a comma(,):
3
Done
Configuring the HTTP interfaces... Done
Configuring the LDAP interfaces... Done

Configuring Novell eDirectory server with the following parameters, Please wait...
Tree Name : red
Server DN : red.ou=red.o=arkzoyd
Admin DN : cn=admin.ou=red.o=arkzoyd
NCP Interface(s) : 192.168.156.1@524,192.168.1.14@524
HTTP Interface(s) : 192.168.156.1@8028,192.168.1.14@8028
HTTPS Interface(s) : 192.168.156.1@8030,192.168.1.14@8030
LDAP TCP Port : 389
LDAP TLS Port : 636
LDAP TLS Required : Yes
Duplicate Tree Lookup : Yes

Configuration File : /etc/opt/novell/eDirectory/conf/nds.conf
Instance Location : /u01/app/novell/eDirectory/data
DIB Location : /u01/app/novell/eDirectory/data/dib

Starting the service 'ndsd'... Done.

Checking if server is ready to service requests... Done

Searching for Duplicate Tree Name in the network. Please wait...
Basic configuration is successful. Proceeding with additional configuration...

Extending schema... Done
For more details view schema extension logfile: /u01/app/novell/eDirectory/log/schema.log

Configuring HTTP service... Done
Configuring LDAP service... Done
Configuring SNMP service... Done
Configuring SAS service... Done
Associating certificate with the NCP server object... Done
Configuring NMAS service... Done
Configuring SecretStore... Done
Configuring LDAP Server with default SSL CertificateDNS certificate... Done
The instance at /etc/opt/novell/eDirectory/conf/nds.conf is successfully configured.

[root@red bin]# /etc/init.d/ndsd status
Tree Name: RED
Server Name: .CN=red.OU=red.O=arkzoyd.T=RED.
Binary Version: 20219.15
Root Most Entry Depth: 0
Product Version: eDirectory for Linux v8.8 SP5 [DS]

Un service est ainsi créé et démarré avec le serveur, comme vous vous en rendrez compte en regardant le statut du service associé.

# /etc/init.d/ndsd status
Tree Name: RED
Server Name: .CN=red.OU=red.O=arkzoyd.T=RED.
Binary Version: 20219.15
Root Most Entry Depth: 0
Product Version: eDirectory for Linux v8.8 SP5 [DS]

Créer un nouvel utilisateur

Pour créer un nouvel utilisateur, vous pouvez créer un fichier LDIF avec les attributs essentiels à savoir dn, "objectClass: user", surname et, pour ce qui nous intéresse, le mot de passe; voici un exemple d’un tel fichier :

# cat user.ldif 
dn: cn=Gregory,ou=red,o=arkzoyd
objectClass: user
cn: Gregory
surname: Gregory
userPassword: manager

Une fois le fichier créé, nous allons le charger dans le ldap avec la commande ldapadd comme ci-dessous :

# ldapadd -x -D "cn=admin,ou=red,o=arkzoyd" -Z -W -f user.ldif -v 
ldapssl_client_init ( NULL, NULL )
ldapssl_init ( , 389, 1 )
Enter LDAP Password:
add objectClass:
        user
add cn:
        Gregory
add surname:
        Gregory
adding new entry "cn=Gregory,ou=red,o=arkzoyd"
modify complete

L’interface de eDirectory, nommée iMonitor et accessible dans notre cas à partir de l’URL https://<hostname>:8030/nds nous permet de vérifier, en cliquant sur le lien OU que l’élément correspondant est bien créé dans le LDAP :

Pour vérifier que le mot de passe est bien prix en compte, on peut faire une requête ldapsearch en nous connectant en SSL (option -Z) et en forçant l’utilisation d’un nom d’utilisateur et mot de passe (options -D 'cn=Gregory,ou=red,o=arkzoyd' -W) :

ldapsearch -D 'cn=Gregory,ou=red,o=arkzoyd' -W -Z -b 'surname=Gregory'
Enter LDAP Password:
version: 1

#
# filter: surname=Gregory
# requesting: ALL
#

# Gregory,red,arkzoyd
dn: cn=Gregory,ou=red,o=arkzoyd
sn: Gregory
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: Person
objectClass: ndsLoginProperties
objectClass: Top

# search result
# search: 3
# result: 0 Success

# numResponses: 2
# numEntries: 1

LDAP Browser/Editor

Pour travailler avec un référentiel LDAP, je vous conseille d’utiliser un outil comme LDAP Browser/Editor. Celui-ci, s’appuie sur Java SE et est d’une simplicité enfantine à installer et à utiliser.

Installer et utiliser iManager 2.7.4

Pour configurer eDirectory avec OVD et EUS, il faut configurer Universal Password et donner des droits spécifiques à l’administrateur OVD qui accède à eDirectory. Pour cela, le plus simple est d’utiliser sur iManager. Téléchargez la version 2.7, le patch 2.7.4 et la dernière plugin eDirectory; lancez l’installation et précisez le répertoire des fichiers .npm. Lancez encore l’installation sous root :

cd iManager/installs/linux

# ./iManagerInstallLinux.bin
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...

Launching installer...

Preparing CONSOLE Mode Installation...

=======================================================================
Choose Locale...
----------------

1- Deutsch
->2- English
3- Español
4- Français
5- Italiano
6- Português

CHOOSE LOCALE BY NUMBER:
=======================================================================
Novell iManager 2.7 (created with InstallAnywhere by Macrovision)
-----------------------------------------------------------------------

=======================================================================
Introduction
------------

InstallAnywhere will guide you through the installation of Novell iManager 2.7.

It is strongly recommended that you quit all programs before continuing with
this installation.

Respond to each prompt to proceed to the next step in the installation. If you
want to change something on a previous step, type 'back'.

You may cancel this installation at any time by typing 'quit'.

PRESS <enter> TO CONTINUE:

=======================================================================
License Agreement
-----------------

Installation and use of Novell iManager 2.7 requires acceptance of the
following License Agreement:

NovelliManager 2.7
[...]

DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT? (Y/N): Y



=======================================================================
Component Selection
-------------------

->1- Novell iManager 2.7, Tomcat, JVM
2- Novell iManager 2.7
3- Tomcat, JVM

ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <enter> TO ACCEPT THE DEFAULT:
:
=======================================================================
Plugin Install
--------------

Would you like to download plug-ins?

->1- Yes
2- No

ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS TO ACCEPT THE DEFAULT:
: 2

=======================================================================
Plugin Install
--------------

Would you like to have plug-ins installed from a local directory?

->1- Yes
2- No

ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS TO ACCEPT THE DEFAULT:
:

=======================================================================
Get User Input
--------------

Please enter a directory that contains the plug-in(.npm) files

Directory (DEFAULT: /opt/distribs/iManager/iManager/installs/plugins)
: /opt/distribs/plugins

=======================================================================
Get PORT Input
--------------

Enter the port numbers you wish Tomcat to run on.

TOMCAT HTTP PORT (DEFAULT: 8080):

TOMCAT SSL PORT (DEFAULT: 8443):

=======================================================================
Authorized User Information
---------------------------

Enter the user name and tree name (not an IP address) for a user that needs the ability to install iManager plug-ins and make changes to the iManager server settings.

Providing an Authorized User during the install is optional and can be set within iManager after the install completes. If you choose to not set the Authorized User at this time, iManager will be set to allow all users the ability to install plug-ins and change server settings. It is recommended that you set an authorized user now or as soon as possible after the install. See the iManager documentation for additional information.

User context (e.g., admin.novell) (DEFAULT: none):

Tree (e.g., MY_TREE) (DEFAULT: none):

=======================================================================
Pre-Installation Summary
------------------------

Please Review the Following Before Continuing:

Novell iManager 2.7 :
novell-imanager,novell-plugin-base
Tomcat :
novell-base,novell-tomcat5,novell-tomcat5-webapps
JVM :
novell-jdk
Plugins to download :

Existing :

Plugins to copy :
eDirectory88_Plugins - 2.7.20100818
iman_sp - 2.7.4.20100928

Administrative user and context : none
Tree : none
Tomcat HTTP port : 8080
Tomcat SSL port : 8443
Directory to copy plugins : /opt/distribs/plugins

->1- Ok to proceed
2- Make changes

ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <enter> TO ACCEPT THE DEFAULT:
:

=======================================================================
Installing...
-------------

[================|================|================|================]
[----------------|----------------|----------------|----------------]

=======================================================================
Installation Complete
---------------------

Congratulations! Novell iManager 2.7 has been successfully installed.

PRESS <enter> TO CONTINUE:

Vous noterez que iManager ne stocke pas de référentiel d’utilisateurs mais s’appuie sur un référentiel existant ; en l’occurence on peut utiliser celui créé dans eDirectory et se connecter à l’URL suivante : https://<hostname>:8443/nps avec l’utilisateur admin (ou au choix avec les syntaxes cn=admin, cn=admin.ou=red.o=arkzoyd ou admin.red.arkzoyd) en utilisant l’arbre red :

Voilà, iManager comme eDirectory est démarré automatiquement grace aux services novell-tomcat. Vous pouvez créer des utilisateurs avec iManager et vous pourrez utiliser l’interface pour la suite de vos tests avec OVD…