Aller au contenu

Installation de la HTML5 Gateway Docker

Importation de l'image Docker

Avant de pouvoir créer un conteneur HTML5 Gateway Docker, il est nécessaire d'importer l'image Docker. Pour se faire, lancer un shell depuis lequel les commandes Docker vous sont disponibles ainsi que le fichier cleanroom-html5-4.6.1-33-v2.tgz. Depuis le shell exécutez la commande suivante en adaptant le chemin vers le fichier TGZ s'il ne se trouve pas dans le répertoire courant :

1
docker load --input cleanroom-html5-4.6.1-33-v2.tgz

Contrôlez ensuite que l'importation a bien réussi avec la commande suivante :

1
docker inspect --type=image cleanroom-html5:4.6.1-33-v2

La sortie attendue est la suivante, si ce n'est pas le cas alors l'importation a échouée :

1
2
3
4
5
6
[
    {
        "Id": "sha256:16ae07f1604409f6b092a8a2944e69b3db458a04dbbab6ffc3f945c253c82cee",
        "RepoTags": [
            "cleanroom-html5:4.6.1-33-v2"
        ],
Sortie complète
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
[
    {
        "Id": "sha256:16ae07f1604409f6b092a8a2944e69b3db458a04dbbab6ffc3f945c253c82cee",
        "RepoTags": [
            "cleanroom-html5:4.6.1-33-v2"
        ],
        "RepoDigests": [],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2025-08-27T11:35:33.014244258+02:00",
        "DockerVersion": "",
        "Author": "",
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 781097647,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/aa079416d669709486e3fd3dfefcff51acb3905ffcca7e6e428630d1a499e669/diff:/var/lib/docker/overlay2/da9f43ee88f5961a157af404be018fc7c3f5185a798b26911e38118d83830de7/diff:/var/lib/docker/overlay2/28efb3982392e95711e849cb90985fd534cd6273f4dec758463f98b41a432e93/diff:/var/lib/docker/overlay2/44a3abed0a932259b79c9e5e273749cc06bd8aca7d3adbfd1753a7b053dcae2f/diff:/var/lib/docker/overlay2/e3dfd4c7c4fe568ef731bd91314e69cc5c807ce717d5f4ea94f0d02cc11e70c5/diff:/var/lib/docker/overlay2/5acf2b56871d2537d95b9981c0498e16723a9eca20827f550366b48d8acf508f/diff:/var/lib/docker/overlay2/c732cd17c6501229b3a12c488d7f4c26f8634329211cac54ff1cf0d53055421f/diff:/var/lib/docker/overlay2/fd61cbda2a5e9a578c5a8eea67b63df3d31642588be3b6f2f7ebe6e10964f745/diff",
                "MergedDir": "/var/lib/docker/overlay2/b9c8170b6a9ed8e7c84a9ba208cd6e4b25e88d1dad42cd72b0e1178da62a46d4/merged",
                "UpperDir": "/var/lib/docker/overlay2/b9c8170b6a9ed8e7c84a9ba208cd6e4b25e88d1dad42cd72b0e1178da62a46d4/diff",
                "WorkDir": "/var/lib/docker/overlay2/b9c8170b6a9ed8e7c84a9ba208cd6e4b25e88d1dad42cd72b0e1178da62a46d4/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:4668f0f488e5ad4494fadff56ad585c514794b3a293e5e8d006410de9da08155",
                "sha256:782f6c5256575fbef0e518a1a1ce9188c457f1a0e9b88b733ed672f6e1be482d",
                "sha256:e09fd3e10e878ef6c812ccde0fa55b66cf4b9b593cf182c2760fec73649968c2",
                "sha256:e51c952c7bd89e0a3188c683d689eed81444d5513c14251f4b21cb9fd056d27d",
                "sha256:233ff67db52988898e3c1b4c2573b86c1c0c50d23f1f4b2365e3fc51abedbf9f",
                "sha256:f832eee42398852cab80a9a45138bf076d63ebbe153263fd8cf66857a0833d02",
                "sha256:f59f79d19c38ae4863b81774ad1d98030370c64e17013eb786da7b727bf2b41b",
                "sha256:0caeed550a29dbb274781e78bbe910fa5ccfdc90119cb4f9e3c815feff5a70b9",
                "sha256:21313651aa44ac0f5dd459a94be172b003b68f81b0db945c24a7ada5c21799e3"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        },
        "Config": {
            "Cmd": null,
            "Entrypoint": [
                "/entrypoint.sh"
            ],
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "DEBIAN_FRONTEND=noninteractive",
                "IMAGE_BUILD_DATE=20250827T112940",
                "IMAGE_BUILD_VERSION=4.6.1-33-v2",
                "IMAGE_IPDIPC=IPC-53702"
            ],
            "ExposedPorts": {
                "8080/tcp": {},
                "8090/tcp": {}
            },
            "Labels": {
                "maintainer": "contact@systancia.com",
                "org.label-schema.build-date": "20250827T112940",
                "org.label-schema.description": "Systancia Cleanroom Gateway",
                "org.label-schema.name": "Systancia Cleanroom 4.6.1-33-v2 HTML5 Server",
                "org.label-schema.url": "http://systancia.com/",
                "org.label-schema.vendor": "Systancia",
                "version": "4.6.1-33-v2"
            },
            "OnBuild": null,
            "User": "root",
            "Volumes": null,
            "WorkingDir": ""
        }
    }
]

Configuration du conteneur

Variables d'environnement

Variables pour un déploiement par appairage

Nom Obligatoire Valeur par défaut Commentaire
ENV_MEDIATION OUI Utilisé pour la connexion avec appairage.
Indication nom DNS ou adresse IP de connexion à l'interface Web d'une plateforme cyberelements Cleanroom.
ENV_TOKEN OUI Utilisé pour la connexion avec appairage.
Indication du jeton d'appairage à utiliser pour la connexion au Mediation Controller.
ENV_NO_CHECK_CERT NON false Utilisé pour la connexion avec appairage.
Désactivation ou non du contrôle du certificat Web du Mediation Controller, utile avec cyberelements Cleanroom lors d'un accès via adresse IP ou lorsque le certificat Web n'est pas un certificat reconnu avec les autorités de certification publiques par défaut.
Valeurs acceptées : true ou false.

Variables pour un déploiement manuel

Nom Obligatoire Valeur par défaut Commentaire
ENV_GW_CERT_NAME OUI Utilisé pour la connexion avec configuration manuelle.
Nom du fichier de certificat pour la connexion au Routeur SSL.
ENV_GW_CERT_PASSWORD OUI Utilisé pour la connexion avec configuration manuelle.
Mot de passe du fichier de certificat pour la connexion au Routeur SSL.
ENV_SSL_ROUTER_IP OUI Utilisé pour la connexion avec configuration manuelle.
Adresse IP ou nom DNS du Routeur SSL vers lequel la HTML5 Gateway se connectera.
ENV_SSL_ROUTER_PORT NON 443 Utilisé pour la connexion avec configuration manuelle.
Port du Routeur SSL vers lequel la HTML5 Gateway se connectera.

Variables diverses

Nom Obligatoire Valeur par défaut Commentaire
ENV_DISABLE_RSYSLOG NON false Désactivation du service rsyslog.
Valeurs acceptées : true ou false.

Volumes

Volume Commentaire
/etc/ipdiva/ Volume de configuration de la HTML5 Gateway.
Nous recommandons de le monter sur un volume nommé ou sur le système de fichiers de la machine hôte.
/opt/certificates/ Volume contenant le ou les certificats de la HTML5 Gateway lors d'une configuration sans utilisation de l'appairage.
/var/log/ Volume contenant les logs de la HTML5 Gateway.

Ports

Port Commentaire
8080 Port d'écoute du service HTML5.

Déploiement de la HTML5 Gateway Docker

Déploiement avec appairage

Prérequis

Avant de déployer la HTML5 Gateway Docker, il est nécessaire d'obtenir un jeton d'appairage.

Le déploiement décrit ci-après utilisera l'ensemble des volumes disponibles (mise à part /opt/certificates/ qui n'est pas utile dans ce contexte) et exposera l'ensemble des ports.
Les volumes seront montés sur le système de fichiers de la machine hôte avec comme emplacement HTML5_GATEWAY_REP. A l'intérieur de celui-ci se trouvent les sous-répertoires suivants :

  • config
  • log

Vous pouvez personnaliser les variables des commandes qui suivront :

Valeur personnalisée Variable Commentaire
DOCKER_NAME Nom du conteneur Docker.
HTML5_GATEWAY_REP Emplacement sur le système de fichier pour monter les volumes.
ENV_MEDIATION_VALUE Valeur de la variable d'environnement ENV_MEDIATION.
ENV_TOKEN_VALUE Valeur de la variable d'environnement ENV_TOKEN.
ENV_NO_CHECK_CERT_VALUE Valeur de la variable d'environnement ENV_NO_CHECK_CERT.

Créez l'arborescence requis pour le montage des volumes sur le système de fichiers :

1
2
mkdir -p HTML5_GATEWAY_REP/config
mkdir HTML5_GATEWAY_REP/log

Et enfin démarrez un nouveau conteneur :

1
2
3
4
5
6
7
8
docker run -d --restart unless-stopped --name "DOCKER_NAME" \
-e ENV_MEDIATION="ENV_MEDIATION_VALUE" \
-e ENV_TOKEN="ENV_TOKEN_VALUE" \
-e ENV_NO_CHECK_CERT="ENV_NO_CHECK_CERT_VALUE" \
-v "HTML5_GATEWAY_REP/config/:/etc/ipdiva/:rw" \
-v "HTML5_GATEWAY_REP/log/:/var/log/:rw" \
-p 8080:8080 \
cleanroom-html5:4.6.1-33-v2

La visualisation des logs du conteneur peut être obtenu avec la commande suivante :

1
docker logs -f DOCKER_NAME

Déploiement manuel

Prérequis

Avant de déployer la HTML5 Gateway Docker, il est nécessaire d'avoir à disposition le certificat requis pour la HTML5 Gateway.

Le déploiement décrit ci-après utilisera l'ensemble des volumes disponibles et exposera l'ensemble des ports.
Les volumes seront montés sur le système de fichiers de la machine hôte avec comme emplacement MANUAL_REP. A l'intérieur de celui-ci se trouvent les sous-répertoires suivants :

  • config
  • log
  • certificates

Vous pouvez personnaliser les variables des commandes qui suivront :

Valeur personnalisée Variable Commentaire
MANUAL_NAME Nom du conteneur Docker.
MANUAL_REP Emplacement sur le système de fichier pour monter les volumes.
ENV_GW_CERT_NAME_VALUE Valeur de la variable d'environnement ENV_GW_CERT_NAME.
ENV_GW_CERT_PASSWORD_VALUE Valeur de la variable d'environnement ENV_GW_CERT_PASSWORD.
ENV_SSL_ROUTER_IP_VALUE Valeur de la variable d'environnement ENV_SSL_ROUTER_IP.
ENV_SSL_ROUTER_PORT_VALUE Valeur de la variable d'environnement ENV_SSL_ROUTER_PORT.

Créez l'arborescence requis pour le montage des volumes sur le système de fichiers :

1
2
3
mkdir -p MANUAL_REP/config
mkdir MANUAL_REP/log
mkdir MANUAL_REP/certificates

Placez ensuite les certificats pour la HTML5 Gateway et le service d'enregistrement dans MANUAL_REP/certificates.

Finalement démarrez un nouveau conteneur :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
docker run -d --restart unless-stopped --name "MANUAL_NAME" \
-e ENV_GW_CERT_NAME="ENV_GW_CERT_NAME_VALUE" \
-e ENV_GW_CERT_PASSWORD="ENV_GW_CERT_PASSWORD_VALUE" \
-e ENV_SSL_ROUTER_IP="ENV_SSL_ROUTER_IP_VALUE" \
-e ENV_SSL_ROUTER_PORT="ENV_SSL_ROUTER_PORT_VALUE" \
-v "MANUAL_REP/config/:/etc/ipdiva/:rw" \
-v "MANUAL_REP/log/:/var/log/:rw" \
-v "MANUAL_REP/certificates/:/opt/certificates/:ro" \
-p 8080:8080 \
cleanroom-html5:4.6.1-33-v2

La visualisation des logs du conteneur peut être obtenu avec la commande suivante :

1
docker logs -f MANUAL_NAME

Configuration du Mediation Controller

Pour que la nouvelle HTML5 Gateway Docker soit opérationnelle, il reste encore a paramétrer le Serveur Mediation Controller via un accès SSH ou console et les droits root.

Ce dernier paramétrage est requis afin de permettre au Mediation Controller de communiquer avec le service HTML5.
Cependant ce paramétrage varie en fonction de l'emplacement de la HTML5 Gateway Docker :

Le schéma global correspond à ceci :

flowchart LR
    subgraph DMZ
        direction TB
        HTML5(HTML5 Gateway Docker)
        MED(Mediation Controller)
    end

    subgraph LAN
        GW(Edge Gateway)
    end


    MED -.-> |Connection to HTML5 service ; TCP 8080| HTML5
    HTML5 --> |TLS Tunnel| MED
    MED ~~~ GW
    GW --> |TLS Tunnel| MED
    GW ~~~ MED

    linkStyle 0 stroke:#d22,color;
Hold "Ctrl" to enable pan & zoom

Dans ce contexte, il sera nécessaire d'ajouter dans le fichier /etc/ipdiva/httpd/commonParameters.extra.conf ou de le créer les informations données ci-dessous.
Une personnalisation du paramétrage est disponible :

Valeur personnalisée Variable Commentaire
HTML5_URL_DMZ URL paramétrée lors de la déclaration de la HTML5 Gateway dans la console d'administration.
HTML5_IP_DMZ Nom DNS ou adresse IP du serveur Docker sur lequel la HTML5 Gateway Docker est active.
HTML5_PORT_DMZ Port publié par le serveur Docker pour la HTML5 Gateway Docker.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<Location /HTML5_URL_DMZ/>
    Order allow,deny
    Allow from all
    ProxyPass http://HTML5_IP_DMZ:HTML5_PORT_DMZ/systanciaHTML5-6.0/ flushpackets=on
    ProxyPassReverse http://HTML5_IP_DMZ:HTML5_PORT_DMZ
</Location>

<Location /HTML5_URL_DMZ/websocket-tunnel>
    Order allow,deny
    Allow from all
    ProxyPass ws://HTML5_IP_DMZ:HTML5_PORT_DMZ/systanciaHTML5-6.0/websocket-tunnel
    ProxyPassReverse ws://HTML5_IP_DMZ:HTML5_PORT_DMZ/systanciaHTML5-6.0/websocket-tunnel
</Location>

Le schéma global correspond à ceci :

flowchart LR
    subgraph DMZ
        direction TB
        MED(Mediation Controller)
    end

    subgraph LAN
        HTML5(HTML5 Gateway Docker)
        GW(Edge Gateway)
    end


    MED -.- | Connection to HTML5 service ; through TLS Tunnel| GW -.-> |Connection to HTML5 service ; TCP 8080| HTML5
    HTML5 --> |TLS Tunnel| MED
    GW --> |TLS Tunnel| MED

    linkStyle 0,1 stroke:#d22,color;
Hold "Ctrl" to enable pan & zoom

Dans ce contexte, il sera nécessaire d'ajouter dans le fichier /etc/ipdiva/httpd/commonParameters.extra.conf ou de le créer les informations données ci-dessous.
Une personnalisation du paramétrage est disponible :

Valeur personnalisée Variable Commentaire
HTML5_URL_LAN URL paramétrée lors de la déclaration de la HTML5 Gateway dans la console d'administration.
GW_NAME_LAN Nom de la Edge Gateway utilisée pour se connecter au service HTML5. Le caractère | placé en fin de ligne doit obligatoirement être conservé.
ORGANIZATION_NAME_LAN Nom de l'organisation à laquelle la Edge Gateway se connecte.
HTML5_IP_LAN Nom DNS ou adresse IP du serveur Docker sur lequel la HTML5 Gateway Docker est active.
HTML5_PORT_LAN Port publié par le serveur Docker pour la HTML5 Gateway Docker.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<Location /HTML5_URL_LAN/>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway GW_NAME_LAN|
    RequestHeader set X-IPdiva-Orgname ORGANIZATION_NAME_LAN
    RequestHeader set X-IPdiva-Service HTML5_IP_LAN:HTML5_PORT_LAN

    ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /HTML5_URL_LAN/websocket-tunnel>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway GW_NAME_LAN|
    RequestHeader set X-IPdiva-Orgname ORGANIZATION_NAME_LAN
    RequestHeader set X-IPdiva-Service HTML5_IP_LAN:HTML5_PORT_LAN

    ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

Astuce

Cette configuration peut aussi être utilisée dans la situation suivante où une Edge Gateway Docker et une HTML5 Gateway Docker fonctionnent dans un même réseau Docker :

flowchart LR
    subgraph DMZ
        direction TB
        MED(Mediation Controller)
    end

    subgraph LAN
        subgraph docker[Docker Server]
            HTML5([HTML5 Gateway Docker])
            GW([Edge Gateway])
        end
    end


    MED -.- | Connection to HTML5 service ; through TLS Tunnel| GW -.-> |Connection to HTML5 service ; TCP 8080 through Docker network| HTML5
    HTML5 --> |TLS Tunnel| MED
    GW --> |TLS Tunnel| MED

    linkStyle 0,1 stroke:#d22,color;
Hold "Ctrl" to enable pan & zoom
Exemple

Dans cet exemple va être réalisé le déploiement sur un même serveur Docker d'une Edge Gateway et d'une HTML5 Gateway.

Les informations de l'infrastructure utilisée pour l'exemple sont les suivantes :

  • Serveur Mediation Controller
    • Adresse IP Web : 10.0.10.10
    • Nom d'organisation : my-organization-name
    • Jeton pour Edge Gateway : YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH
    • Jeton pour HTML5 Gateway : ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF
    • URL d'accès au service HTML5 : HTML5_DOCKER
  • Serveur Docker
    • Nom du réseau Docker : cyberelements-cleanroom-network
    • Edge Gateway
      • Nom : my-edge-gateway-docker
      • Emplacement racine sur le système de fichiers : /opt/my-edge-gateway-docker
    • HTML5 Gateway
      • Nom : my-html5-gateway-docker
      • Emplacement racine sur le système de fichiers : /opt/my-html5-gateway-docker

Tout d'abbord sur le serveur Docker il est nécessaire de créer l'arborescence pour le montage des volumes Docker :

1
2
3
4
5
6
mkdir -p /opt/my-edge-gateway-docker/config
mkdir /opt/my-edge-gateway-docker/graphical_archives
mkdir /opt/my-edge-gateway-docker/ssh_archives
mkdir /opt/my-edge-gateway-docker/log
mkdir -p /opt/my-html5-gateway-docker/config
mkdir /opt/my-html5-gateway-docker/log

Puis créer un réseau Docker de type bridge afin que les deux conteneurs puissent communiquer entre-eux :

1
docker network create -d bridge cyberelements-cleanroom-network

Ensuite vient le démarrage du conteneur Edge Gateway, à noter que l'exemple réalise une connexion par appairage dont l'accès au Mediation Controller se fait via son adresse IP, le non contrôle du certificat est ajouté. De plus, le paramètre --network est ajouté pour spécifier l'utilisation du réseau Docker précédemment créé :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
docker run -d --restart unless-stopped --name "my-edge-gateway-docker" \
-e ENV_MEDIATION="10.0.10.10" \
-e ENV_TOKEN="YJ5N-JN05-N5LS-N26H-7JHA-HZ9R-BGJF-MAVH" \
-e ENV_NO_CHECK_CERT="true" \
-v "/opt/my-edge-gateway-docker/config/:/etc/ipdiva/:rw" \
-v "/opt/my-edge-gateway-docker/graphical_archives/:/var/lib/ipdiva/carerecord/archives/:rw" \
-v "/opt/my-edge-gateway-docker/ssh_archives/:/var/ipdiva/care/sshrecord/:rw" \
-v "/opt/my-edge-gateway-docker/log/:/var/log/:rw" \
-p 2222:2222 \
-p 3389:3389 \
-p 8443:8443 \
--network="cyberelements-cleanroom-network" \
cleanroom-gateway:4.6.1-33-v2

Puis vient le démarrage du conteneur HTML5 Gateway, à noter que l'exemple réalise une connexion par appairage dont l'accès au Mediation Controller se fait via son adresse IP, le non contrôle du certificat est ajouté. De plus, le paramètre --network est ajouté pour spécifier l'utilisation du réseau Docker précédemment créé et du fait que l'accès au service HTML5 passera par le réseau Docker, la publication du port 8080 n'est pas nécessaire :

1
2
3
4
5
6
7
8
docker run -d --restart unless-stopped --name "my-html5-gateway-docker" \
-e ENV_MEDIATION="10.0.10.10" \
-e ENV_TOKEN="ATCW-OMVR-0RY4-LW1M-D9G9-H5VF-WPX5-YCXF" \
-e ENV_NO_CHECK_CERT="true" \
-v "/opt/my-html5-gateway-docker/config/:/etc/ipdiva/:rw" \
-v "/opt/my-html5-gateway-docker/log/:/var/log/:rw" \
--network="cyberelements-cleanroom-network" \
cleanroom-html5:4.6.1-33-v2

Finalement il reste le paramétrage du fichier /etc/ipdiva/httpd/commonParameters.extra.conf sur le ou les serveurs Mediation Controller, ce dernier verrait l'ajout de la section suivante :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<Location /HTML5_DOCKER/>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway my-edge-gateway-docker|
    RequestHeader set X-IPdiva-Orgname my-organization-name
    RequestHeader set X-IPdiva-Service my-html5-gateway-docker:8080

    ProxyPass http://127.0.0.1:9016/systanciaHTML5-6.0/ flushpackets=on
</Location>

<Location /HTML5_DOCKER/websocket-tunnel>
    Order allow,deny
    Allow from all
    RequestHeader set X-Forwarded-Proto "https"
    RequestHeader set X-IPdiva-Gateway my-edge-gateway-docker|
    RequestHeader set X-IPdiva-Orgname my-organization-name
    RequestHeader set X-IPdiva-Service my-html5-gateway-docker:8080

    ProxyPass ws://127.0.0.1:9016/systanciaHTML5-6.0/websocket-tunnel
</Location>

Avant d'appliquer le nouveau paramétrage, un contrôle que la nouvelle configuration n'entraine pas d'erreurs bloquantes pour le serveur Web Apache2 est nécessaire.
Pour cela exécutez la commande suivante :

1
apache2ctl configtest

Si le retour est Syntax OK alors les modifications peuvent être appliquées avec la commande ci-dessous. Sinon contrôlez votre configuration du fichier /etc/ipdiva/httpd/commonParameters.extra.conf.

1
systemctl reload apache2