Guide d’installation Kobee

Objectif

Ce document décrit comment installer tous les composants d’Kobee.

Kobee comprend 4 composants principaux:

  • l’Application Web

  • le Serveur

  • l’Agent

  • l’Interface de Ligne de Commande

ikanalm architecture fr

Le Serveur et l'Application Web Kobee ont besoin d’être installés sur la même machine. L’Agent et l’Interface de Ligne de Commande peuvent être installés sur des machines distantes. Pour avoir une installation correcte, vous devez installer le Serveur avec l'Application Web et au moins 1 Agent Kobee.

L'Application Web Kobee est une interface pour la gestion d’Kobee qui doit être déployé dans un serveur Apache Tomcat.

Le Serveur Kobee contient 2 composants différents:

  • Serveur démon

  • Serveur environnement

Le Serveur démon Kobee lui-même comprend 2 sous-composants: un Planificateur et un Moniteur.

Le Planificateur Kobee est responsable de l’observation du RCV (Référentiel de Contrôle de Version) et de la création d’une Requête de construction si des changements (des Sources modifiées) sont détectés dans le RCV.

Le Moniteur Kobee gère les différentes actions de construction et de déploiement qui sont exécutées par le(s) Agent(s) Kobee.

Le Serveur et l’Agent Kobee fonctionnent comme des bundles OSGi dans des conteneurs Apache Karaf, profitant ainsi des avantages d’une architecture modulaire. Le Serveur démon Kobee sera installé dans l’environnement du Serveur Kobee, et pourra être lancé par des scripts, ou être démarré comme service Windows ou comme une démon Unix/Linux.

L’environnement du Serveur Kobee contient les fichiers et les répertoires importants suivants:

  • Emplacement Archives de construction: l’emplacement où les résultats de construction seront sauvegardés,

  • Emplacement des Copies de travail: l’emplacement où les sources récupérées du Référentiel seront sauvegardées avant d’être transportées vers les Agents,

  • Emplacement du Catalogue des Phases: l’emplacement où les Phases importées seront sauvegardées pour qu’elles soient prêtes à être récupérées par les Agents distants au moment voulu,

  • Emplacement des scripts: l’emplacement utilisé pour sauvegarder les scripts de construction et de déploiement centralisés,

  • Configuration avec un Système de sécurité externe d’authentification and d’autorisation. Pour plus d’informations se référer à l’Appendice Configuration JAAS,

  • Documentation en format PDF.

L'Agent Kobee doit être installé sur une Machine qui doit exécuter des Constructions et des Déploiements Kobee.

L'Interface de Ligne de Commande Kobee peut être installée séparément et peut être utilisée comme alternative à l’Interface Web pour la création de Requêtes de niveau, de Rapports et la gestion de Paquets en utilisant une Ligne de Commande Windows ou un Shell Linux/Unix.

Exemple de configuration 1: Une seule machine, tout est installé localement:

  • Machine 1: Tomcat avec Application Web, Serveur, Agent, Ligne de Commande

Exemple de configuration 2: Plusieurs machines, un Agent distant et la Ligne de Commande:

  • Machine 1: Tomcat avec Application Web, Serveur, Agent

  • Machine 2: Agent, Ligne de Commande

Prérequis

La section suivante offre un aperçu des prérequis pour l’installation d’Kobee.

Les exigences techniques détaillées sont disponibles sur Fiche Technique Kobee.

Les exigences techniques

Composant Mémoire Disque

Application Web

Minimum 512MB, recommandé 1GB ou plus

Minimum 1GB, recommandé 5GB

Serveur

Minimum: 512 Mo, recommandé: 2 Go ou plus

Minimum: 10 Go, recommandé: 40 Go

Agent

Minimum: 512 Mo, recommandé: 1 Go ou plus

Minimum: 1 Go

Interface de Ligne de Commande

Minimum: 256 Mo, recommandé: 256 Mo

Minimum: 100 Mo

Il n’existe pas de règle absolue sur l’espace de stockage disque requis. L’espace de stockage nécessaire dépendra du nombre et de la taille des projets gérés dans Kobee et de la taille des résultats de construction sauvegardés dans les Archives de construction. Plus il y a de projets et plus les constructions sont larges, plus de l’espace de stockage sera nécessaire sur le disque.

La quantité de RAM et d’espace disque nécessaire à une machine qui exécute un Agent Kobee, dépend en grande partie de la quantité de ressources nécessaires aux scripts de construction et de déploiement et aux phases personnalisées utilisées par les projets qui y sont construits et déployés.

Java 11

Tous les composants Kobee nécessitent une version complète de Java 11. Kobee a été testé pour fonctionner avec Oracle Java, Adoptium Eclipse Temurin (dit AdoptOpenJDK), Constructions Azul Zulu de OpenJDK et OpenJDK sur plusieurs distributions Linux.

Tomcat 9

L’Application Web Kobee requiert un conteneur Web conforme à Java 11, supportant les spécifications Servlet 4.0 et les spécifications JSP 2.3. Les versions antérieures de Tomcat ne sont pas supportées.

Kobee a été testé avec Apache Tomcat 9.0.33 et les versions ultérieures. Kobee a été validé pour fonctionner avec Tomcat sous différents systèmes d’exploitation, y compris les versions récentes de Windows et Linux, Sun Solaris, HP Unix, zLinux, …​ Si un Java Runtime approprié est disponible (Java 11), Kobee peut également fonctionner sous d’autres systèmes d’exploitation.

Spécifier le support Unicode dans Tomcat

Si vous utilisez des symboles Unicode dans Kobee (par example, pour des projets dont le nom contient des caractères spéciaux), un paramètre supplémentaire doit être spécifié dans le fichier de configuration server.xml de Tomcat.

Modifiez le fichier TOMCAT_HOME/conf/server.xml en ajoutant l’attribut URIEncoding="UTF-8" dans le connecteur http, comme suit:

<Connector port="8080" protocol="HTTP/1.1"
URIEncoding="UTF-8" connectionTimeout="200000"
redirectPort="8443" />

Pour plus d’information sur les anomalies d’encodage des caractères dans Tomcat, consultez: https://cwiki.apache.org/confluence/display/TOMCAT/Character+Encoding

Options Java pour Tomcat

Il est recommandé de spécifier les paramètres suivants pour l’exécution d’Kobee utilisant Java 11 dans Tomcat:

  • initial Java heap size (-Xms) : 512m

  • max Java heap size (-Xmx) : 1024m

  • max Metaspace size (-XX:MaxMetaspaceSize) : 256m

Si vous lancez Tomcat à partir de scripts de démarrage, vous devez créer le fichier TOMCAT_HOME/bin/setenv.bat (Windows) ou TOMCAT_HOME/bin/setenv.sh (Linux/Unix) avec le contenu suivant:

Pour Windows:

SET JAVA_HOME=<JAVA_HOME>
SET JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m -Djava.security.auth.login.config=KOBEE_HOME/system/security/jaas.config

Pour Linux/Unix:

JAVA_HOME=<JAVA_HOME>
JAVA_OPTS="-Xms512m -Xmx1024m -XX:MaxMetaspaceSize=256m -Djava.security.auth.login.config=KOBEE_HOME/system/security/jaas.config"

Si vous utilisez Tomcat comme service Windows, vous devez spécifier les paramètres de mémoire dans le fichier TOMCAT_HOME/bin/service.bat:

SET JAVA_HOME=<JAVA_HOME>
SET JvmMs=512
SET JvmMx=1024
SET JvmArgs=-XX:MaxMetaspaceSize=256m;-Djava.security.auth.login.config=KOBEE_HOME/system/security/jaas.config

Après avoir fait ces modifications, vous devez ré-installer le service en exécutant "service.bat remove", suivi de "service.bat install". Vous devez disposer de droits d’accès d’Administrateur pour exécuter ces commandes.

Base de données

Kobee supporte les types de bases de données MySQL, MsSQL, Oracle, PostgreSQL et DB2 comme base de données interne. Pour des raisons de permformance, il est fortement recommandé que la latence du réseau entre le Serveur Kobee et sa Base de données soit la plus petite possible. Pour éviter les problèmes de dates et d’heures, il est recommandé que le Serveur Kobee et sa Base de données aient le même fuseau horaire.

Lors de l’installation, il est possible d’initialiser la Base de données existante avec des données par défaut. Prenez garde si vous sélectionnez l’option d’initialiser la Base de données, car les données existantes seront écrasées. Avant d’initialiser la base de données, assurez-vous que la Base de données/le schéma existe.

Pour MySQL il est recommandé d’utiliser UTF8 comme ensemble de caractères pour la Base de données. Voici un exemple de commande pour créer une Base de données MySQL:

CREATE DATABASE alm CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Pour plus d’informations concernant la configuration UTF8 appropriée pour votre système, se référer à la documentation de la Base de données utilisée.

Lors de l’utilisation d’une Base de données DB2 pour Kobee, une configuration supplémentaire est nécessaire. Pour plus d’information, consultez la partie Configuration DB2.

Installer Kobee

Cette section décrit les différentes étapes de l’installation d’Kobee.

Configurer l’Installeur

Les scripts d’installation d’Kobee sont délivrés par le fichier Kobee_6.0_console_win.zip ou Kobee_6.0_console_linux.tar.gz. Expensez ce fichier quelque part sur la machine cible. Le répertoire expansé contenant les fichiers d’installation (scripts ANT) sera noté INSTALL_DIR.

L’Installeur inclus installera les composants Kobee dans des répertoires de destination spécifiques.

Ouvrez le fichier INSTALL_DIR/install.properties qui sera utilisé par les scripts d’installation en configurant les différentes propriétés.

Ne pas utiliser les barres obliques arrière ('\') dans les propriétés de chemins, sinon l’installation pourra échouer. Remplacez les par les barres obliques avant ('/')!

Paramètres généraux

# General Settings : Specify which components of Kobee to install
# ---------------------------------------------------------------------------
# Flag to specify whether to install Kobee Server or not: install : true
# no install : false
alm.server.install=true
# Flag to specify whether to install the Kobee Agent or not : install : true
# no install : false
alm.agent.install=true
# Flag to specify whether to install the Kobee Commandline or not : install : true
# no install : false
alm.commandline.install=true
# Flag to specify whether the communication between the Kobee components must
# be secured.  Note that if one Kobee component is installed secured, all components
# must be installed secured.
alm.xmlrpc.secure=true

Dans les Paramètres généraux, vous spécifiez quels composants d’Kobee vous voulez installer.

Mettre alm.server.install à "true" pour installer le Serveur Kobee et déployer l’Application Web Kobee sur Tomcat.
Mettre alm.agent.install à "true" pour installer l’Agent Kobee.
Mettre alm.commandline.install à "true" pour installer l’Interface de Ligne de Commande Kobee.

Si alm.xmlrpc.secure est mis à "true", alors toute communication entre les composants Kobee est cryptée. La conséquence est que, si des composants Kobee supplémentaires comme un Agent ou l’Interface de Ligne de Commande sont installés sur des machines distantes, ils devrons aussi avoir alm.xmlrpc.secure à "true" durant leur installation ou bien la communication entre eux échouera. Nous recommandons fortement de mettre alm.xmlrpc.secure à "true" pour des raisons de sécurité.

Pour plus d’information, consulter Configuration manuelle de la Communication sécurisée.

Paramètres du Serveur et de l’Application Web Kobee

Quand vous installez le Serveur et l’Application Web, vous renseignez les propriétés décrites dans les sections qui suivent:

Paramètres globaux et l’implémentation du Serveur
# Destination folder of the Kobee Server files :
alm.server.installLocation=C:/alm

# Java Runtime to run the Kobee Server with :
alm.server.javaHome=d:/java/jdk1.6.0_45

# Kobee Server Runtime parameters :
# serverPort : port Kobee Server is listening on (default=20021)
alm.server.serverPort=20021
# agentPort : port Agent should be listening on (default=20020)
alm.server.agentPort=20020
# Karaf ports, no need to change unless you have port conflicts
alm.server.karaf.rmiRegistryPort=1100
alm.server.karaf.rmiServerPort=44445
alm.server.karaf.sshPort=8102
Propriété Description

alm.server.installLocation

L’emplacement où Kobee devra être installé. Plus loin dans ce document, cet emplacement sera référencé KOBEE_HOME.

alm.server.javaHome

Le chemin réel d’installation du Java qui sera utilisé pour lancer le Serveur Kobee. Exemples valides: "D:/java/openjdk-11.0.8_10_hotspot" ou "/usr/lib/jvm/java-11-openjdk".

alm.server.serverPort

Le numéro de port que le Serveur Kobee écoute pour communiquer avec l’Agent Kobee. Noter que vous devrez utiliser le même numéro de port pour les installations d’Agent Kobee ultérieures, sinon la communication Agent-Serveur échouera. Le défaut est "20021".

Si vous changez cette valeur, vous changerez aussi celle de la propriété du Server Port de la Machine représentant le Serveur dans l’Interface Utilisateur Web d’Kobee.

alm.server.agentPort

Le numéro de port que l’Agent Kobee écoute pour communiquer avec le Serveur Kobee. Vous devrez utiliser ce numéro de port quand vous installez l’Agent Kobee sur la machine du Serveur Kobee (Agent local). Le défaut est "20020".

alm.server.karaf.rmiRegistryPort
alm.server.karaf.rmiServerPort
alm.server.karaf.sshPort

Les numéros de port spécifiques au container Apache Karaf hébergeant le démon du Serveur Kobee. Normalement, il n’y a pas besoin de changes ces numéros de port, sauf, si vous avez des conflits avec ces ports.

Configuration de la Base de données
# Database configuration :
# type : accepted values are MYSQL,MSSQL,ORACLE,DB2,POSTGRESQL
alm.server.rdbms.type=MYSQL
alm.server.rdbms.server=localhost
alm.server.rdbms.port=3306
alm.server.rdbms.user=root
alm.server.rdbms.pwd=alm
# dbname : database name or Oracle SID or Service name
alm.server.rdbms.dbname=alm
# dbschema : database schema (for DB2 and POSTGRESQL)
alm.server.rdbms.dbschema=kobee
# Flag to indicate whether to initialize the Kobee database
# WARNING : when set to "true", all Kobee related tables in the target
# database will be dropped and populated with initial data !!
alm.server.rdbms.initALMDatabase=false
Propriété Description

alm.server.rdbms.type

Le type de Base de données qui hébergera la Base de données Kobee .

Les valeurs possibles sont:

  • MYSQL (défaut)

  • MSSQL

  • ORACLE

  • DB2

  • POSTGRESQL

alm.server.rdbms.server

Le nom de la machine du serveur de Base de données

alm.server.rdbms.port

Le port sur lequel le serveur de Base de données écoute.

alm.server.rdbms.user

Nom de l’utilisateur qui peut se connecter à la Base de données et a les droits d’accès en écriture sur elle.

alm.server.rdbms.pwd

Mot de passe de l’utilisateur de la Base de données

alm.server.rdbms.dbname

Le nom de la Base de données Kobee. Pour Oracle, c’est le SID de la Base de données ou le nom du Service.

alm.server.rdbms.dbschema

Le nom du schéma de la Base de données. Requis avec les Bases de données de type DB2 ou POSTGRESQL, optionel pour les autres types de Base de données.

alm.server.rdbms.initALMDatabase

Mettre à "true" pour initialiser la Base de données Kobee pendant le processus d’installation. Le défaut est "false".

ATTENTION: Quand il est mis à "true", toutes les tables Kobee dans la Base de données cible seront supprimées (drop) et re-remplies avec les données initiales!

Configuration Apache Tomcat
# Apache Tomcat Configuration :
# set alm.server.tomcat to true if you want to deploy Kobee under tomcat
alm.server.tomcat=true
# catalina.base folder of the tomcat instance
alm.server.tomcat.home=C:/Program Files/Apache Software Foundation/Tomcat 7.0
alm.server.tomcat.port=8080
# catalina.home folder of tomcat. If left empty, Kobee will assume catalina.home=catalina.base
alm.server.tomcat.catalina.home=
Propriété Description

alm.server.tomcat

Mettre à "true" si vous voulez déployer l’Application Web Kobee sur Tomcat. Le défaut est "true".

alm.server.tomcat.home

Mettre l’emplacement de base de l’installation Tomcat qui hébergera l’Application Web Kobee.

alm.server.tomcat.port

Le port du Connecteur HTTP de Tomcat. Le défaut est "8080".

alm.server.tomcat.catalina.home

L’emplacement du CATALINA_HOME de l’instance Tomcat. Si cette valeur est laissée vide, laquelle l’est par défaut, Kobee assume que CATALINA_HOME=CATALINA_BASE. Vous devrez renseigner cette propriété si vous installez Tomcat sur Linux en utilisant un gestionnaire de paquets (comme apt), ou si vous avez configuré votre Tomcat pour fonctionner avec plusieurs instances. Consulter https://tomcat.apache.org/tomcat-9.0-doc/RUNNING.txt pour plus d’information.

Paramètres de l’Agent Kobee

Pour installer un Agent Kobee, remplissez les propriétés suivantes:

# ---------------------------------------------------------------------------
# Kobee Agent Settings, when alm.agent.install=true :
# ---------------------------------------------------------------------------
# Destination folder of the Kobee Agent files :
# Recommended : use the Kobee Server installLocation
alm.agent.installLocation=C:/alm

# Java Runtime to run the Kobee Agent with (may be JRE or JDK):
alm.agent.javaHome=d:/java/jdk1.6.0_45

# Kobee Agent Runtime parameters :
# agentPort : port Agent should be listening on (default=20020)
# serverPort : port Server is listening on (default=20021)
# serverHost : host Server is running on (default=localhost)
# hostname: optional, leave empty unless you want to override the system hostname
#  retrieved as InetAddress.getHostName(), e.g. to use a fully qualified domain name like
#  almAgent.your.domain for communication with the Kobee server
# hostaddress: optional, leave empty unless you want to override the system hostaddress
#  retrieved as InetAddress.getHostAddress(), e.g. to use a IP Address which differs from
#  the internal IP Address for communication with the Kobee server
alm.agent.agentPort=20020
alm.agent.serverHost=localhost
alm.agent.serverPort=20021
alm.agent.hostname=
alm.agent.hostaddress=
# Karaf ports, no need to change unless you have port conflicts
alm.agent.karaf.rmiRegistryPort=1099
alm.agent.karaf.rmiServerPort=44444
alm.agent.karaf.sshPort=8101
# relative path to the Karaf log of the Kobee Agent
alm.agent.logfilepath=log/alm_agent.log
Propriété Description

alm.agent.installLocation

L’emplacement où l’Agent Kobee devra être installé. Quand vous installez un Agent et un Serveur Kobee ensembles, remplissez cette valeur avec celle de la propriété alm.server.installLocation. (Voir Paramètres globaux et l’implémentation du Serveur).

Plus loin dans ce document, cet emplacement sera référencé KOBEE_HOME.

alm.agent.javaHome

Le chemin réel d’installation du Java qui sera utilisé pour lancer l’Agent Kobee. Exemples valides: "D:/java/openjdk-11.0.8_10_hotspot" ou "/usr/lib/jvm/java-11-openjdk".

alm.agent.agentPort

Le numéro de port que l’Agent Kobee écoute pour communiquer avec le Serveur Kobee. . Le défaut est "20020".

Si vous changez cette valeur, vous changerez aussi celle de la propriété du Agent Port de la Machine représentant l’Agent dans l’Interface Utilisateur Web d’Kobee.

alm.agent.serverHost

Le nom (ou l’adresse IP) de la machine du Serveur Kobee. L’Agent Kobee essaiera de se connecter au Serveur Kobee avec ce nom (ou l’adresse IP) et en utilisant le protocole HTTP ou HTTPS. Le défaut est "localhost".

alm.agent.serverPort

Le numéro de port que le Serveur Kobee écoute pour communiquer avec l’Agent Kobee. L’Agent Kobee essaiera de se connecter au Serveur Kobee avec ce numéro de port. Le défaut est "20021".

alm.agent.hostname

Cette propriété est optionnelle. Indiquer ce nom si vous voulez remplacer la détection automatique du nom de la machine de l’Agent Kobee. Il est important que le nom entré ici corresponde à la valeur du champ DHCP Name de la machine mise dans l’Interface Utilisateur Web d’Kobee. Si les valeurs ne correspondent pas, l’Agent Kobee ne pourra pas recevoir les travaux (Constructions ou Déploiements) du Serveur Kobee.

alm.agent.hostaddress

Cette propriété est optionnelle. Indiquer cette adresse si vous voulez remplacer la détection automatique de l’adresse IP de la machine de l’Agent Kobee. Il est important que l’adresse IP entrée ici corresponde à la valeur du champ IP Address de la machine mise dans l’Interface Utilisateur Web d’Kobee. Si les valeurs ne correspondent pas, l’Agent Kobee ne pourra pas recevoir les travaux (Constructions ou Déploiements) du Serveur Kobee.

alm.agent.karaf.rmiRegistryPort
alm.agent.karaf.rmiServerPort
alm.agent.karaf.sshPort

Les numéros de port spécifiques au container Apache Karaf hébergeant le démon de l’Agent Kobee. Normalement, il n’y a pas besoin de changes ces numéros de port, sauf, si vous avez des conflits avec ces ports.

alm.agent.logfilepath

Chemin relatif du fichier de trace Karaf de l’Agent Kobee. Ce paramètre est utilisé par le Serveur Kobee pour afficher la Trace de la Machine de l’Agent dans l’écran Statut détaillé de la Machine dans l’Interface Utilisateur Web d’Kobee. Le défaut est "log/alm_agent.log".

Paramètres de l’Interface de Ligne de Commande Kobee

Pour installer l’Interface de Ligne de Commande Kobee, remplissez les propriétés suivantes:

# ---------------------------------------------------------------------------
# Kobee Commandline Settings, when alm.commandline.install=true :
# ---------------------------------------------------------------------------
# Destination folder of the Kobee Commandline files :
alm.commandline.installLocation=C:/alm/commandline

# Java Runtime to run the Kobee Commandline with (may be JRE or JDK):
alm.commandline.javaHome=d:/java/jdk1.6.0_45
Propriété Description

alm.commandline.installLocation

L’emplacement où l’Interface de Ligne de Commande Kobee devra être installée. Quand vous installez l’Interface de Ligne de Commande avec un Serveur Kobee ou un Agent Kobee ensembles, NE remplissez PAS cette valeur avec celle de la propriété alm.server.installLocation ou alm.agent.installLocation, mais choississez un sous-répertoire de KOBEE_HOME (comme KOBEE_HOME/commandline) ou un chemin en dehors de la structure des répertoires KOBEE_HOME.

alm.commandline.javaHome

Le chemin réel d’installation du Java qui sera utilisé pour lancer l’Interface de Ligne de Commande Kobee. Exemples valides: "D:/java/openjdk-11.0.8_10_hotspot" ou "/usr/lib/jvm/java-11-openjdk".

Exécuter l’Installeur

Par défaut, l’Installeur utilise l’exécutable Java qui est disponible dans le PATH du Système de la machine. Si aucun exécutable Java est présent, ou la version de celui-ci est insuffisante (inférieure à 11), alors vous devez fournir la variable d’environnement JAVA_HOME dans le script d’installation.

Sur Windows, ouvrez INSTALL_DIR\install.cmd et complétez la ligne

SET JAVA_HOME=

avec quelque chose comme :

SET JAVA_HOME=D:\java\openjdk-11.0.8_10_hotspot

Sur Linux ou Unix, ouvrez INSTALL_DIR\install.sh et complétez la ligne

JAVA_HOME=

avec quelque chose comme :

JAVA_HOME=/usr/lib/jvm/java-11-openjdk

Lancez l’Installeur en exécutant le script install.cmd ou install.sh.

Il est recommandé de lancer l’Installeur depuis une Invite de commandes, Powershell ou Linux shell pour voir la progression et le résultat de l’installation. Sur Windows, si l’Installeur est lancé par un Administrateur, les services Windows pour démarrer et arrêter le Serveur et l’Agent sont automatiquement créés. Sinon, vous devrez enregistrer les services Windows manuellement après cette installation. Voir Installer et Retirer manuellement le Serveur et l’Agent Kobee comme un service Windows pour les détails. Sur Linux/Unix, les services/démons à démarrer et à arrêter doivent être enregistrés après l’installation. Voir Installer et Retirer manuellement le Serveur et l’Agent comme processus démons sur les systèmes Linux/Unix

L’utilisateur exécutant l’Installeur doit avoir les droits d’accès aux emplacements d’installation du Serveur, de l’Agent et de l’Interface de Ligne de Commande et ,aussi, aux répertoires et sous-répertoires de l’installation de Tomcat.

installer finished

Quand l’installation réussit, le message BUILD SUCCESSFUL apparaît.

NE PAS supprimer le répertoire INSTALL_DIR après l’installation, car, vous en aurez besoin pour désinstaller ou mettre à niveau Kobee dans le futur.

S’il s’agissait d’une nouvelle installation du Serveur Kobee (non pas une ré-installation ou une mise à niveau d’une ancienne version) et que la propriété alm.server.rdbms.initALMDatabase avait été mise à "false", alors, vous devez initialiser la Base de données Kobee avant de démarrer le Serveur ou l’Application Web Kobee.

Initialiser la Base de données Kobee

La Base de données Kobee doit être initialisée avant d’utiliser le Serveur ou l’Application Web Kobee. L’initialisation peut être réalisée pendant l’installation quand la propriété alm.server.rdbms.initALMDatabase a été mise à "true" ou elle peut être réalisée, manuellement, après la fin de l’exécution de l’installation avec le script INSTALL_DIR/initializeKobeeDatabase.cmd (Windows) ou INSTALL_DIR/initializeKobeeDatabase.sh (Linux/Unix).

Les scripts d’initialisation supprimeront et recréeront les tables nécessaires de la Base de données Kobee et les remplieront des données initiales. Ils ne suppriment pas et ne créent pas la Base de données ou le schéma, mais, ces éléments doivent être présents pour réaliser l’initialisation. Les scripts utiliseront les paramètres de connexion de la Base de données définis dans le fichier INSTALL_DIR/install.properties.

Par défaut, les scripts d’initialisation utilisent l’exécutable Java qui est disponible dans le PATH du Système de la machine. Si aucun exécutable Java est présent, ou la version de celui-ci est insuffisante (inférieure à 11), alors vous devez fournir la variable d’environnement JAVA_HOME dans le script d’installation. Dans ce cas, ouvrez le fichier INSTALL_DIR/initializeKobeeDatabase.cmd (Windows) ou INSTALL_DIR/initializeKobeeDatabase.sh (Linux/Unix) et suivez les instructions de [Exécuter l`Installeur] pour compléter la variable JAVA_HOME.

Il est recommandé de lancer les scripts d’initialisation depuis une Invite de commandes, Powershell ou Linux shell pour voir la progression et le résultat de l’initialisation. Il n’est pas nécessaire d’être un Administrateur pour exécuter ces scripts.

Lancer l’initialisation de la Base de données Kobee en exécutant le fichier INSTALL_DIR/initializeKobeeDatabase.cmd ou INSTALL_DIR/initializeKobeeDatabase.sh.

dbinit finished

Démarrer Kobee

Cette section décrit les étapes nécessaires pour démarrer les différents composants Kobee.

Démarrer l’Application Web Kobee

Pour démarrer l’Application Web Kobee, vous devez démarrer le Serveur d’applications Apache Tomcat qui l’héberge.

Vous pouvez accéder à l’Interface de l’Application Web Kobee via l’URL http://<host>:<port>/alm.
Par exemple: http://alm_server:8080/alm.

S’il s’agit d’une première installation d’Kobee, la fenêtre de la Licence s’affiche.

no license

Saisissez une licence valide et cliquez sur le bouton Submit.

Ensuite, la fenêtre de connexion s’affichera.

license installed

Connectez-vous avec l’Utilisateur "global" et le Mot de passe "global". Pour plus d’informations concernant les autres utilisateurs par défaut, voir Configuration JAAS

Pour plus d’informations concernant l’Interface Utilisateur d’Kobee, se référer au Guide Utilisateur Kobee.

Démarrer le Serveur Kobee

Il est recommandé de lancer le Serveur Kobee comme un service Windows ou Linux et le configurer pour qu’il démarre automatiquement quand le système démarre. Voir Installer et Retirer manuellement le Serveur et l’Agent Kobee comme un service Windows et Installer et Retirer manuellement le Serveur et l’Agent comme processus démons sur les systèmes Linux/Unix pour connaître les instructions détaillées pour le faire.

Pour démarrer le service du Serveur Kobee sur Windows, ouvrez une Invite de commandes ou PowerShell et exécutez:

net start kobeesvr60

Pour démarrer le service du Serveur Kobee sur un système "V" compatible Linux , ouvrez un Shell et exécutez:

sudo service kobeeserver60 start

Pour démarrer le service du Serveur Kobee sur un système "D" compatible Linux , ouvrez un Shell et exécutez:

sudo systemctl start kobeeserver60

En cas d’incident de démarrage, il peut être utile de démarrer le Serveur Kobee en lançant le script de démarrage. Sur Windows, lancer le fichier de commandes KOBEE_HOME/daemons/server/startServer.cmd. Sur Linux, lancer le script shell KOBEE_HOME/daemons/server/startServer.sh.

Pour arrêter le Serveur Kobee, lancez KOBEE_HOME/daemons/server/stopServer.cmd ou KOBEE_HOME/daemons/server/startServer.sh.

Démarrer l’Agent Kobee

Il est recommandé de lancer l’Agent Kobee comme un service Windows ou Linux et le configurer pour qu’il démarre automatiquement quand le système démarre. Voir Installer et Retirer manuellement le Serveur et l’Agent Kobee comme un Service Windows et Installer et Retirer manuellement le Serveur et l’Agent comme processus démons sur les systèmes Linux/Unix pour connaître les instructions détaillées pour le faire.

Pour démarrer le service de l’Agent Kobee sur Windows, ouvrez une Invite de commandes ou PowerShell et exécutez:

net start kobeeserver60

Pour démarrer le service de l’Agent Kobee sur un système "V" compatible Linux , ouvrez un Shell et exécutez:

sudo service kobeeserver60 start

Pour démarrer le service de l’Agent Kobee sur un système "D" compatible Linux , ouvrez un Shell et exécutez:

sudo systemctl start kobeeserver60

En cas d’incident de démarrage, il peut être utile de démarrer l’Agent Kobee en lançant le script de démarrage. Sur Windows, lancer le fichier de commandes KOBEE_HOME/daemons/agent/startAgent.cmd. Sur Linux, lancer le script shell KOBEE_HOME/daemons/agent/startAgent.sh.

Pour arrêter l’Agent Kobee, lancez KOBEE_HOME/daemons/agent/stopAgent.cmd ou KOBEE_HOME/daemons/agent/stopAgent.sh.

Utiliser l’Interface de Ligne de Commande Kobee.

L’Interface de Ligne de Commande Kobee peut être utiliser pour créer des Requêtes de niveau, des Rapports ou créer et mettre à jour des Paquets.

  • Pour lancer l’Interface de Ligne de Commande Kobee sous Windows:

    Ouvrez une Invite de commandes, tapez un "cd" vers le répertoire d’installation de l’Interface de Ligne de Commande (exemple : KOBEE_HOME/commandline) et exécutez alm.cmd.

  • Pour lancer la Ligne de Commande Kobee sous Linux/Unix:

    Ouvrez un terminal, tapez un "cd" vers le répertoire d’installation de l’Interface de Ligne de Commande (exemple : KOBEE_HOME/commandline) et exécutez alm.sh. Pour des informations plus détaillées concernant l’Interface de Ligne de Commande Kobee, se référer à la section Interface de Ligne de Commande dans le Guide Utilisateur Kobee.

Désinstaller Kobee

Pour désinstaller Kobee, vous devez d’abord configurer le Désinstalleur situé dans INSTALL_DIR, puis, l’exécuter.

Configurer le Désinstalleur

Ouvrez le fichier INSTALL_DIR/uninstall.properties qui sera utilisé par les scripts de désinstallation en configurant les différentes propriétés.

Ne pas utiliser les barres obliques arrière ('\') dans les propriétés de chemins, sinon l’installation pourra échouer. Remplacez les par les barres obliques avant ('/')!

Paramètres généraux

# General Settings : Specify which components of Kobee to uninstall
# ---------------------------------------------------------------------------
# Flag to specify whether to uninstall the Kobee Server or not:  uninstall : true
# no uninstall : false
alm.server.uninstall=true
# Flag to specify whether to uninstall the Kobee Agent or not uninstall : true
# no uninstall : false
alm.agent.uninstall=true
# Flag to specify whether to uninstall the Kobee Commandline: or not uninstall : true
# no uninstall : false
alm.commandline.uninstall=true

Dans les Paramètres généraux, vous spécifiez quels composants d’Kobee vous voulez désinstaller.

Mettre alm.server.install à "true" pour désinstaller le Serveur Kobee et retirer l’Application Web Kobee sur Tomcat.
Mettre alm.agent.install à "true" pour désinstaller l’Agent Kobee.
Mettre alm.commandline.install à "true" pour désinstaller l’Interface de Ligne de Commande Kobee.

Paramètres du Serveur et de l’Application Web Kobee

# Kobee Server Settings :
# ---------------------------------------------------------------------------
# Folder the Kobee Server is installed in :
alm.server.installLocation=C:/alm

# Java Runtime the Kobee Server is using
alm.server.javaHome=d:/java/jdk1.6.0_45

# Flag to specify whether to uninstall the files that may be deployed to a tomcat server :
# uninstall : true
# no uninstall : false
alm.server.tomcat.uninstall=true
# Location of Apache Tomcat where the webapp was deployed during Kobee Server Install :
alm.server.tomcat.home=C:/Program Files/Apache Software Foundation/Tomcat 7.0
Propriété Description

alm.server.installLocation

L’emplacement où le Serveur Kobee est installé. Plus loin dans ce document, cet emplacement sera référencé KOBEE_HOME.

alm.server.javaHome

Le chemin réel d’installation du Java qui est utilisé pour lancer le Serveur Kobee. Exemples valides: "D:/java/openjdk-11.0.8_10_hotspot" ou "/usr/lib/jvm/java-11-openjdk".

alm.server.tomcat.uninstall

Mettre à "true" si vous voulez retirer l’Application Web Kobee de Tomcat. Le défaut est "true".

alm.server.tomcat.home

Mettre l’emplacement de base de l’installation Tomcat qui héberge l’Application Web Kobee.

Paramètres de l’Agent Kobee

# Kobee Agent Settings :
# ---------------------------------------------------------------------------
# Folder the Kobee Agent is installed in :
alm.agent.installLocation=C:/alm
Propriété Description

alm.agent.installLocation

L’emplacement où l’Agent Kobee est installé.

Paramètres de l’Interface de Ligne de Commande Kobee

# Kobee Commandline Settings :
# ---------------------------------------------------------------------------
# Folder the Kobee Commandline is installed in :
alm.commandline.installLocation=C:/alm/commandline
Propriété Description

alm.commandline.installLocation

L’emplacement où l’Interface de Ligne de Commande Kobee est installé.

Exécuter le Désinstalleur

Par défaut, le Désinstalleur utilise l’exécutable Java qui est disponible dans le PATH du Système de la machine. Si aucun exécutable Java est présent, ou la version de celui-ci est insuffisante (inférieure à 11), alors vous devez fournir la variable d’environnement JAVA_HOME dans le script d’installation. Dans ce cas, ouvrez le fichier _INSTALL_DIR/uninstall.cmd (Windows) ou INSTALL_DIR/uninstall.sh (Linux/Unix) et suivez les instructions de [Exécuter l`Installeur] pour renseigner la variable JAVA_HOME.

En premier, arrêtez Tomcat, le Serveur et l’Agent Kobee, puis, lancez le Désinstalleur en exécutant le script uninstall.cmd ou uninstall.sh.

Il est recommandé de lancer le Désinstalleur depuis une Invite de commandes, Powershell ou Linux shell pour voir la progression et le résultat de la désinstallation. Sur Windows, si le Désinstalleur est lancé par un Administrateur, les services Windows pour démarrer et arrêter le Serveur et l’Agent sont automatiquement retirés. Sinon, vous devrez retirer les services Windows manuellement AVANT la désinstallation. Voir Installer et Retirer manuellement le Serveur et l’Agent Kobee comme un service Windows pour les détails. Sur Linux/Unix, les services/démons à démarrer et à arrêter doivent être retirés AVANT la désinstallation. Voir Installer et Retirer manuellement le Serveur et l’Agent comme processus démons sur les systèmes Linux/Unix

L’utilisateur exécutant le Désinstalleur doit avoir les droits d’accès aux emplacements d’installation du Serveur, de l’Agent et de l’Interface de Ligne de Commande et ,aussi, aux répertoires et sous-répertoires de l’installation de Tomcat.

Le Désinstalleur gardera les répertoires suivants:

  • KOBEE_HOME/system/buildArchive

  • KOBEE_HOME/system/deployScripts

  • KOBEE_HOME/system/phaseCatalog

S’ils ont besoin d’être retirés, ils le seront manuellement après la désinstallation.

uninstaller finished

Quand la désinstallation réussit, le message BUILD SUCCESSFUL apparaît.

Mettre à niveau Kobee

La procédure générale d’actualisation d’Kobee est d’abord de sauvegarder l’installation et la Base de données Kobee actuelles. Ensuite, réinstallez Kobee et mettez à niveau la Base de données à une version supérieure.

Si le processus de mise à niveau échoue, vous pouvez restaurer la sauvegarde et continuer à utiliser la version précédente d’Kobee (et contacter le service de support).

Vous devez au moins sauvegarder les données suivantes:

  1. Base de données Kobee

  2. Emplacement Archives de construction: défini dans les Paramètres Système, le défaut est KOBEE_HOME/system/buildArchive.

  3. Emplacement des scripts de Déploiement: défini dans les Paramètres Système, le défaut est KOBEE_HOME/system/deployScripts

  4. Catalogue des Phases: défini dans les Paramètres Système, le défaut est KOBEE_HOME/system/phaseCatalog

Pour des raisons de sécurité, il est hautement recommandé de sauvegarder les répertoires KOBEE_HOME et TOMCAT_HOME dans leur intégralité. L’expérience nous a montré que, parfois, il faut restaurer une configuration comme, par exemple, un paramètre de sécurité ou la configuration des journaux.

Procédure de mise à niveau d’Kobee

  1. Arrêtez le serveur d’applications Web Tomcat, le Serveur et l’Agent Kobee.

  2. Procédez à la sauvegarde.

  3. Désinstallez le Serveur Kobee et (si installé) l’Agent Kobee local et l’Interface de Ligne de Commande. Voir Désinstaller Kobee pour plus d’information. Ne supprimez pas encore le répertoire INSTALL_DIR de la version désinstallée.

  4. Configurez l’Installeur du nouvel Kobee. Vous pouvez utiliser les valeurs du fichier INSTALL_DIR/install.properties de la version désinstallée pour compléter les valeurs du fichier INSTALL_DIR/install.properties de la nouvelle version. Il n’est pas recommandé de copier la version précédente du fichier install.properties vers la nouvelle version, car, la structure peut avoir changé avec la nouvelle.

  5. Exécutez l’Installeur du nouvel Kobee.

  6. Migrez la Base de données Kobee vers la nouvelle version.

    Pour réaliser cela, exécutez l’Outil de migration de la Base de données. Voir Outil de migration de la Base de données

  7. Démarrez le Serveur d’applications Web Tomcat, le Serveur et l’Agent Kobee.

  8. Mettez à niveau les Agents qui sont installés sur les machines distantes.

    Les Agents distants de la version 5.8 et supérieure peuvent être mis à niveau avec l’Interface Utilisateur Web.

    Les Agents distants de la version 5.7 et inférieure doivent être d"sinstallés manuellement. Après cela, ils peuvent être ré-installés avec l’Interface Utilisateur Web.

    Pour plus d’information sur l’installation ou la mise à niveau des Agents avec l’Interface Utilisateur Web, se référer à Interface Utilisateur d’Installation d’un Agent Kobee.

Outil de migration de la Base de données

L’Outil de migration de la Base de données est un outil de script qui détecte automatiquement la version actuelle de la Base de données Kobee et, si besoin, assure la migration vers la dernière version.

Vous devriez sauvegarder la Base de données Kobee avant de démarrer la migration!

Pour démarrer la migration, vous devez exécuter le script INSTALL_DIR/migrateKobeeDatabase.cmd (Windows) ou INSTALL_DIR/migrateALMDatabase.sh (Linux/Unix)

Par défaut, l’Outil de migration de la Base de données utilise l’exécutable Java qui est disponible dans le PATH du Système de la machine. Si aucun exécutable Java est présent, ou la version de celui-ci est insuffisante (inférieure à 11), alors vous devez fournir la variable d’environnement JAVA_HOME dans le script. Dans ce cas, ouvrez le fichier INSTALL_DIR/migrateKobeeDatabase.cmd (Windows) ou INSTALL_DIR/migrateALMDatabase.sh (Linux/Unix) et suivre les instructions de [Exécuter l`Installeur] pour renseigner la variable JAVA_HOME.

Par défaut, l’Outil de migration de la Base de données utilise les paramètres de connexion de la Base de données définis dans le fichier INSTALL_DIR/install.properties

La migration de la Base de données sera réalisée en plusieurs étapes: Si la version précédente est 5.7, la migration s’appliquera entre les versions 5.7 et 5.8 avant d’appliquer la migration entre les versions 5.8 et 5.9.

Une trace de la migration est créée dans le fichier INSTALL_DIR/almDbMigration.log et sera aussi affiché dans la fenêtre de l’Invite de commandes.

Nettoyer le cache du Navigateur

Après la mise à niveau d’Kobee, il est recommandé à tous les Utilisateurs de supprimer le cache de leur Navigateur avant de démarrer avec la nouvelle version de l’Application Web. Pour les instructions, référez-vous au document How to clear the browser cache after upgrading Kobee.

Modifier la configuration JAAS

Kobee 6.0 utilise une nouvelle librairie pour les Modules de connexion JAAS quand il utilise LDAP ou Microsoft Active Directory pour l’authenfication et les autorisations des Utilisateurs. En conséquence, les fichiers de configuration KOBEE_HOME/system/security/jaas.config et KOBEE_HOME/daemons/server/karaf/deploy/JaasPropertiesLoginModule.xml ont changé. Si vous utilisez LDAP ou Microsoft AD, vous devez utiliser les fichiers de la nouvelle configuration JAAS et fournir les valeurs correctes dans les propriétés ldapUrl, bindDn, bindCredential, baseDn et roleBase. Pour plus de détails, voir Configuration JAAS: Microsoft Active Directory.

Appendix A: Installer et Retirer manuellement le Serveur et l’Agent Kobee comme service Windows

Quand l’Installeur Kobee est exécuté par un Administrateur, les services Windows pour arrêter et démarrer du Serveur et de l’Agent Kobee sont créés automatiquement. Sinon, vous devez enregister les services Windows manuellement après l’installation.

  • Enregistrer le Serveur Kobee comme un service Windows:

    Exécutez "KOBEE_HOME/daemons/server/karaf/bin/karaf-service.bat install".

  • Retirer le Serveur Kobee qui est un service Windows:

    Exécutez "KOBEE_HOME/daemons/server/karaf/bin/karaf-service.bat remove".

  • Enregistrer l’Agent Kobee comme un service Windows:

    Exécutez "KOBEE_HOME/daemons/agent/karaf/bin/karaf-service.bat install".

  • Retirer l’Agent Kobee qui est un service Windows:

    Exécutez "KOBEE_HOME/daemons/agent/karaf/bin/karaf-service.bat remove".

Le script karaf-service.bat doit être exécuté par un Administrateur.

Si vous voulez reconfigurer un service, modifiez le fichier KOBEE_HOME/daemons/server/karaf/etc/karaf-wrapper.conf (pour le Serveur). Vous pouvez, par exemple, changer la quantité de mémoire du Serveur Kobee (en Mo) en changeant :"wrapper.java.maxmemory = 512".

En général il est déconseillé de modifier une des autres propriétés dans le fichier "karaf-wrapper.conf", car cela peut provoquer l’arrêt du Serveur ou de l’Agent Kobee.

Pour plus d’informations concernant le fichier de configuration, se référer à http://yajsw.sourceforge.net/YAJSW%20Configuration%20Parameters.html et https://karaf.apache.org/manual/latest/#_service_wrapper.

Appendix B: Installer et Retirer manuellement le Serveur et l’Agent Kobee comme un processus démon sur les systèmes Linux/Unix

L’Installeur Kobee n’installe pas automatiquement le Serveur ou l’Agent Kobee comme un processus démon Linux/Unix. Ces étapes doivent être exécutées après l’installation.

Puisque le Serveur et l’Agent Kobee utilisent Apache Karaf comme environnement d’exécution OSGi, il convient d’utiliser la fonctionnalité Apache Karaf Wrapper (se référer au manuel Karaf: http://karaf.apache.org/manual/latest/#_service_wrapper).

Nous allons décrire cette procédure pour installer et retirer le Serveur Kobee comme service. Pour l’Agent Kobee, répétez la procédure en substituant "server" par "agent" dans toutes les commandes.

Premièrement, arrêtez l’Agent et le Serveur Kobee.

Ouvrez un terminal Linux et mettez la commande Karaf "shell" exécutable:

chmod +x KOBEE_HOME/daemons/server/karaf/bin/shell

Activez la variable JAVA_HOME avec le chemin réel d’installation du Java qui est utilisé pour lancer le Serveur Kobee. Par exemple "/usr/lib/jvm/java-11-openjdk".

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk

Allez vers le répertoire KOBEE_HOME/daemons/server/karaf/bin et exécutez le service wrapper de Karaf.

cd KOBEE_HOME/daemons/server/karaf/bin
KOBEE_HOME/daemons/server/karaf/bin/shell wrapper:install -n kobeeserver60 -d "Kobee\ 6.0\ Server" -D "Kobee\ 6.0\ Server\ Service"

Selon le type de système de votre Linux ou Unix, certaines instructions varient. Regardez les sous-sections suivantes pour les détails.

Système "D" compatible Linux

Spécifier l’utilisateur qui exécutera le service du Serveur Kobee dans le fichier de l’unité du système "D". Il n’est pas recommandé de prendre l’utilisateur "root" pour exécuter le Serveur ou l’Agent Kobee.

Ouvrez le fichier KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60.service et cherchez la ligne

Type=forking

Complétez-la avec User=<Linux user>

Type=forking
User=<Linux user>

Rendre le fichier KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60.service exécutable.

chmod +x KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60.service

Installez le service du Serveur Kobee.

sudo systemctl -f enable KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60.service

Pour démarrer le service du Serveur Kobee, exécutez

sudo systemctl start kobeeserver60

Pour arrêter le service du Serveur Kobee, exécutez

sudo systemctl stop kobeeserver60

Quand vous voulez retirer le service du Serveur Kobee, exécutez

sudo systemctl disable kobeeserver60

Système "V" Linux RedHat

Spécifier l’utilisateur qui exécutera le service du Serveur Kobee dans le fichier de l’unité du système "V". Il n’est pas recommandé de prendre l’utilisateur "root" pour exécuter le Serveur ou l’Agent Kobee.

Ouvrez le fichier KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60.service et cherchez la ligne

#RUN_AS_USER=

Remplacez-la avec

RUN_AS_USER=<Linux user>

Rendre le fichier KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60.service exécutable.

chmod +x KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60-service

Installez le service du Serveur Kobee.

sudo ln -s -f KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60-service /etc/init.d/
sudo chkconfig kobeeserver60-service --add
sudo chkconfig kobeeserver60-service on

Pour démarrer le service du Serveur Kobee, exécutez

sudo service kobeeserver60-service start

Pour arrêter le service du Serveur Kobee, exécutez

sudo service kobeeserver60-service stop

Quand vous voulez retirer le service du Serveur Kobee, exécutez

sudo chkconfig kobeeserver60-service --del
sudo rm /etc/init.d/kobeeserver60-service

Système "V" Linux Debian

Spécifier l’utilisateur qui exécutera le service du Serveur Kobee dans le fichier de l’unité du système "V". Il n’est pas recommandé de prendre l’utilisateur "root" pour exécuter le Serveur ou l’Agent Kobee.

Ouvrez le fichier KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60.service et cherchez la ligne

#RUN_AS_USER=

Remplacez-la avec

RUN_AS_USER=<Linux user>

Rendre le fichier KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60.service exécutable.

chmod +x KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60-service

Installez le service du Serveur Kobee.

sudo ln -s -f KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60-service /etc/init.d/
sudo update-rc.d kobeeserver60-service defaults

Pour démarrer le service du Serveur Kobee, exécutez

sudo /etc/init.d/kobeeserver60-service start

Pour arrêter le service du Serveur Kobee, exécutez

sudo /etc/init.d/kobeeserver60-service stop

Quand vous voulez retirer le service du Serveur Kobee, exécutez

sudo update-rc.d -f kobeeserver60-service remove
sudo rm /etc/init.d/kobeeserver60-service

Système AIX

Ouvrez le fichier KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60-wrapper.conf. Supprimez la ligne qui commence par

set.JDK_JAVA_OPTIONS=...

Remplacez la section "# JVM Parameters" par

# JVM Parameters
# note that n is the parameter number starting from 1.
wrapper.java.additional.1=--add-reads=java.xml=java.logging
wrapper.java.additional.2=--add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED
wrapper.java.additional.3=--patch-module=java.base=lib/endorsed/org.apache.karaf.specs.locator-%KARAF_VERSION%.jar
wrapper.java.additional.4=--patch-module=java.xml=lib/endorsed/org.apache.karaf.specs.java.xml-%KARAF_VERSION%.jar
wrapper.java.additional.5=--add-opens=java.base/java.security=ALL-UNNAMED
wrapper.java.additional.6=--add-opens=java.base/java.net=ALL-UNNAMED
wrapper.java.additional.7=--add-opens=java.base/java.lang=ALL-UNNAMED
wrapper.java.additional.8=--add-opens=java.base/java.util=ALL-UNNAMED
wrapper.java.additional.9=--add-opens=java.naming/javax.naming.spi=ALL-UNNAMED
wrapper.java.additional.10=--add-opens=java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED
wrapper.java.additional.11=--add-exports=java.base/sun.net.www.protocol.file=ALL-UNNAMED
wrapper.java.additional.12=--add-exports=java.base/sun.net.www.protocol.ftp=ALL-UNNAMED
wrapper.java.additional.13=--add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED
wrapper.java.additional.14=--add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED
wrapper.java.additional.15=--add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED
wrapper.java.additional.16=--add-exports=java.base/sun.net.www.content.text=ALL-UNNAMED
wrapper.java.additional.17=--add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED
wrapper.java.additional.18=--add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED
wrapper.java.additional.19=-Dkaraf.instances=%KARAF_HOME%/instances
wrapper.java.additional.20=-Dkaraf.home=%KARAF_HOME%
wrapper.java.additional.21=-Dkaraf.base=%KARAF_BASE%
wrapper.java.additional.22=-Dkaraf.data=%KARAF_DATA%
wrapper.java.additional.23=-Dkaraf.etc=%KARAF_ETC%
wrapper.java.additional.24=-Dkaraf.log=%KARAF_LOG%
wrapper.java.additional.25=-Dkaraf.restart.jvm.supported=true
wrapper.java.additional.26=-Djava.io.tmpdir=%KARAF_DATA%/tmp
wrapper.java.additional.27=-Djava.util.logging.config.file=%KARAF_ETC%/java.util.logging.properties
wrapper.java.additional.28=-Dcom.sun.management.jmxremote
wrapper.java.additional.29=-Dkaraf.startLocalConsole=false
wrapper.java.additional.30=-Dkaraf.startRemoteShell=true

Spécifier l’utilisateur qui exécutera le service du Serveur Kobee dans le fichier d’initialisation du système "V". Il n’est pas recommandé de prendre l’utilisateur "root" pour exécuter le Serveur ou l’Agent Kobee.

Ouvrez le fichier KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60.service et cherchez la ligne

#RUN_AS_USER=

Remplacez-la avec

RUN_AS_USER=<Linux user>

Dans le même fichier, trouvez la ligne

su -m $RUN_AS_USER -s /bin/sh -c "$REALPATH $1"

Remplacez-la avec

su $RUN_AS_USER -c "$REALPATH $1"

Rendre le fichier KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60.service exécutable.

chmod +x KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60-service

Installez le service du Serveur Kobee.

sudo ln -s -f KOBEE_HOME/daemons/server/karaf/bin/kobeeserver60-service /etc/rc.d/init.d/
sudo ln -s -f /etc/rc.d/init.d/kobeeserver60-service /etc/rc.d/rc2.d/K20kobeeserver60-service
sudo ln -s -f /etc/rc.d/init.d/kobeeserver60-service /etc/rc.d/rc2.d/S20kobeeserver60-service

Pour démarrer le service du Serveur Kobee, exécutez

sudo /etc/rc.d/init.d/kobeeserver60-service start

Pour arrêter le service du Serveur Kobee, exécutez

sudo /etc/rc.d/init.d/kobeeserver60-service stop

Quand vous voulez retirer le service du Serveur Kobee, exécutez

sudo rm /etc/rc.d/init.d/kobeeserver60-service
sudo rm /etc/rc.d/rc2.d/K20kobeeserver60-service
sudo rm /etc/rc.d/rc2.d/S20kobeeserver60-service

Appendix C: Configuration JAAS

Pour l’authentification et l’autorisation des Utilisateurs, Kobee utilise le Service d’Authentification et d’Autorisation Java (JAAS) (se référer à https://docs.oracle.com/en/java/javase/17/security/java-authentication-and-authorization-service-jaas1.html). L’authentification JAAS est réalisée avec un mode intégrable. Cela permet aux applications de rester indépendantes des technologies d’authentification sous-jacentes. Les nouvelles ou la mise à niveau des technologies d’authentification peuvent être intégrées dans Kobee sans requérir de modifications de l’application elle-même.

La configuration JAAS utilisée par Tomcat est gérée dans le fichier KOBEE_HOME/system/security/jaas.config. Tomcat doit être configuré pour utiliser ce fichier comme sa configuration JAAS. Voir Options Java pour Tomcat pour les détails. Cette configuration contrôle les utilisateurs qui peuvent se connecter à l’Interface Utilisateur Kobee et qui peuvent s’authentifier via le REST API.

La configuration JAAS pour le Serveur Kobee peut être trouvée dans le fichier KOBEE_HOME/daemons/server/karaf/deploy/JaasPropertiesLoginModule.xml. Cette configuration contrôle les utilisateurs qui peuvent se connecter via l’Interface de Ligne de Commande Kobee.

Par défaut, Kobee est configuré pour utiliser un fichier de mots de passe qui contient les informations d’authentification et d’autorisation des 3 utilisateurs:

  • "global", mot de passe "global", membre des groupes d’utilisateurs Kobee User et Kobee Administrator : un utilisateur administrateur global qui dispose de tous les droits d’accès.

  • "project", mot de passe "project", membre des groupes d’utilisateurs Kobee User et Kobee Project : un utilisateur qui représente un administrateur d’un ou plusieurs Projets.

  • "user", mot de passe "user", membre du groupe des utilisateurs Kobee User : un utilisateur qui représente un utilisateur final avec des accès limités.

Bien que vous puissiez utiliser le système de sécurité par défaut basé sur un fichier plat de mot de passe pour démarrer et à des fins de test, il n’est pas recommandé de l’utiliser pour la production. Vous devez passer à un système plus sécurisé, comme Microsoft Active Directory ou LDAP.

Les fichiers de configuration JAAS par défaut contiennent des exemples de configuration de l’authentification et de l’autorisation Kobee à l’aide d’un fichier de mot de passe ou de Microsoft Active Directory via le protocole LDAP ou LDAPS.

Configuration JAAS: Fichier de mots de passe

La configuration JAAS d’Kobee par défaut utilise un simple fichier de mots de passe. Pour Tomcat (jaas.config), celui-ci ressemble à :

/** Kobee Login **/
ALM
{
    com.tagish.auth.FileLogin required pwdFile="KOBEE_HOME/system/security/passwd.config";
};

Pour le Serveur Kobee (JaasPropertiesLoginModule.xml) :

	<!-- ALM login using File Login -->
	<jaas:config name="ALM">
		<jaas:module className="com.tagish.auth.FileLogin" flags="required">
            pwdFile=__KOBEE_HOME__/system/security/passwd.config
		</jaas:module>
	</jaas:config>

Le fichier de mots de passe par défaut (KOBEE_HOME/system/security/passwd.config) ressemble à ceci :

userid:encrypted password:groupname:groupname:groupname
user:ee11cbb19052e40b07aac0ca060c23ee:ALM User
project:46f86faa6bbf9ac94a7e459509a20ed0:ALM User:ALM Project
global:9c70933aff6b2a6d08c687a6cbb6b765:ALM User:ALM Administrator

Chaque ligne du fichier représente un utilisateur. Le format est <userId>:<password>:<groupname1>:<groupname2>:<groupname3>:…​ Les mots de passe doivent être chiffrés avec l’algorithme MD5.

Par exemple, pour ajouter un utilisateur avec un Identifiant “testuser” et mot de passe “testuser” qui appartient aux groupes d’utilisateurs “ALM User” et “ALM Project”, ajoutez l’entrée suivante aux fichier "passwd.config" :

testuser:5d9c68c6c50ed3d02a2fcf54f63993b6:ALM User:ALM Project

Configuration JAAS: Microsoft Active Directory

Les fichiers de configuration JAAS d’Kobee contiennent des exemples sur la manière de se connecter à Microsoft AD en utilisant LDAP. Nous vous expliquons un exemple qui utilise le protocole "ldaps" sécurisé. Les instructions pour utiliser le protocole "ldap" moins sécurisé sont similaires : seules les propriétés ldapUrl sont différentes.

Pour les "ldap" non sécurisés, le ldapUrl sera de la forme suivante:

ldapUrl="ldap://<AD_SERVER>:389"

Cependant, pour "ldap" sécurisé, le ldapUrl sera le suivant:

ldapUrl="ldaps://<AD_SERVER>:636"

Lors de la configuration d’une connexion "ldap" sécurisée, il ne suffit pas de modifier uniquement le fichier de configuration Jaas de Tomcat et du Serveur Kobee. Un certificat doit être créé et importé dans le magasin de clés (keystore) d’Kobee. Reportez-vous au paragraphe suivant pour savoir comment procéder.

Exemple de connexion Microsoft AD pour Tomcat (jaas.config) :

/** Example LDAP Login using the Ldaptive library (https://www.ldaptive.org/) over a TLS/SSL connection
**/
/**
LDAPLogin_SECURED
{
  org.ldaptive.jaas.LdapLoginModule required
	provider="org.ldaptive.provider.unboundid.UnboundIDProvider"
	ldapUrl="ldaps://ldaphost:636"
	bindDn="CN=ldapuser,OU=Users,DC=company,DC=com"
	bindCredential="ldapuserpassword"
	baseDn="OU=Users,DC=company,DC=com"
	subtreeSearch="true"
	userFilter="(sAMAccountName={user})"
	referral="follow";
   org.ldaptive.jaas.LdapRoleAuthorizationModule required
	provider="org.ldaptive.provider.unboundid.UnboundIDProvider"
	ldapUrl="ldaps://ldaphost:636"
	bindDn="CN=ldapuser,OU=Users,DC=company,DC=com"
	bindCredential="ldapuserpassword"
	baseDn="OU=Users,DC=company,DC=com"
	subtreeSearch="true"
	userFilter="(sAMAccountName={user})"
	roleBase="OU=Groups,DC=company,DC=com"
	roleFilter="(|(sAMAccountName={user})(member={dn}))"
	roleAttribute="memberOf"
	searchEntryHandlers="org.ldaptive.handler.RecursiveEntryHandler{{searchAttribute=memberOf}{mergeAttributes=CN}}"
	referral="follow";
};
**/

Exemple de connexion Microsoft AD pour le Serveur Kobee (JaasPropertiesLoginModule.xml) :

<!-- Example LDAP Login using the Ldaptive library (https://www.ldaptive.org/) over a TLS/SSL connection -->
<jaas:config name="LDAPLogin_SECURED">
	<jaas:module className="org.ldaptive.jaas.LdapLoginModule" flags="required">
		provider=org.ldaptive.provider.unboundid.UnboundIDProvider
		ldapUrl=ldaps://ldaphost:636
		bindDn=CN=ldapuser,OU=Users,DC=company,DC=com
		bindCredential=ldapuserpassword
		baseDn=OU=Users,DC=company,DC=com
		subtreeSearch=true
		userFilter=(sAMAccountName={user})
		referral=follow
		org.osgi.framework.BundleContext=dummy
	</jaas:module>
	<jaas:module className="org.ldaptive.jaas.LdapRoleAuthorizationModule" flags="required">
		provider=org.ldaptive.provider.unboundid.UnboundIDProvider
		ldapUrl=ldaps://ldaphost:636
		bindDn=CN=ldapuser,OU=Users,DC=company,DC=com
		bindCredential=ldapuserpassword
		baseDn=OU=Users,DC=company,DC=com
		subtreeSearch=true
		userFilter=(sAMAccountName={user})
		roleBase=OU=Groups,DC=company,DC=com
		roleFilter=(|(sAMAccountName={user})(member={dn}))
		roleAttribute=memberOf
		searchEntryHandlers=org.ldaptive.handler.RecursiveEntryHandler{{searchAttribute=memberOf}{mergeAttributes=CN}}
		referral=follow
		org.osgi.framework.BundleContext=dummy
	</jaas:module>
</jaas:config>

Pour configurer Kobee pour s’authentifier à l’aide de Microsoft AD, renommez le domaine de configuration JAAS nommé « ALM » en quelque chose d’autre (ou commentez cette entrée JAAS), renommez le domaine « LDAPLogin_SECURED » en « ALM », puis définissez les propriétés suivantes dans les fichiers jaas.config et JaasPropertiesLoginModule.xml :

Propriété Description

ldapUrl

URL "ldaps" pour se connecter au contrôleur de domaine Active Directory. La forme usuelle est "ldaps://<hostname of dc>:636".

bindDn

Nom unique (DN) d’un utilisateur AD disposant de droits d’accès suffisants pour se connecter à AD et récupérer les informations d’un autre utilisateur.

bindCredential

Mot de Passe de l’utilisateur bindDn.

baseDn

Base DN d’une Unité Organisationnelle (OU) depuis laquelle une recherche LDAP pour un utilisateur démarrera.

roleBase

Base DN d’une Unité Organisationnelle (OU) depuis laquelle une recherche LDAP pour les rôles d’un utilisateur démarrera.

Les valeurs dans le fichier jaas.config DOIVENT être entourées par des ", alors que les valeurs dans le fichier JaasPropertiesLoginModule.xml NE DOIVENT PAS être entourées par des ".

Se référer à https://www.ldaptive.org/docs/guide/jaas.html pour plus d’information sur les propriétés "ldaptive JAAS".

Lors de la modification de la configuration JAAS, les services Tomcat et du Serveur Kobee doivent être redémarrés. Si les utilisateurs peuvent se connecter via l’Interface Utilisateur Kobee, la configuration dans Tomcat est correcte.

Vous pouvez résoudre les problèmes de connexion en activant une journalisation supplémentaire. Cela peut être fait en ajoutant un élément <logger> supplémentaire dans TOMCAT_HOME/webapps/alm/WEB-INF/classes/log4j2.xml.

<Logger name="org.ldaptive" level="trace"/>

Après avoir redémarré Tomcat et essayé de se connecter, le fichier journal TOMCAT_HOME/logs/alm_webapp.log contiendra des informations supplémentaires sur la tentative d’ouverture de session. Ce journal peut ensuite être analysé et/ou envoyé au Support Kobee.

Configuration JAAS: ldap sécurisé (LDAP via SSL/TLS)

Comme indiqué dans le paragraphe précédent, la configuration "ldap" sécurisée (LDAP via SSL/TLS) nécessite la création d’un certificat qui doit être importé dans le magasin de clés (keystore) d’Kobee.

La création du certificat dépend fortement de l’Infrastructure de clé publique (PKI) de votre organisation. La création d’un certificat pour Microsoft AD peut être effectuée à l’aide du composant logiciel insérable « Certificats » de la console MMC (Microsoft Management Console). Il est important que le certificat possède les propriétés suivantes :

  • L’usage prévu est “Serveur authentification”

  • Pour "Sujet nom", le type de "Nom Commun" doit contenir le nom FQ du serveur. Ainsi par exemple dc1.example.com et non dc1

  • Les types suivants doivent être définis pour "Sujet Nom Alternatif":

    • DNS = nom FQ du serveur, i.e. dc1.example.com

    • DNS = nom du domaine, i.e. example.com

    • IP Address = adresse IP du serveur

Le certificat doit être exporté dans un fichier. Ceci est possible dans le format « DER encoded binary X.509 ».

Le fichier de certificat doit ensuite être importé dans le magasin de clés (keystore) Java utilisé par le Serveur Kobee (KOBEE_HOME/system/ssl/alm_keystore). Ceci est possible avec la commande suivante :

<JAVA_HOME>\bin\keytool.exe -import -file <path_to_certificate> -keystore <KOBEE_HOME>/system/ssl/alm_keystore -alias <server_name>

Exemple

D:\java\jdk11.0.10\bin\keytool.exe -import -file C:\temp\dc1_ldap.cer -keystore E:\Kobee\60\system\ssl\alm_keystore -alias dc1_ldap

L’outil demande ensuite le mot de passe du magasin de clés (keystore). Le mot de passe par défaut du magasin de clés (keystore) Kobee est 'almalm'.

Répondez oui à la question de savoir si ce certificat peut être approuvé.

Lors du passage à "ldap" sécurisé, la configuration JAAS de l’application Web et du Serveur Kobee doit être ajustée. Reportez-vous au paragraphe précédent pour savoir comment procéder.

Appendix D: Configuration manuelle de la Communication sécurisée

Lors de l’exécution de l’installation d’Kobee, le paramètre d’installation alm.xmlrpc.secure active une communication sécurisée. Lorsqu’elle est définie à "true", la communication entre les composants Kobee installés est chiffrée. Par conséquent, si des composants Kobee supplémentaires (tels que l’Agent ou la Ligne de Commande Kobee) sont installés sur des hôtes distants, ils doivent également être définis avec alm.xmlrpc.secure à "true" pendant leur installation, sinon la communication avec ces composants échouera. Nous vous recommandons vivement de définir alm.xmlrpc.secure à "true" pour des raisons de sécurité. Cependant, la communication sécurisée peut être modifiée manuellement (activée ou désactivée) après l’installation. Bien sûr, ce paramètrage doit être effectué simultanément pour tous les composants Kobee installés.

Configuration de la Communication sécurisée: Application Web Kobee

La Communication sécurisée entre l’Application Web Kobee et le Serveur/Agent Kobee est contrôlée par un paramètre de contexte dans le fichier TOMCAT_HOME/webapps/alm/WEB-INF/web.xml:

...
<!-- Context parameter : type of communication (SSL) between webserver and server/agent-->
<context-param>
  <param-name>secured</param-name>
  <param-value>true</param-value>
</context-param>
...

Mettre le tag <param-value> à "false" si vous voulez annuler la Communication sécurisée.

Le service Tomcat doit être redémarré après avoir modifié le paramètre de contexte.

Configuration de la Communication sécurisée: Serveur Kobee

La Communication sécurisée entre le Serveur et l’Agent/Application Web Kobee est contrôlée par les paramètres des fichiers server.cfg et org.ops4j.pax.web.cfg.

Le fichier server.cfg se trouve sous KOBEE_HOME/daemons/server/karaf/etc.

alm.server.serverPort=20021
alm.xmlrpc.secure=true
alm.server.database.cfg=etc/hibernate.properties
alm.server.xml_rpc.cfg=etc/xml_rpc.properties
alm.server.installer.corePoolSize=50
alm.server.installer.keepAliveTime=300
alm.server.installer.shutdownTimeout=60

Mettre la propriété alm.xmlrpc.secure à "false" si vous voulez annuler la Communication sécurisée.

Le fichier org.ops4j.pax.web.cfg se trouve également dans KOBEE_HOME/daemons/server/karaf/etc.

...
org.osgi.service.http.enabled=false
org.osgi.service.http.port=20021

org.osgi.service.http.secure.enabled=true
org.osgi.service.http.port.secure=20021
...

Mettre la valeur du paramètre org.osgi.service.http.enabled à "true" et celle du paramètre org.osgi.service.http.secure.enabled à "false" si vous souhaitez désactiver la Communication sécurisée.

Le service du Serveur Kobee doit être redémarré après avoir modifié les paramètres dans les fichiers server.cfg et org.ops4j.pax.web.cfg.

Configuration de la Communication sécurisée: Agent Kobee

La Communication sécurisée entre l’Agent, le Serveur et l’Application Web Kobee est contrôlée par les paramètres des fichiers agent.cfg et org.ops4j.pax.web.cfg.

Le fichier agent.cfg se trouve dans KOBEE_HOME/daemons/agent/karaf/etc.

alm.agent.agentPort=20020
alm.agent.serverPort=20021
alm.agent.serverHost=KOBEE_SERVER_NAME
alm.agent.hostname=
alm.agent.hostaddress=
alm.agent.logfilepath=log/alm_agent.log
alm.xmlrpc.secure=true
alm.agent.xml_rpc.cfg=etc/xml_rpc.properties

Mettre la propriété alm.xmlrpc.secure à "false" si vous voulez annuler la Communication sécurisée.

Le fichier org.ops4j.pax.web.cfg se trouve également dans KOBEE_HOME/daemons/agent/karaf/etc.

...
org.osgi.service.http.enabled=false
org.osgi.service.http.port=20020

org.osgi.service.http.secure.enabled=true
org.osgi.service.http.port.secure=20020
...

Mettre la valeur du paramètre org.osgi.service.http.enabled à "true" et celle du paramètre org.osgi.service.http.secure.enabled à "false" si vous souhaitez désactiver la Communication sécurisée.

Le service de l’Agent Kobee doit être redémarré après avoir modifié les paramètres dans les fichiers agent.cfg et org.ops4j.pax.web.cfg.

Configuration de la Communication sécurisée: Interface de Ligne de Commande

Vous n’avez pas besoin de configurer les fichiers de l’installation de l’Interface de Ligne de Commande si vous souhaitez désactiver ou activer la Communication sécurisée. Définissez simplement la valeur de l’option de ligne de commande -secured à "true" ou à "false" si vous souhaitez une Communication cryptée ou non cryptée avec le Serveur Kobee. Cela peut également être fait dans les fichiers de propriétés qui peuvent être définis avec l’option -propertyfile, par exemple. dans KOBEE_HOME/commandline/clr.properties ou dans KOBEE_HOME/commandline/package.properties.

Ceci est également décrit dans l’utilisation de la Ligne de Commande Kobee :

...

  -password         password to connect to the Kobee Server
  -secured          use encrypted connection or not (true|false)

...

Appendix E: Configuration DB2

Si vous utilisez DB2 comme Base de données Kobee, assurez-vous que la taille de page de l’espace de table "tablespace" et le "buffer pool" associé ne soit pas inférieure à 8 ko. Sinon, au moment de créer la nouvelle Base de données dans DB2, la taille de page par défaut sera de 4 ko, ce qui pourrait entraîner des erreurs SQL lors de l’exécution du script d’initialisation de la base de données.

fig10

La taille de page de l’espace de table (tablespace) dans DB2 est déterminée par le "buffer pool" associé, mais vous ne pouvez pas modifier la taille de page d’un "buffer pool". Si vous voulez utiliser une base de données DB2 existante pour laquelle la taille de page est déjà établie à 4 ko, vous pourriez contourner ce cas en créant un nouveau "buffer pool" avec une taille de page de 8 ko et en créant ensuite un nouvel espace de table (tablespace) (par exemple, USERSPACE2) avec une taille de page de 8 ko et l’associer au nouveau "buffer pool".

En plus, vous devez également créer un nouvel espace de table (tablespace) système temporaire (par exemple, TEMPSPACE2) et l’associer avec un "buffer pool" dont la taille de page est établie à au moins 8 ko.