BigAdmin System Administration Portal
Les scripts Perl offrent une installation et une configuration rapide et précise du service d'annuaire de Sun Java System
Print-friendly VersionPrint-friendly Version



La traduction de cet article est le résultat du travail effectué par un logiciel de traduction, relu et corrigé par un humain. Elle vous est fournie, pour votre confort, telle quelle. Sun ne fournit aucune garantie et n'assume aucune responsabilité quant à la justesse et/ou la complétude du texte traduit ou de la page entière. Veuillez vous référer aux condition d'utilisation de ce site pour toute question regardant son utilisation et celle de ce logiciel.

 
 
Les scripts Perl offrent une installation et une configuration rapide et précise du service d'annuaire de Sun Java System

Sun Java System Directory Server Enterprise Edition 6.2 (et désormais, Directory Server) comporte une interface de ligne de commande(CLI) renforcée. Cet article vous indique comment automatiser l'installation et le processus de configuration de Directory Server avec la CLI et un script Perl, plus rapidement, plus facilement et en évitant les erreurs.

Remarque : La configuration décrite dans cet article ne constitue qu'un exemple. Son architecture, qui fait appel à cinq instances de Directory Server et cinq suffixes par serveur, ne correspond pas nécessairement à votre déploiement.

Sommaire :
 
Exemple de déploiement
La méthode Perl
Conditions préalables
Editions pour script Perl
Autres éditions
Syntaxe du script
Conclusion
Références
 
Exemple de déploiement

Supposons que vous devez déployer cinq instances de Directory Server dans le cadre d'une réplication multimaître intégralement maillée (MMR). Supposons que chaque instance contienne cinq suffixes. Vous devez en plus :

Effectuer chacune des tâches, sur la console d'administration ou sur la CLI, est une opération longue susceptible de prendre plusieurs jours.

La méthode Perl

Cette tâche peut être menée à bien avec efficacité en exécutant ce script Perl. Il accomplit l'ensemble des tâches suivantes, configure et déploie Directory Server :

  1. Création de cinq instances de Directory Server.

  2. Enregistrement de chaque instance dans le Centre de contrôle du service d'annuaire (DSCC).

  3. Ajout d'un schéma personnalisé à chaque instance du serveur.

  4. Création de cinq suffixes par serveur.

  5. Activation de la réplication sur chaque suffixe.

  6. Création d'index personnalisés.

  7. Création d'une ACI permettant aux utilisateurs de modifier leurs objets mais pas leurs mots de passe.

  8. Paramétrage du cache d'importation à 200 Mo.

  9. Paramétrage des temps et des intervalles de rotation des journaux.

  10. Paramétrage de la compatibilité des mots de passe en mode de migration DS6.

  11. Création des contrats de réplication parmi les cinq suffixes des cinq instances.

  12. Initialisation de la réplication.

  13. Importation des données utilisateur.

Un test a démontré que sur un serveur SunFire V240 sous SE Solaris 10 configuré avec 8 Go de mémoire et deux processeurs, les cinq instances de Directory Server ont été configurées conformément aux conditions susmentionnées en moins de 24 minutes. Voici le journal généré par le script.

Nous avons également effectué le test sur un MacBook Pro exécutant une version antérieure de la nouvelle version du SE Solaris sur une machine virtuelle. Le script a été exécuté en 31 minutes seulement.

La Figure 1 illustre un exemple de six instances de serveur en MMR intégralement maillée.

Figure 1 : six instances de Directory Server en MMR intégralement maillée (Cliquez sur l'image pour agrandir la vue.)
 

Lisez la suite pour des informations relatives aux conditions préalables, aux éditions nécessaires et à la syntaxe du script.

Conditions préalables

Commencez par :

  1. Installer la version ZIP de Directory Server.

    Cet article suppose que vous avez installé Directory Server dans /var/opt/dsee de sorte que—

    • dsadm et dsconf résident dans /var/opt/dsee/ds6/bin.
    • dsccreg réside dans /var/opt/dsee/dscc6/bin.

  2. Créer et installer l'interface de navigation DSCC et vérifier qu'elle est exécutée.

  3. Installer Common Agent Container (CACAO) et vérifier qu'il est exécuté.
Editions pour Perl Script

Editez ensuite le script Perl :

  1. Le script suppose l'installation ZIP de Directory Server ; par conséquent, en fonction de l'emplacement d'installation de Directory Server, éditez les variables d'environnement ldapbase et dsccbase en conséquence :

    # Location of Directory Server commands
    
    my $ldapbase = "/var/opt/dsee/ds6/bin/";
    
     
    # Location of DSCC commands
    
    my $dsccbase = "/var/opt/dsee/dscc6/bin/";
    
     
  2. Editez la variable confpath pour spécifier le chemin d'accès aux fichiers de configuration :

    # Path for configuration data
    
    my $confpath = "/export/home/script/";
    
     
  3. Editez la variable numsuffix pour spécifier le nombre de suffixes à configurer sur Directory Server :

    # Number of suffixes
    
    # This is the number of suffixes stored in the two-dimensional array below.
    
    # This example contains five suffixes, which translate to four columns since arrays begin
    at column 0, not 1.
    
    my $numsuffix;
    
    $numsuffix = 5;
    
     
  4. Editez les informations d'identification de Directory Server :

    Remarque : le fichier qui contient le mot de passe a pour préfixe le chemin d'accès créé à l'étape 2 ci-dessus.

    ### Directory Server credentials
    
    # Directory Server manager login name
    
    my $dm="";
    
    $dm = '"cn=directory manager"';
    
    # File that contains the Directory Server manager password
    
    my $dmpassfile="";
    
    $dmpassfile = $confpath."dman.txt";
    
     
  5. Editez la variable instdir pour spécifier l'emplacement des instances de Directory Server, c'est-à-dire le répertoire dans lequel les instances de Directory Server résideront :

    # Location of instances
    
    my $instdir = "/var/opt/dsee6/instances/";
    
     
  6. Editez les fichiers qui contiennent le schéma personnalisé et le fichier LDIF avec les données utilisateur à charger dans chacune des instances de Directory Server.

    ### LDIF files
    
    # Custom schema added to each Directory Server instance
    
    my $schema="";
    $schema=$confpath."customschema.ldif";
    
    # LDIF file with user data to be imported into each Directory Server instance
    
    my $users="";
    $users="users.ldif";
    
     
  7. Editez trois baies :

    • Une baie uni dimensionnelle avec les noms d'instances de Directory Server tels qu'ils figurent dans le système de fichier

    • Une baie uni dimensionnelle avec le numéro unique de chacun des suffixes de la topologie de réplication

    • Une baie bidimensionnelle avec les noms de chacun des suffixes et des ports sécurisés et non sécurisés de chaque instance

    # One-dimensional array of the Directory Server instances
    
    my @instances = ("ins1" ,"ins2", "ins3", "ins4","ins5");
    
    # One-dimensional array of the replica IDs to ensure a unique replica ID for each suffix
    
    my @replicaIDs = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25);
    
    # Two-dimensional array of the suffixes and related data
    # Each column contains unique values for a suffix
    # Row 0 - suffix name
    # Row 1 - LDAP port
    # Row 2 - LDAPS port
    
    my @ldapdata =
    (["dc=example,dc=com","ou=usa,dc=example,dc=com","ou=eu,dc=example,dc=com","ou=aipac,dc
    =example,dc=com","ou=americas,dc=example,dc=com"],
    [11389,2389,3389,4389,5389],
    [11636,2636,3636,4636,5636],);
    
     
Autres éditions

Enfin, éditez le corps du script en fonction des configurations réelles (étapes 1 à 13 selon "la méthode Perl") selon les besoins de votre déploiement.

Syntaxe du script

Voici la syntaxe du script :

#perl ds6deplconf.pl nom d'hôte

nom d'hôteest le nom abrégé (pas le nom entièrement qualifié), de l'hôte sur lequel vous exécutez, déployez et configurez Directory Server. En voici un exemple :

#perl ds6deplconf.pl solaris-devx

Pour supprimer les instances de Directory Server, exécutez simplement cleanup.sh puis exécutez à nouveau le script Perl pour redéployer.

Conclusion

L'exécution de scripts Perl pour l'automatisation, comme le suggère cet article, constitue une méthode efficace pour éliminer les tâches manuelles répétitives et garantir exactitude et uniformité. Essayez.

Références
BigAdmin