Installation¶
Cette section contient des informations relatives à l'installation, à la gestion et à la maintenance des systèmes DHIS2. Elle explique comment installer DHIS2 dans différents contextes, notamment sur un serveur central en ligne, un réseau local hors ligne ou une application autonome.
Introduction¶
DHIS2 fonctionne sur toutes les platesformes pour lesquelles il existe un JRE Java, ce qui inclut les systèmes d'exploitation les plus courants tels que Linux, Windows et Mac. DHIS2 est présenté sous la forme d'une archive Web Java standard (fichier WAR) et fonctionne donc sur tous les conteneurs Servlet tels que Tomcat et Jetty. Il écrit ses données dans une base de données PostgreSQL. Nous recommandons de l'exécuter sur un système Ubuntu LTS pris en charge.
Ce chapitre fournit un guide pour la configuration de la pile technologique ci-dessus. Il doit cependant être lu comme un guide opérationnel et non comme une document complet sur l'environnement mentionné. Nous nous référons à la documentation officielle d'Ubuntu, PostgreSQL et Tomcat pour obtenir des informations détaillées.
Spécifications du serveur¶
DHIS2 est une application très exigeante en matière de base de données et nécessite que votre serveur ait suffisamment de mémoire vive (RAM), de cœurs CPU et un disques rapide, de préférence un disque à circuits intégrés. Ces recommandations doivent être considérées comme des règles de base et non comme des mesures exactes. DHIS2 évolue de façon linéaire en fonction de la quantité de mémoire vive et du nombre de cœurs de CPU. Plus vous en avez, mieux l'application performe.
-
- RAM
- Au moins 8 Go pour une petite instance, 16 Go pour une instance moyenne, 64 Go ou plus pour une grande instance.
-
- CPU
- 4 cœurs CPU pour une petite instance, 8 cœurs CPU pour une instance moyenne, 16 cœurs CPU ou plus pour une grande instance.
-
- Disque
- Il est recommandé d'utiliser un disque dur SSD comme périphérique de stockage. Une vitesse de lecture minimale de 150 Mb/s, 200 Mb/s est acceptable, 350 Mb/s ou plus est idéal. Un espace de stockage d'au moins 100 Go est recommandé, mais cela dépend entièrement de la quantité de données contenues dans les tableaux de valeurs de données. Les tableaux analytiques nécessitent un espace de stockage important. Faites une planification à l'avance et assurez-vous que votre serveur peut être mis à niveau avec plus d'espace disque en cas de besoin. Sur Linux, vous pouvez tester la latence et le débit du disque à l'aide des commandes ci-dessous.
# disk latency
dd if=/dev/zero of=/tmp/test2.img bs=512 count=1000 oflag=dsync
# disk throughput
dd if=/dev/zero of=/tmp/test1.img bs=1G count=1 oflag=dsync
# remove /tmp/test1.img after testing
rm -v -i /tmp/test1.img
Exigences du logiciels¶
Les versions ultérieures de DHIS2 nécessitent les versions logicielles suivantes pour fonctionner.
- Un système d'exploitation pour lequel il existe une version 8, 11 ou 17 du JDK ou du JRE de Java. La version Ubuntu LTS est recommandée.
- Java JDK. OpenJDK est recommandé.
Tableau : Compatibilité DHIS2 - JDK
| Version DHIS2 | JDK recommandée | JDK requise |
|---|---|---|
| 2.41 | 17 | 17 |
| 2.40 | 17 | 11 |
| 2.38 | 11 | 11 |
| 2.35 | 11 | 8 |
| pré 2.35 | 8 | 8 |
- Base de données PostgreSQL version 13 ou ultérieure. Une version ultérieure de PostgreSQL 16 est recommandée.
- Extension de base de données PostGIS version 2.2 ou ultérieure. La version 3 est recommandée.
- Conteneur servlet Tomcat version 8.5.50 ou 9. La version 9 est recommandée.
- Configuration du cluster uniquement (optionnel) : Entrepôt de données Redis version 4 ou ultérieure.
Ainsi, une installation minimale de DHIS2 consisterait uniquement en un serveur Tomcat (avec le fichier War de DHIS2 déployé) et une base de données PostgreSQL. Ce type d'installation minimale peut convenir dans un contexte de développement ou d'expérimentation. Pour un déploiement en production, beaucoup d'autres facteurs sont à prendre en compte en termes de maintenance, de suivi, de sécurité, d'évolutivité et de performance.
Approches d'installation¶
Il existe plusieurs façons d'installer et de faire fonctionner DHIS2. La méthode d'installation que vous choisirez dépendra de vos compétences et des outils que vous maîtrisez, ainsi que de l'objectif de l'installation, à savoir la production ou l'expérimentation. Nous avons des guides qui mettent l'accent sur les différents styles d'implémentation. Quelle que soit l'approche adoptée, il vous faut vous familiariser avec le matériel de référence complémentaire que nous fournissons sur la gestion des bases de données, la configuration du proxy inverse, la surveillance du système, les mises à niveau, etc.
Installation automatisée¶
Ces outils sont basés sur Ansible [dhis2-server-tools] (https://github.com/dhis2/dhis2-server-tools). Un ensemble de playbooks ansible sont fournis pour automatiser l'installation et la gestion de DHIS2 et des composants qui l'accompagnent. Les outils sont orientés vers les environnements de production et visent à répondre dans l'immédiat aux considérations les plus importantes en matière de sécurité et de surveillance.
Installation manuelle¶
Ce guide fournit des instructions étape par étape pour installer DHIS2 sur Ubuntu 22.04. Cependant, pour les environnements de production, nous recommandons vivement l'installation automatisée afin de garantir la cohérence et la facilité de gestion. L'installation manuelle est idéale pour apprendre et comprendre comment les différents composants de DHIS2 sont configurés et comment ils sont interconnectés.
Exécution de DHIS2 sur Docker¶
Éléments importants à prendre en compte pour le déploiement de DHIS2 avec Docker¶
Bien que les conteneurs Docker permettent d'exécuter des applications DHIS2, il existe des facteurs importants à prendre en compte avant de mettre en œuvre cette approche dans des environnements de production.
Cas d'utilisation en production limitée :¶
Les images de Docker actuellement disponibles pour DHIS2 peuvent ne pas convenir aux déploiements en production. Ces images n'ont pas fait l'objet de tests approfondis dans des environnements de production réels. Bien qu'elles puissent fonctionner de manière adéquate dans des contextes de développement, leur stabilité et leur performance sous des charges de travail exigeantes ne peuvent être garanties pour des applications critiques.
Sensibilisation des utilisateurs et tests :¶
La décision d'utiliser DHIS2 dans des conteneurs Docker pour des environnements de production incombe uniquement à l'utilisateur. Si vous décidez d'adopter cette approche, vous devez absolument procéder à des tests complets de sécurité, de performance et de résistance. Des tests rigoureux permettront de garantir la stabilité et la fiabilité de votre application DHIS2 dans un environnement de production.
Pour ceux qui souhaitent explorer DHIS2 avec Docker, le lien suivant fournit des informations sur l'exécution de DHIS2 dans un conteneur Docker :
Exécution de DHIS2 sur Kubernetes¶
Utilisation de Kubernetes pour le déploiement de DHIS2¶
Kubernetes, une plateforme d'orchestration de conteneurs open-source de premier plan, offre une approche convaincante pour automatiser le déploiement, l'extension et la gestion des applications conteneurisées.
REMARQUE
Kubernetes pourraient toujours avoir besoin des images docker dhis2 et donc les réserves formulées ci-dessus à propos des cas d'utilisation en production limitée sont toujours valables.
Sélection de l'image du conteneur :¶
Bien que Kubernetes ne dépende pas du format d'image du conteneur, le succès du déploiement de DHIS2 repose sur des images de conteneur facilement disponibles. Actuellement, les images Docker disponibles pour DHIS2 sont principalement destinées aux environnements de développement. Ces images peuvent ne pas avoir fait l'objet de tests rigoureux pour les charges de travail de production, et cela peut affecter la stabilité et les performances.