L'annuaire LDAP OpenDJ est développé par Forgerock, sur la base de l'annuaire OpenDS, développé en son temps par Sun. On peut le télécharger sur le site de Forgerock. Il est disponible sous plusieurs formats :
- Paquet .deb pour O.S. type Debian
- Paquet .rpm pour O.S. type Red Hat
- Fichier zip pour tous les O.S.
Sur cette page, on trouve également des choses intéressantes :
- Une passerelle DSML / LDAP (fichier war à installer dans un serveur d'application Java tel que Tomcat)
- Une passerelle REST / LDAP (fichier war à installer dans un serveur d'application Java tel que Tomcat)
- Un Toolkit qui comprend différents outils, tels que des programmes de test de charge (lecture, authentification, etc), utilisables avec les annuaires LDAP
- Une documentation assez complète sur l'annuaire (guide d'installation, d'administration, etc.)
Installation en mode ligne de commande
Sur un serveur, il est rare d'avoir accès à une interface graphique. Lorsqu'on lance le setup, le programme détecte la présence d'une IHM, et l'installateur passe en mode texte s'il n'y en a pas de disponible.
Après avoir accepté les termes de la licence, il faut saisir le DN du compte d'administration de l'annuaire (cn=Directory Manager par défaut), puis son mot de passe. On peut également créer le DN de base (ou Root Suffix) pour cette instance d'annuaire. L'installation propose également d'alimenter l'annuaire avec des données, soit un fichier LDIF existant, soit des données générées, ce qui peut être intéressant si on veut faire des tests.
Notez que si vous faites l'installation dans un compte utilisateur, les ports utilisés normalement en LDAP (389 et 636) sont translatés en 1389 et 1636.
Please read the License Agreement above. You must accept the terms of the agreement before continuing with the installation. Accept the license (Yes/No) [No]:Yes What would you like to use as the initial root user DN for the Directory Server? [cn=Directory Manager]: Please provide the password to use for the initial root user: Please re-enter the password for confirmation: Provide the fully-qualified directory server host name that will be used when generating self-signed certificates for LDAP SSL/StartTLS, the administration connector, and replication [opendj]: opendj.lxc.local On which port would you like the Directory Server to accept connections from LDAP clients? [1389]: 1389 On which port would you like the Administration Connector to accept connections? [4444]: Do you want to create base DNs in the server? (yes / no) [yes]: yes Provide the base DN for the directory data: o=opendj-lxc Options for populating the database: 1) Only create the base entry 2) Leave the database empty 3) Import data from an LDIF file 4) Load automatically-generated sample data Enter choice [1]: 4 Please specify the number of user entries to generate: [2000]: Do you want to enable SSL? (yes / no) [no]: yes On which port would you like the Directory Server to accept connections from LDAPS clients? [1636]: Do you want to enable Start TLS? (yes / no) [no]: yes Certificate server options: 1) Generate self-signed certificate (recommended for testing purposes only) 2) Use an existing certificate located on a Java Key Store (JKS) 3) Use an existing certificate located on a JCEKS key store 4) Use an existing certificate located on a PKCS#12 key store 5) Use an existing certificate on a PKCS#11 token Enter choice [1]: 1 Do you want to start the server when the configuration is completed? (yes / no) [yes]: Setup Summary ============= LDAP Listener Port: 1389 Administration Connector Port: 4444 LDAP Secure Access: Enable StartTLS Enable SSL on LDAP Port 1636 Create a new Self-Signed Certificate Root User DN: cn=Directory Manager Directory Data: Create New Base DN o=opendj-lxc. Base DN Data: Import Automatically-Generated Data (2000 Entries) Start Server when the configuration is completed What would you like to do? 1) Set up the server with the parameters above 2) Provide the setup parameters again 3) Print equivalent non-interactive command-line 4) Cancel and exit Enter choice [1]: 3 Equivalent non-interactive command-line to setup server: /opt/opendj/setup \ --cli \ --baseDN o=opendj-lxc \ --sampleData 2000 \ --ldapPort 1389 \ --adminConnectorPort 4444 \ --rootUserDN cn=Directory\ Manager \ --rootUserPassword ****** \ --enableStartTLS \ --ldapsPort 1636 \ --generateSelfSignedCertificate \ --hostName opendj.lxc.local \ --no-prompt \ --noPropertiesFile What would you like to do? 1) Set up the server with the parameters above 2) Provide the setup parameters again 3) Print equivalent non-interactive command-line 4) Cancel and exit Enter choice [1]: See /tmp/opendj-setup-269943537366412976.log for a detailed log of this operation. Configuring Directory Server ..... Done. Configuring Certificates ..... Done. Importing Automatically-Generated Data (2000 Entries) ................ Done. Starting Directory Server ............ Done. To see basic server configuration status and configuration you can launch /opt/opendj/bin/status
On peut faire la création en mode non-interactif. Par exemple en utilisant la sortie de la commande interactive :
/opt/opendj/setup \ --cli \ --baseDN o=opendj-lxc \ --sampleData 2000 \ --ldapPort 1389 \ --adminConnectorPort 4444 \ --rootUserDN cn=Directory\ Manager \ --rootUserPassword ****** \ --enableStartTLS \ --ldapsPort 1636 \ --generateSelfSignedCertificate \ --hostName opendj.lxc.local \ --no-prompt \ --noPropertiesFile
Installation avec un fichier de propriétés
Il est également possible d'utiliser un fichier de properties, qui va contenir les paramètres (sans les --). Par exemple, pour installer OpenDJ avec les mêmes options que précédemment, on va créer un fichier /opt/opendj/moninstall.props, qui contient :
baseDN = o=opendj-lxc sampleData = 2000 ldapPort = 1389 adminConnectorPort = 4444 rootUserDN = cn=Directory\ Manager rootUserPassword = monMotDePasse enableStartTLS = true ldapsPort = 1636 generateSelfSignedCertificate = true hostName = opendj.lxc.local
L'installation s'effectue alors avec la commande :
./setup --cli --propertiesFilePath /opt/opendj/moninstall.props --acceptLicense --noprompt
Nous verrons par la suite comment personnaliser l'installation en ajoutant un RootSuffix supplémentaire, et en modifiant le schéma pour y ajouter des attributs ou classes d'objets spécifiques.