Modifier le fichier

Démarrage d'un environnement produit

Ce document décrit comment installer et démarrer un environnement produit K-Sup pour la version 7.x du produit K-Sup. Cette installation nécessite un projet à déployer. Les commandes décrites ci-dessous, sont indiquées avec l'utilisation d'un environnement Linux (pour windows, certains outils seront à adapter).

Installation de K-Sup et des composants

Pour faciliter la gestion des versions des composants, ceux-ci seront installés via l'outil SDKMAN.

Installation de SDKMAN

L'installation de l'utilitaire SDKMAN est un pré-requis nécessaire pour les installations suivantes, c'est un outil permettant de gérer les différentes versions de vos SDK (java, maven, tomcat...).

Lien vers la documentation d'installation

Installation de Java

Installer la dernière version 17 de Java (zulu) (ne pas la mettre en version par défaut si vous en utilisez une autre).

# Pour obtenir la dernière version
sdk list java
# Pour installer la version
sdk install java 17.x-zulu

Installation du serveur tomcat

Installer la dernière version de tomcat 9.

# Pour obtenir la dernière version
sdk list tomcat
# Pour installer la version
sdk install tomcat 9.x

Installation de maven

  • Installer la dernière version de maven 3.9.
# Pour obtenir la dernière version
sdk list maven
# Pour installer la dernière 
sdk install maven 3.9.x
  • Créer un dossier .m2 s'il n'existe pas.
ll ~/.m2
mkdir ~/.m2

Récupérer le fichier settings_private_nexus_all.xml et le déposer dans le dossier ~/.m2. Renommer le fichier en settings.xml

mv ~/.m2/settings_private_nexus_all.xml ~/.m2/settings.xml 

Paramétrage de NPM

Créer un fichier ~/.npmrc contenant la valeur suivante :

registry=https://nexus.nantes.kosmos.fr/nexus/content/groups/public.npm/

Installation de MariaDB

K-Sup V7 utilise la version LTS 10.11 de Mariadb. Créer un dossier contenant les volumes des bases de données

mkdir -p ~/database-volumes/mariadb10

Il n'y a pas d'installation de mariadb, le serveur doit être démarré au démarrage du projet (cf Démarrage de mariadb)

Installation d'opensearch

Opensearch ne nécessite pas d'installation, celui-ci est à lancer au démarrage du projet via docker. (cf Démarrage d'opensearch)

Installation du projet de test

Le projet dev-ksup est utilisé pour tester les développements en cours sur le produit K-Sup et ses extensions.

Ce projet contient les modules bas niveaux (Koreparent et autres) ainsi que la totalité des extensions produit.

  • Récupérer le projet sur Gitlab
cd ~/ksup-projets/
git clone ssh://git@gitlab.kosmos.fr:22226/solutioning/ksup/produit/environnements/dev-ksup.git

Configuration de l'environnement de développement

Création du répertoire storage

Un répertoire storage doit être créé dans votre espace de développement ~/ksup-projets/dev-ksup/storage, celui-ci contiendra :

  • La configuration de votre projet
  • Les logs applicatives
  • Les fichiers d'import/export
  • Les médias
  • ...

Un sous-répertoire storage/conf doit être créé, celui-ci contiendra les différents fichiers de configuration de votre projet.

Création de la base de données

Créer un nouveau schéma dev-ksup sur votre base de données MariaDB

create database devksup70 CHARACTER SET utf8 COLLATE utf8_general_ci;

Au premier démarrage, dev-ksup va créer et initialiser les tables nécessaires au fonctionnement de K-Sup.

Configuration du projet

Afin de démarrer, la configuration minimale doit être déclarée au sein du fichier storage/conf/env.properties. Celle-ci décrit le chemin vers les différents répertoires de données de K-Sup, la configuration du serveur SMTP ainsi que les informations de connexion à la base de données.

### Chemin vers le répertoire storage
storage.dir=/home/<votre user>/ksup-projets/dev-ksup/storage

logs.path=${storage.dir}/logs

### Port utilisé pour le protocole http
site.port.http=8080
site.secure=false
 
mail.host=localhost
mail.port=1025
mail.from=mail@test.fr
mail.webmaster=mail@test.fr
 
datastore.default.user=root
datastore.default.password=root
datastore.default.url=jdbc:mysql://127.0.0.1:3310/devksup70

### Désactivation de la securité (liée au HTTPS et au CORS) en local pour les cookies 
cookie.processor.secure=false
cookie.processor.samesite=UNSET

Configuration de tomcat

Une fois le projet dev-ksup importé dans IntelliJ, l'exécution de la commande mvn clean package permet de générer le war exploded qui sera déployé sur le serveur tomcat.

Dans la configuration serveur, le chemin vers le répertoire storage/conf doit être déclaré dans les VM options :

-Dconf.dir=/home/<votre user>/ksup-projets/dev-ksup/storage/conf

Dans la partie deployment, il faut sélectionner dev-ksup:war exploded et bien positionner le champ Application context sur /.

Configuration d'OpenSearch

Ajouter la configuration OpenSearch dans le fichier ~/ksup-projets/dev-ksup/storage/conf/env_opensearch.properties

vi /home/storage/conf/env_opensearch.properties
search.nodes = 127.0.0.1:32788

Démarrage

Démarrage de mariadb

Lancer le conteneur mariadb 10.11

# Déploie un conteneur mariadb 10.11
# Le port exposé est le 3310 avec les identifiants root/root
docker run -dit -e MYSQL_ROOT_PASSWORD=root --name mariadb10 -v ~/database-volume/mariadb-10/:/var/lib/mysql -p 3310:3306 mariadb:10.11 mysqld --sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" --character-set-server=utf8 --collation-server=utf8_general_ci

Possibilité de le lancer automatiquement au démarrage de la session avec la commande suivante

docker run -dit --restart unless-stopped -e MYSQL_ROOT_PASSWORD=root --name mariadb1010 -v ~/database-volume/mariadb-10/:/var/lib/mysql -p 3310:3306 mariadb:10.11 mysqld --sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" --character-set-server=utf8 --collation-server=utf8_general_ci

Démarrage d'OpenSearch

Lancer le conteneur OpenSearch (se référer à la documentation complète du docker opensearch ksup-docker-elasticsearch) :

docker pull nexus.nantes.kosmos.fr:18445/keep/ksup/opensearch
docker run \
        -v opensearch:/usr/share/opensearch/data \
        --rm \
        -p 32788:9200 \
        --name opensearch24 \
        nexus.nantes.kosmos.fr:18445/keep/ksup/opensearch

Démarrer tomcat

Compilation du projet

mvn clean package

Lancer tomcat et regarder les logs ~/ksup-projets/dev-ksup/storage/logs/default-webapp.log

less ~/ksup-projets/dev-ksup/storage/logs/default-webapp.log