Guide d’installation JeDDLaJ version 1.6 IBE+

mardi 27 janvier 2009
par  G a.k.a Gérard Milhaud
popularité : 2%

En cas d’upgrade

Pour passer d’une version précédente de JeDDLaJ à la version 1.6 IBE+ new golden one et cesser ainsi d’être un has-been, 3 choses à faire, simples :

  1. SAUVEZ VOTRE BASE, SAUVEZ VOS REPERTOIRES D’INSTALL ;
  2. exécutez successivement les fichiers SQL fournis dans l’archive (vous devez passer par toutes les versions sucessives qui vous séparent de la 1.6 IBE+...), répertoire DB_DUMPS afin de mettre à jour la structure de la base ;
  3. suivez le présent guide en installant dans les mêmes répertoires (sans les vider au préalable afin de conserver les fichiers que vous avez créés vous-même, comme les postinstall scripts par exemple) que ceux de votre installation actuelle (web et rembo) ;

Prérequis

- VOUS DEVEZ DÉJÀ AVOIR INSTALLÉ un serveur REMBO Toolkit : génération 2.x (le plus récent possible dans la branche 2, > à 2.0.50 si possible) OU 4.x OU Tivoli Provisionning Manager For OS Deployment ET son toolkit associé (TPMfOSD-TKIT-Fix). Plus de détails sur TPMfOSD, et toute la procédure d’instalation ;
- un serveur web correct (donc un Apache...) ;
- le module PHP4 ou PHP5 ;
- un serveur MySQL (>=4.1) ;
- un serveur DHCP (ou au moins la possibilité d’y (faire) ajouter des entrées) ;
- un serveur DNS (ou au moins la possibilité d’y (faire) ajouter des entrées) ;
- pour la connexion (optionnelle) au serveur REMBO depuis l’interface Web, pratique pour déposer/ajouter/supprimer/éditer les fichiers textes du serveur Rembo depuis n’importe où, quelques conditions sont nécessaires :

  • le langage expect doit être disponible sur le serveur Web, sous /usr/bin/expect ;
  • le programme netclnt, issu de la distribution de Rembo Toolkit ou TPMfOSD, doit être disponible sur le serveur Web, son chemin d’accès peut se modifier dans le fichier ExpectDefs.php. Notez que si vous avez un serveur Rembo Windows et un serveur Web Linux, il vous faudra le binaire netclnt pour Linux alors que vous l’avez pour Windows... Un collègue pourra peut-être vous arranger...
    - un lien réseau correct entre le serveur REMBO et les PC cibles ;
    - une carte réseau PXE sur tous les PC cibles.

MySQL

Vous devez créer :
- un base de nom jeddlaj ;
- un utilisateur de nom rembo qui a les privilèges SELECT, INSERT, UPDATE et DELETE sur la base jeddlaj ;
- un utilisateur de nom rembo_consult qui a le privilège SELECT sur la base jeddlaj.

JeDDLaJ

  • Rapatriez l’archive V1.6IBE+ ; Décompressez-là où bon vous semble sur un espace accessible depuis votre serveur WEB ;
  • Dans l’archive, dans le répertoire DB_DUMPS, se trouve un fichier jeddlaj.sql. Importez-le dans la base MySQL jeddlaj que vous avez créée (par exemple avec phpmyadmin) ;
  • Copiez le fichier jeddlaj.shtml.dir du répertoire rembo en jeddlaj.shtml.dir. Éditez ce dernier et renseignez la variable suivante :
    • RemboJeDDLaJScriptsDir : le chemin (en url Rembo i.e. cache ://global/...) de votre répertoire de scripts JeDDLaJ sur le serveur Rembo ;
  • Copiez le fichier preferences.rbc.dist du répertoire rembo en preferences.rbc. Éditez ce dernier et renseignez les variables suivantes :
    • MySQLDB : syntaxe à choisir (les deux sont indiquées dans le fichier fourni) selon que vous utilisez un pont ODBC (Windows) ou JDBC (Linux) ;
    • MySQLUser et MySQLPassword : identifiants de l’utilisateur MySQL rembo ;
    • si vous le souhaitez, changez les défauts des variables de configuration désignant les répertoires de stockage des divers objets JeDDLaJ (images de base, packages, postinstall scripts) : les valeurs doivent commencer par cache ://global/. ET pensez à CREER EFFECTIVEMENT tous ces répertoires sur le serveur Rembo...
    • La variable SlavesOnlyRead doit être positionnée à
      • false SI VOUS N’UTILISEZ QU’UN SEUL SERVEUR REMBO ou si vous avez plusieurs serveurs ET que les opérations d’écriture depuis les clients peuvent se faire sur tous les serveurs [1] ;
      • true si vous avez plusieurs serveurs ET que les opérations d’écriture depuis les clients ne doivent se faire que sur le serveur maître ;
    • SEULEMENT si vous avez plusieurs serveurs REMBO, renseignez sur chaque serveur REMBO :
      • la variable RemboServerNamePath avec le nom du fichier où sera stocké sur le serveur le nom du serveur Rembo lui-même ;
      • la variable RemboMasterServer avec le nom du serveur maître ;
    • Si vous avez plusieurs serveurs REMBO et que vous êtes en SlavesOnlyRead=true, créez sur chaque serveur REMBO le fichier RemboServerNamePath contenant le nom du serveur ;
    • compatibilite_rembo (tous les détails...) ;
      • true (valeur par défaut... et pour l’instant conseillée) si vous souhaitez générer des signatures matérielles de type REMBO (ces signatures sont liées à l’ordre de détection des composants sur le bus PCI et peuvent donc mener à des signatures différentes pour des architectures identiques) ;
      • false si vous souhaitez utiliser des signatures indépendantes de l’ordre de détection calculées par JeDDLaJ (nouveauté 1.6 IBE+) ;
    • linux_detection : pour faire la détection avec la mini-distribution linux. Utile SEULEMENT si vous avez un serveur Rembo 2, les versions ultérieures ayant une détection suffisamment performante. Tous les détails... ;
    • netclnt_password, HardwareDetectionDir, RemboJeDDLaJDetectionDir, RemboJeDDLaJDetectionDistDir : utiles seulement si linux_detection vaut true. Il s’agit de votre password netclnt pour l’accès au serveur rembo et de répertoires utiles lors de la détection Linux (Tous les détails...) ;
    • RealDeinstallation nouveauté 1.6 IBE+ (tous les détails...) ;
      • true (valeur par défaut) : lors de la désinstallation d’un logiciel, on retire effectivement les fichiers constituant du logiciel, en fonction de ce qui était listé dans l’incrémental qui a servi a créer le package, et en évitant les suppressions de fichiers qui appartiendraient à d’autres logiciels installés sur la machine ;
      • false : désinstallation "d’avant la 1.6IBE+" par resynchronisation rembo, qui peut mener, selon la version de rembo à une réinstallation de la machine (moins le logiciel à désinstaller) : évidemment moins performant...
    • UseDHCPInfo Tous les détails... ;
      • true (valeur par défaut) : utilise la fonction rembo RequestDHCPInfo. Parfait dans l’esprit, cette fonction fait exactement ce qu’on veut sur la paier... MAIS elle ne fonctionne pas sous TPMfOSD (pour l’instant) méthode JeDDLaJ pour régler ce problème ;
      • false : n’utilise pas ladite fonction rembo RequestDHCPInfo. Nécessite la mise en oeuvre du petit script reversor.pl fourni avec l’archive. tous les détails ;
    • EmailAdmin : le mail administrateur, auquel seront envoyés les mails d’erreur ;
    • EmailFrom : vous choisissez l’adresse d’expéditeur des mails d’erreur ;
    • ShutdownDelay : nouveauté 1.6 IBE+ free software for a grren planet. Temps, en centièmes de secondes, au bout duquel un PC géré par JeDDLaJ en attente du multiboot, s’éteint automatiquement. Par défaut 60000 (10 minutes).
  • Créez, sur le serveur REMBO, le répertoire correspondant à la variable RemboJeDDLaJScriptsDir dans jeddlaj.shtml (cache ://global/scripts/jeddlaj par défaut). Copiez ensuite les fichiers *.rbx du répertoire rembo dans ce répertoire, ainsi que les répertoires jjoin et minilinux et enfin le fichier preferences.rbc. Assurez-vous également, si vous avez changé d’autres variables de chemin dans preferences.rbc que les répertoires indiqués existent bien sur le serveur REMBO, sinon créez-les ;
  • si vous envisagez de déployer au sein de domaines Windows, copiez le fichier rembo/DOMAIN_settings.rbc sous le nom <VOTRE_NOM_DE_DOMAINE>_settings.rbc (créez un fichier par domaine concerné par le déploiement ; ATTENTION : le nom de domaine dans le nom de fichier DOIT respecter la casse du nom de domaine tel que vous le le ferez apparaître dans la base). Éditez-le en renseignant les variables ADMINDOMAINE et ADMINPASSWD (compte d’un utilisateur ayant les droits d’inscription des machines dans le domaine). Compilez-le avec rbcc et copiez le .rbx produit dans RemboJeDDLaJScriptsDir. Plus d’explications sur la gestion des domaines) ;
  • Copiez les fichiers *.pcx du répertoire LOGOS dans le répertoire correspondant à la variable RemboImagesDir dans preferences.rbc (cache ://global/images par défaut) du serveur REMBO ;
  • Copiez les fichiers DBParDefaut.php.dist et DBParDefaut.consult.php.dist en DBParDefaut.php et DBParDefaut.consult.php. Éditez ces derniers pour indiquer les mots de passe respectifs des utilisateurs MySQL rembo et rembo_consult. ATTENTION : Si vos mots de passe comportent des caractères interprétables par PHP au sein des doubles quotes (en particulier le "$"), n’oubliez pas de les échapper avec un antislash...
  • Copiez le fichier jeddlaj.shtml sur le serveur REMBO à l’endroit de votre choix, par exemple dans RemboJeDDLaJScriptsDir ;
  • Sur le serveur REMBO, indiquez que la startpage associée au groupe Default est jeddlaj.shtml (sous Rembo 4.x et supérieurs, pas de groupe Default, il suffit de renseigner la variable DefaultStartPage avec jeddlaj.shtml). Précisez le chemin complet de l’endroit où vous avez choisi de le poser, par exemple net ://global/scripts/jeddlaj/jeddlaj.shtml ;
  • Si vous souhaitez protéger votre espace WEB JeDDLaJ afin que seuls les gestionnaires du parc y aient accès, un fichier .htaccess (si serveur Apache) s’impose...
  • Vous pouvez installer un répertoire sur votre espace WEB pour permettre la consultation fine de la base JeDDLaJ aux utilisateurs de votre structure, sans qu’ils puissent rien modifier, évidemment. Pour cela, éditez le shell script cree_repertoire_consult.sh et renseignez les variables SRC (le chemin absolu de votre espace JeDDLaJ sur le disque du serveur WEB) et DST (le chemin absolu de votre espace JeDDLaJ de consultation sur le disque du serveur WEB). Enfin lancez ce script sur votre serveur WEB. Il va créér le répertoire DST avec un index.html simplifié par rapport à celui de JeDDLaJ : seuls les liens de consultation/examen seront présentés. Il va également copier tous les fichiers nécéssaires au fonctionnement de ce mode consultation dans le répertoire DST ;
  • Enfin, si vous avez pu installer le langage expect sur votre serveur web, avec le binaire expect dans /usr/bin, copiez le fichier ExpectDefs.php.dist en ExpectDefs.php et éditez ce dernier afin de renseigner l’adresse IP du serveur REMBO (en environnement multi-serveur, utilisez l’adresse du master), le mot de passe de l’administrateur REMBO et le chemin du programme netclnt sur le serveur Web.

Et voilà. Vous êtes prêts à installer (d’abord à faire détecter) votre première machine


[1dans le cas de plusieurs serveurs le choix d’écriture sur les esclaves est fonction du mode de synchronisation mis en place entre les serveurs Rembo


Brèves

12 février 2009 - JeDDLaJ passe sur SourceSup à partir de la version 1.6IBE+

La communauté JeDDLaJ manquait jusqu’alors cruellement de certains services et moyens de (...)

12 février 2009 - 11/2/2009 : La version 1.6 IBE+ est disponible !!!

Ça y est. Après tant de mois (18 à peu près...) de gestation, d’hésitations, de :wq et autres (...)

12 février 2009 - JeDDLaJ gagne le concours DEVA => nouvelles fonctionnalités pour vous !!!

JOIE !!! BONHEUR !!! FIERTÉ !!!
JeDDLaJ remporte le concours DEVA (DEVeloppements (...)

9 juillet 2007 - Précision importante sur la compatibilité MySQL 5 de JeDDLaJ 1.4IBE

Dans le cas d’un serveur Rembo sous Windows, 2 moyens pour pouvoir utiliser MySQL 5 :
soit (le (...)

9 juillet 2007 - Déjà le SP1 pour JeDDLaJ 1.4IBE : désormais TPMfOSd-ready !!!

Description
Ce service pack n’apporte principalement qu’une amélioration... mais de taille... (...)