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).
- Démarrage d'un environnement produit
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