Recherche sur le site Web

Comment installer OpenEMR sur un serveur Ubuntu 24.04


Comment installer OpenEMR sur un serveur Ubuntu 24.04

Ce tutoriel existe pour ces versions d'OS

  • Ubuntu 24.04 (Noble Numbat)
  • Ubuntu 22.04 (Méduse joyeuse)

Sur cette page

  1. Conditions préalables
  2. Installation des dépendances LEMP
  3. Configuration de PHP-FPM
  4. Configuration du serveur MariaDB
  5. Téléchargement du code source d'OpenEMR
  6. Configuration du bloc de serveur Nginx
  7. Sécuriser OpenEMR avec HTTPS
  8. Installer OpenEMR
  9. Conclusion

OpenEMR est une solution de dossiers de santé et de gestion de pratique médicale en open source. Il s'agit d'un dossier de santé électronique et d'une gestion de pratique entièrement intégrés, ainsi que d'un support de planification, de facturation électronique et d'internationalisation. OpenEMR est certifié par l'ONC, ce qui signifie qu'OpenEMR respecte les normes du Bureau du coordonnateur national pour la technologie de l'information en santé (ONC).

Ce guide vous montrera comment installer OpenEMR sur un serveur Ubuntu 24.04 avec la pile LEMP (Linux, Nginx, MariaDB et PHP-FPM). Nous vous montrerons également comment sécuriser OpenEMR avec HTTPS de Let's Encrypt et ouvrir les ports HTTP et HTTPS via UFW (Pare-feu simple).

Conditions préalables

Pour commencer avec ce guide, assurez-vous d'avoir :

  • Un serveur Ubuntu 24.04
  • Un utilisateur non-root avec des privilèges d'administrateur
  • Un nom de domaine pointe vers l'adresse IP du serveur

Installation des dépendances LEMP

OpenEMR est une application web écrite en PHP et MySQL. Pour l'installer, vous devez vous assurer que PHP et MySQL sont tous deux installés. Dans ce guide, vous exécuterez OpenEMR avec la pile LEMP (Linux, Nginx, MariaDB et PHP). Donc pour le moment, vous installerez ces paquets via le dépôt APT.

Pour commencer, exécutez la commande 'apt' ci-dessous pour mettre à jour l'index des paquets Ubuntu et installer les paquets de la pile LEMP (Linux, Nginx, MariaDB et PHP-FPM). Entrez 'Y' pour confirmer l'installation.

sudo apt update
sudo apt install nginx mariadb-server php-fpm php-mysql php-bcmath php-xml php-zip php-curl php-mbstring php-gd php-tidy php-intl php-cli php-soap imagemagick libtiff-tools php-ldap

Après que l'installation est terminée, vérifiez l'état du service 'nginx' avec la commande 'systemctl' ci-dessous. Assurez-vous que Nginx est en cours d'exécution et activé.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Maintenant, vérifiez le service mariadb en utilisant la commande suivante. Vous verrez que le serveur MariaDB est en cours d'exécution et activé sur votre serveur Ubuntu.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Enfin, vérifiez le service 'php8.3-fpm' avec la commande ci-dessous. Vous verrez que le service PHP-FPM est en cours d'exécution.

sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm

Configuration de PHP-FPM

Une fois que la pile LEMP est installée, configurons l'installation de PHP-FPM en éditant le 'php.ini', puis en redémarrant le service PHP-FPM et en appliquant vos modifications.

Éditez le fichier 'php.ini' avec l'éditeur 'nano'.

sudo nano /etc/php/8.3/fpm/php.ini

Changez la configuration par défaut avec ce qui suit. Assurez-vous d'ajuster le 'memory_limit' en fonction de votre RAM actuelle.

max_execution_time = 60
max_input_time = -1
memory_limit = 512M
post_max_size = 30M
upload_max_filesize = 30M
max_input_vars = 3000
mysqli.allow_local_infile = On

Enregistrez le fichier et quittez l'éditeur une fois terminé.

Ensuite, exécutez la commande 'chgrp' ci-dessous pour changer la propriété du répertoire '/var/lib/php/sessions' à l'utilisateur 'www-data'.

sudo chgrp -R www-data /var/lib/php/sessions

Enfin, redémarrez le service 'php8.3-fpm' avec la commande ci-dessous. Cela appliquera vos modifications à votre installation PHP-FPM.

sudo systemctl restart php8.3-fpm

Configuration du serveur MariaDB

Maintenant que PHP est configuré, configurons le serveur MariaDB et créons une nouvelle base de données pour OpenEMR. Dans cette section, vous allez sécuriser le serveur MariaDB avec l'utilitaire 'mariadb-secure-installation' et créer une nouvelle base de données et un nouvel utilisateur via le client 'mariadb'.

Tout d'abord, exécutez la commande 'mariadb-secure-installation' ci-dessous pour sécuriser votre serveur MariaDB.

sudo mariadb-secure-installation

Maintenant, vous serez interrogé sur les configurations suivantes :

  • Appuyez sur ENTRÉE pour continuer et configurer le serveur MariaDB.
  • Entrez '<strong>Y</strong>' pour configurer le mot de passe root de MariaDB, puis saisissez et répétez votre mot de passe.
  • Entrez 'Y' pour désactiver la connexion à distance pour l'utilisateur 'root'.
  • Entrez 'Y' pour supprimer la base de données 'test' et ses privilèges.
  • Entrez 'Y' pour compléter la configuration

Après avoir sécurisé le serveur MariaDB, vous devez créer une nouvelle base de données et un utilisateur qui seront utilisés par l'installation d'OpenEMR.

Connectez-vous au serveur MariaDB avec la commande 'mariadb' ci-dessous. Entrez votre mot de passe root de MariaDB lorsque cela vous est demandé.

sudo mariadb -u root -p

Exécutez les requêtes suivantes pour créer une nouvelle base de données et un utilisateur pour OpenEMR. Dans cet exemple, vous allez créer une nouvelle base de données 'openemr' avec l'utilisateur 'openemruser' et le mot de passe est 'password'. Vous pouvez ajuster les détails de la base de données avec vos informations.

CREATE DATABASE openemr;
CREATE USER 'openemruser'@'localhost' IDENTIFIED BY 'Your_password2';
GRANT ALL PRIVILEGES ON openemr.* TO 'openemruser'@'localhost';
FLUSH PRIVILEGES;

Exécutez maintenant la requête ci-dessous pour vérifier les privilèges de l'utilisateur 'openemruser'. Assurez-vous que l'utilisateur peut accéder à la base de données 'openemr'.

SHOW GRANTS FOR openemruser@localhost;

Enfin, tapez 'quit' pour quitter le serveur MariaDB.

Téléchargement du code source d'OpenEMR

Maintenant que vous avez configuré le serveur PHP-FPM et MariaDB, la prochaine étape consiste à télécharger le code source d'OpenEMR et à configurer l'installation avec les autorisations et la propriété appropriées.

Allez dans le répertoire '/var/www' et téléchargez le code source d'OpenEMR en utilisant la commande 'wget' ci-dessous.

cd /var/www/
wget https://sourceforge.net/projects/openemr/files/OpenEMR%20Current/7.0.2/openemr-7.0.2.tar.gz

Une fois téléchargé, exécutez la commande 'tar' ci-dessous pour extraire le code source d'OpenEMR et renommer le nouveau répertoire en 'openemr'. Avec cela, le code source d'OpenEMR sera stocké dans le répertoire '/var/www/openemr'.

tar -pxzf openemr-7.0.2.tar.gz
mv openemr-7.0.2 openemr

Enfin, exécutez la commande 'chown' ci-dessous pour changer la propriété du répertoire '/var/www/openemr' à l'utilisateur 'www-data'.

sudo chown -R www-data:www-data /var/www/openemr

Configuration du bloc de serveur Nginx

Après avoir téléchargé le code source d'OpenEMR, vous créerez un nouveau bloc de serveur Nginx qui sera utilisé pour exécuter votre installation OpenEMR. Assurez-vous donc d'avoir votre nom de domaine prêt et pointé vers l'adresse IP du serveur.

Créez une nouvelle configuration de bloc de serveur Nginx « /etc/nginx/sites-available/openemr » avec la commande de l'éditeur « nano » suivante.

sudo nano /etc/nginx/sites-available/openemr

Insérez la configuration et assurez-vous de changer l’option 'server_name' avec votre nom de domaine.

server {
listen 80;
server_name openemr.example.com;
access_log /var/log/nginx/openemr.access.log;
error_log /var/log/nginx/openemr.error.log;
root /var/www/openemr;
index index.php;
location / {
try_files $uri $uri/ /index.php;
}
Pass PHP Scripts To FastCGI Server
location ~* \.php$ {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # Depends On The PHP Version
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
include fastcgi_params;
}
deny access to writable files/directories
location ~* ^/sites/*/(documents|edi|era) {
deny all;
return 404;
}
deny access to certain directories
location ~* ^/(contrib|tests) {
deny all;
return 404;
}
Alternatively all access to these files can be denied
location ~* ^/(admin|setup|acl_setup|acl_upgrade|sl_convert|sql_upgrade|gacl/setup|ippf_upgrade|sql_patch)\.php {
deny all;
return 404;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
log_not_found off;
access_log off;
}
location ~ /\. {
deny all;
}
}

Enregistrez le fichier et quittez l'éditeur.

Maintenant, exécutez la commande ci-dessous pour activer le bloc serveur 'openemr' et vérifier la syntaxe de votre Nginx. Si vous avez raison et que la syntaxe de Nginx est correcte, vous verrez une sortie telle que 'test réussi - la syntaxe est correcte'.

sudo ln -s /etc/nginx/sites-available/openemr /etc/nginx/sites-enabled/
sudo nginx -t

Enfin, exécutez la commande 'systemctl' ci-dessous pour redémarrer le serveur web Nginx et appliquer vos modifications.

sudo systemctl restart nginx

Sécuriser OpenEMR avec HTTPS

Dans cette section, vous allez installer Certbot et sécuriser OpenEMR avec HTTPS. Cela fonctionnera si vous utilisez un nom de domaine public et un serveur. Sur un serveur local ou de développement, vous pouvez utiliser des certificats auto-signés.

Avant de configurer SSL, exécutez la commande 'ufw' ci-dessous pour ouvrir à la fois les services HTTP et HTTPS sur votre serveur. Vous verrez une sortie telle que 'succès'.

Sudo ufw allow 'Nginx Full'

Maintenant, installez le plugin '<em>certbot</em>' et '<em>python3-certbot-nginx</em>' avec la commande '<em>apt</em>'. Entrez 'Y' pour confirmer l'installation.

sudo apt install certbot python3-certbot-nginx -y

Après l'installation, exécutez la commande 'certbot' ci-dessous pour générer des certificats SSL et sécuriser votre installation OpenEMR.

sudo certbot --nginx -d openemr.howtoforge.local

Une fois le processus terminé, vos certificats SSL seront disponibles dans le répertoire '/etc/letsencrypt/live/domain.com'. De plus, votre installation OpenEMR sera sécurisée avec HTTPS.

Installer OpenEMR

Ouvrez votre navigateur web et visitez https://openemr.howtoforge.local/ à l'aide d'un navigateur.

Tout d'abord, l'installateur vérifiera les permissions du code source d'OpenEMR, alors assurez-vous d'avoir les bonnes permissions.

Sélectionnez l'option 'J'ai créé la base de données' pour configurer votre intégration de base de données.

Entrez les détails de votre base de données et le nouvel administrateur admin pour OpenEMR.

L'initialisation de la base de données sera en cours et votre utilisateur administrateur sera créé.

Ensuite, assurez-vous que votre configuration PHP répond aux exigences d'OpenEMR.

Une fois l'installation terminée, vous serez redirigé vers la page de connexion d'OpenEMR. Tapez votre nom d'utilisateur administrateur et votre mot de passe, puis cliquez sur Connexion.

Si réussi, vous verrez le tableau de bord OpenEMR suivant.

Conclusion

Félicitations ! Vous avez terminé l'installation d'OpenEMR sur le serveur Ubuntu 24.04. OpenEMR est opérationnel avec PHP-FPM, le serveur web Nginx et le serveur MariaDB. Vous avez également sécurisé OpenEMR avec HTTPS grâce à Certbot et Let's Encrypt.

Articles connexes: