Windows Server 2019

Suivre ces instructions pour configurer Relution 5 sur Windows Server 2019. Ces instructions utilisent MariaDB comme magasin de données et nginx comme proxy inverse.

Pour plus de sécurité et de performances, nous recommandons d’installer Relution, MariaDB et nginx sur des machines distinctes. L’installation sur une seule machine ou sur une ou plusieurs machines virtuelles est également possible.

Ce guide couvre l’installation et la configuration d’une instance simple de Relution.


Prérequis

Avant de commencer, s’assurer que :

  • Les machines peuvent se connecter à Internet
  • Disposer de droits d’administration
  • Disposer d’un certificat SSL valide pour le nom d’hôte externe

Les certificats auto-signés ne fonctionnent pas, car les appareils mobiles ne leur font pas confiance. Il est possible d’installer manuellement le certificat racine sur un appareil pour qu’il fasse confiance au certificat. Cette approche n’est pas recommandée.

Les certificats de Let’sEncrypt → ont été testés et fonctionnent. Les appareils plus anciens peuvent ne pas faire confiance à ces certificats, car Let’s Encrypt n’a été établi que récemment en tant qu’autorité de certification (AC).


Installation de MariaDB

Aller sur MariaDB → et télécharger MariaDB LTS version minimale 10.11 ou supérieure en 64 bits pour Windows.

Il est également possible d’utiliser la dernière version LTS à la place. Il s’agit de la version 10.11.5, et nous recommandons d’utiliser le package Windows Installer.

Veiller à utiliser un mot de passe racine sécurisé.

Suivre les instructions à l’écran pour l’installation.

Configuration de MariaDB

Mettre à jour la configuration de MariaDB avec les options requises par Relution :

  • Aller dans %ProgramFiles%\MariaDB 10.11\data.
  • Ouvrir my.ini dans un éditeur de texte en tant qu’administrateur (par exemple Notepad).
  • Trouver la section [mysqld].

Ajouter ces paramètres à la section [mysqld] :

collation-server=utf8mb4_general_ci
character-set-server=utf8mb4
max_allowed_packet=1G
innodb_file_per_table=1

## N'est plus nécessaire/supporté pour MariaDB >= 10.2.2
## Si vous avez une version plus ancienne, mettez à jour ou activez ceci
# innodb_large_prefix=on
# innodb_file_format=Barracuda

La section [mysqld] peut déjà contenir un paramètre character-set-server. Supprimer ce paramètre et le remplacer par le paramètre ci-dessus.

Lors de la mise à jour d’une ancienne version de MariaDB, il se peut que les paramètres innodb_large_prefix et innodb_file_format soient encore présents dans le fichier my.ini. Ces paramètres ne sont plus nécessaires et leur présence peut empêcher le service MariaDB de démarrer correctement.

Redémarrer le service MariaDB en utilisant le gestionnaire de services (services.msc) ou en utilisant l’invite de commande. Pour des raisons de compatibilité ascendante, le service porte le nom de MySQL.

net stop MySQL
net start MySQL

Vérifier l’installation

Il devrait maintenant être possible de se connecter à cette instance de MariaDB. Le raccourci MySQL Client (MariaDB 10.11 (x64)), que le programme d’installation devrait avoir créé dans le menu démarrer, peut être utilisé. Une fois la connexion établie, un résultat similaire à celui-ci devrait s’afficher :

Enter password : ********
Bienvenue sur le moniteur MariaDB.  Les commandes se terminent par ; ou \g.
Votre identifiant de connexion MariaDB est 11
Version du serveur : 10.11.5-MariaDB distribution binaire mariadb.org

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab et autres.

Tapez 'help;' ou '\h' pour obtenir de l'aide. Tapez '\c' pour effacer la déclaration d'entrée actuelle.

MariaDB [(none)]> exit
Bye

Alternativement, le client HeidiSQL, qui est une partie optionnelle de l’installateur, ou MySQL Workbench peuvent être utilisés pour se connecter à l’instance.

Créer une base de données

Ensuite, créer la base de données relution et un utilisateur de base de données associé. Cet utilisateur sera utilisé par le service Relution pour se connecter à la base de données.

Se connecter à la base de données en utilisant un client SQL. L’utilisation d’une application GUI comme HeidiSQL ou MySQL Workbench est recommandée pour cette tâche. Exécuter les instructions SQL suivantes :

CREATE DATABASE relution CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci' ;
CREATE USER 'relution'@'localhost' IDENTIFIED BY '$PASSWORD' ;
ACCORDER TOUS LES PRIVILÈGES SUR RELUTION.* À 'RELUTION'@'localhost' IDENTIFIÉ PAR '$MOT DE PASSE' ;
CREATE USER 'relution'@'%' IDENTIFIED BY '$PASSWORD' ;
ACCORDER TOUS LES PRIVILÈGES SUR relution.* À 'relution'@'%' IDENTIFIÉ PAR '$MOT DE PASSE' ;
RINCER LES PRIVILÈGES ;

Remplacer $PASSWORD par un mot de passe aléatoire et sécurisé. Nous recommandons l’utilisation d’un gestionnaire de mot de passe pour créer un mot de passe aléatoire long (par exemple, 32 caractères ou plus). Ce mot de passe sera utilisé par le service Relution et n’a pas besoin d’être saisi manuellement par un administrateur. Un mot de passe fort peut donc être utilisé.

Ceci créera une nouvelle base de données nommée relution et un nouvel utilisateur de base de données nommé relution, qui a tous les droits pour cette base de données, sera créé. Cet utilisateur sera utilisé par le service Relution pour accéder à la base de données. Si un accès administratif à la base de données est nécessaire à des fins de maintenance, il est recommandé de créer un utilisateur de base de données distinct à cette fin.

Veiller à sauvegarder le mot de passe. Il sera nécessaire plus tard pour configurer la connexion à la base de données de Relution.

S’assurer qu’il est possible de se connecter à la base de données avec cet utilisateur. Ouvrir le raccourci Invite de commande (MariaDB 10.6 (x64)) dans le menu Démarrer et entrer la commande suivante :

mysql -u relution -p relution

Entrer le mot de passe lorsqu’il est demandé. L’invite MariaDB devrait s’afficher comme celle ci-dessus. Taper exit et appuyer sur entrée pour terminer la session.

Configuration du pare-feu

Si Relution est installé sur une autre machine, le port 3306 doit être ouvert sur cette machine pour que Relution puisse communiquer avec MariaDB. Si Relution est installé sur la même machine, ces étapes peuvent être ignorées.

  • Ouvrir Windows Defender Firewall with advanced security.
  • Sélectionner Incoming rules
  • Cliquer sur Nouvelle règle… sur le côté droit de la page.
  • Sélectionner Programme
  • Cliquer sur Suivant
  • Sélectionner Chemin d’accès à ce programme.
  • Utiliser Browse… pour sélectionner le fichier exe du service MariaDB (C:\Program Files\MariaDB 10.6\bin\mysqld.exe)
  • Cliquer sur Suivant
  • Sélectionner Autoriser la connexion
  • Cliquer sur Suivant
  • Activer Domaine et/ou Privé - en fonction de l’infrastructure
  • Cliquer sur Suivant
  • Donner un nom à la règle
  • Cliquer sur Quitter.

Relution Installation

Installer Java Runtime

Télécharger et installer une version supportée de Java. Si le programme d’installation demande si le JAVA_HOME doit être configuré, sélectionner Oui.

Nous recommandons actuellement d’utiliser OpenJDK 21 (JRE). La plupart des fournisseurs considèrent cette version comme une version de support à long terme (LTS). Veiller à lire notre journal des modifications → pour obtenir des informations à jour.

Il existe plusieurs fournisseurs d’OpenJDK, dont Eclipse Temurin, Oracle, RedHat et d’autres. Pour Windows, nous recommandons Eclipse Temurin →.

Configurer l’environnement

Les étapes suivantes ne sont nécessaires que si le programme d’installation n’a pas défini JAVA_HOME. Le programme d’installation d’AdoptOpenJDK peut le faire automatiquement. Si cette option est activée, ces étapes peuvent être ignorées.

  • Cliquer sur Démarrer et chercher Variables d’environnement.
  • Ouvrir Editer les variables d’environnement du système.
  • Cliquer sur l’onglet Avancé.
  • Sélectionner Variables d’environnement.
  • Cliquer sur Nouveau… dans les Variables système.
  • Entrer JAVA_HOME comme nom de la variable.
  • Entrer le répertoire d’installation du JRE/JDK comme valeur de la variable.
  • Cliquer sur OK

Vérifier si JAVA_HOME est défini

Si une fenêtre d’invite de commande était ouverte auparavant, elle doit être fermée avant que les modifications ne prennent effet. Ouvrir une nouvelle invite de commande Windows et taper la commande suivante.

echo %JAVA_HOME%

La valeur saisie dans les variables d’environnement ci-dessus devrait apparaître. Si ce n’est pas le cas, vérifier les paramètres.

Installer Relution

Télécharger le paquetage Relution actuel → et l’extraire.

Windows crée par défaut un nouveau répertoire pour les fichiers extraits, ainsi relution est situé dans le répertoire relution-package.

Configuration de base de Relution

Ouvrir un éditeur de texte (par exemple Notepad) en tant qu’administrateur et y coller le contenu suivant :

relution:
  system:
    admin:
      password: %SYSTEM_ADMIN_PASSWORD% (mot de passe)
      email: %SYSTEM_ADMIN_EMAIL%
  server:
    externalURL: %EXT_HOSTNAME_URL%
  base de données:
    type: mysql
    url: jdbc:mariadb://<db-hostname>/relution?useServerPrepStmts=true
    nom d'utilisateur: relution
    mot de passe: %MYSQL_PASSWORD%

Veiller à modifier le fichier pour l’adapter à l’environnement concerné. Les paramètres suivants doivent être remplacés :

PlaceholderDescription
%EXT_HOSTNAME_URL%L’adresse externe du serveur Relution, par exemple https://mdm.example.com
%MYSQL_PASSWORD%Le mot de passe de l’utilisateur de la base de données Relution
%SYSTEM_ADMIN_PASSWORD%Le mot de passe initial de l’administrateur système. Modifier ce mot de passe après la première connexion, puis supprimer cette ligne.
%SYSTEM_ADMIN_EMAIL%L’adresse e-mail de l’administrateur système.

Envisager d’utiliser un générateur de mot de passe pour créer le premier mot de passe du compte administratif. Il est recommandé de changer le mot de passe après la première connexion.

Enregistrer le fichier en tant que application.yml dans le répertoire d’installation de Relution (par exemple "%ProgramFiles%\relution\application.yml").

Vérifier l’installation

Pour vérifier que l’installation est correcte jusqu’à ce point, démarrer Relution au premier plan. Ouvrir une fenêtre de console en tant qu’administrateur et exécuter les commandes suivantes :

cd "%ProgramFiles%\relution"
windows-bin\relution-foreground.bat

Attendre que la Relution soit lancée. Dès que la sortie du terminal a cessé de s’actualiser, il devrait être possible de se connecter à Relution à l’aide d’un navigateur :

http://localhost:8080

Si tout fonctionne, le portail Relution devrait s’afficher, permettant de se connecter avec le compte administratif défini dans le fichier application.yml. Pour des raisons de sécurité, le mot de passe de l’administrateur devrait être changé après la connexion. Pour des raisons de sécurité, il est également conseillé de supprimer la configuration de l’organisation et de l’administrateur dans le fichier application.yml.

En cas d’erreurs, vérifier que toutes les étapes ci-dessus ont été effectuées. Utiliser Ctrl+C pour arrêter Relution et attendre que Relution s’arrête. Si Relution ne s’arrête pas, utiliser à nouveau Ctrl+C pour forcer le service à s’arrêter.

Configurer Relution en tant que service

Installer Relution en tant que service Windows, en utilisant le script batch install_service.bat. Ouvrir une fenêtre de console en tant qu’administrateur et exécuter les commandes suivantes :

cd "%ProgramFiles%\relution"
windows-bin\install_service.bat

Le service devrait démarrer automatiquement après l’installation. Sinon, le gestionnaire de services ou la commande net start relution peuvent être utilisés. Taper cette commande dans l’invite de commande pour démarrer le service.

Configurer le pare-feu

Si nginx est installé sur une autre machine, le port 8080 doit être ouvert pour permettre à nginx de communiquer avec Relution. Si Relution est installé sur la même machine, ces étapes peuvent être ignorées.

  • Ouvrir Windows Defender Firewall avec sécurité avancée.
  • Cliquer sur Incoming rules
  • Sélectionner Nouvelle règle… dans le menu d’action
  • Sélectionner Programme
  • Cliquer sur Suivant
  • Sélectionner Chemin d’accès à ce programme.
  • Utiliser Parcourir… et sélectionner le fichier de service de Relution (C:\Program Files\relution\windows-bin\nssm.exe)
  • Cliquer sur Suivant.
  • Sélectionner Autoriser la connexion
  • Cliquer sur Suivant
  • Sélectionner Domaine et/ou Privé, en fonction de l’infrastructure
  • Cliquer sur Suivant
  • Donner un nom à la règle
  • Cliquer sur Finir.

Installation de Nginx

Préparation

Un certificat SSL valide et une clé de certificat doivent être obtenus auprès du fournisseur SSL (Autorité de certification, CA). Pour utiliser l’agrafage OCSP, un fichier de chaîne de certificats est également nécessaire.

Agrafage OCSP →
Conversion de certificats SSL →.

Copier ces fichiers sur le serveur où nginx sera installé. Déplacer ces fichiers dans les répertoires appropriés et les sauvegarder si nécessaire.

La clé privée ne doit être lisible que par l’administrateur. Veiller à conserver ce fichier en lieu sûr. Toute personne ayant accès à cette clé peut signer des données au nom de l’organisation concernée et décrypter des informations privées qui lui sont destinées.

Pour Let’s Encrypt, se référer à ACME Client Implementations pour connaître les clients disponibles pour Windows. Le Certbot officiel n’est disponible que pour les systèmes d’exploitation de type UNIX.

ACME Client Implementations →
Certbot →

Installer nginx

Télécharger la dernière version stable de nginx for Windows → dans le répertoire de téléchargement.

Faire un clic droit sur le fichier nginx-x.xx.zip et cliquer sur Extraire tout….

Déplacer le répertoire extrait nginx-x.xx vers %ProgramFiles% et le renommer en nginx.

move "%HOMEPATH%\Downloads\nginx-1.14.0\nginx-1.14.0" "%ProgramFiles%\nginx"

Personnaliser le répertoire source si nécessaire.

Par défaut, Windows crée un nouveau répertoire pour les fichiers extraits afin que le répertoire nginx-x.xx puisse être situé dans un autre répertoire nginx-x.xx. Veiller à déplacer le répertoire qui contient le fichier nginx.exe.

Configurer nginx pour Relution

Copier le certificat SSL et la clé privée dans %ProgramFiles%\nginx\server.pem et %ProgramFiles%\nginx\server.key.

Copier %ProgramFiles%\relution\proxy\nginx_windows_sample.conf vers %ProgramFiles%\nginx\conf\nginx.conf (écrase le fichier existant si nécessaire).

copier `%ProgramFiles%\relution\proxy\nginx_windows_sample.conf` `%ProgramFiles%\nginx\conf\nginx.conf`.

Ouvrir le fichier dans un éditeur de texte qui peut travailler avec les fins de ligne Linux (par exemple, Notepad++) et modifier le fichier pour l’adapter à l’environnement si nécessaire. Si Relution a été installé sur un autre serveur, veiller à spécifier l’adresse IP dans proxy_pass http://127.0.0.1:8080; en conséquence.

Vérifier la configuration nginx avec la commande suivante :

"%ProgramFiles%\nginx\nginx.exe" -t

Les messages “la syntaxe est correcte” et “le test est réussi” devraient s’afficher. En cas d’erreurs, vérifier que la configuration nginx ne contient pas de fautes de frappe, etc., comme indiqué dans le message d’erreur.

Installer nginx en tant que service Windows

Copier nssm.exe et install_service.bat du répertoire proxy de Relution vers le répertoire d’installation de nginx.

cd "%ProgramFiles%\nginx"
copier "%ProgramFiles%\relution\proxy\nssm.exe" .
Copier "%ProgramFiles%\relution\proxy\install_service.bat" .

Exécuter le script batch install_service.bat en tant qu’administrateur pour installer nginx en tant que service Windows.

"%ProgramFiles%\relution\proxy\install_service.bat"

Pare-feu

Ouvrir les ports 80 et 443 dans le pare-feu pour permettre l’accès via HTTP et HTTPS.

  • Ouvrir le Pare-feu Windows avec sécurité avancée.
  • Naviguer jusqu’à Règles d’entrée
  • Dans la section Actions, cliquer sur Nouvelle règle….
  • Sélectionner Programme.
  • Cliquer sur Suivant
  • Sélectionner Ce chemin de programme.
  • Utiliser Browse… pour sélectionner le fichier exécutable du service Relution
    • C:\Programmes\nginx\nginx.exe. Cliquer sur Next (Suivant)
    • Sélectionner Allow connection (Autoriser la connexion). Cliquer sur Suivant
    • Sélectionner Public. Cliquer sur Suivant
    • Entrer un nom pour la règle et cliquer sur Complete.
Top