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
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 |
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:
|
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 |
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. |
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.
Démarrer Kobee
Cette section décrit les étapes nécessaires pour démarrer les différents composants Kobee.
-
Si vous voulez configurer Kobee via l’Interface Utilisateur Web, vous devez d’abord démarrer l’Application Web Kobee (Démarrer l’Application Web Kobee).
-
Si vous voulez exécuter des Constructions et des Déploiements, vous devez démarrer le Serveur et l’Agent Kobee (Démarrer le Serveur Kobee et Démarrer l’Agent Kobee).
-
Si vous voulez utiliser l’Interface de Ligne de Commande Kobee, référez-vous à Utiliser l’Interface de Ligne de Commande 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.
Saisissez une licence valide et cliquez sur le bouton Submit.
Ensuite, la fenêtre de connexion s’affichera.
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.
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:
-
Base de données Kobee
-
Emplacement Archives de construction: défini dans les Paramètres Système, le défaut est KOBEE_HOME/system/buildArchive.
-
Emplacement des scripts de Déploiement: défini dans les Paramètres Système, le défaut est KOBEE_HOME/system/deployScripts
-
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
-
Arrêtez le serveur d’applications Web Tomcat, le Serveur et l’Agent Kobee.
-
Procédez à la sauvegarde.
-
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.
-
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.
-
Exécutez l’Installeur du nouvel Kobee.
-
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
-
Démarrez le Serveur d’applications Web Tomcat, le Serveur et l’Agent Kobee.
-
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 nondc1
-
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.
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.