Instalación OpenEMR · 8 min read · Sep 08, 2025

Cómo instalar OpenEMR en el servidor Ubuntu 24.04

OpenEMR es una solución de gestión de registros de salud y práctica médica de código abierto. Es un registro de salud electrónico completamente integrado y gestión de prácticas, programación, facturación electrónica y soporte de internacionalización. OpenEMR está certificado por ONC, lo que significa que OpenEMR cumple con los estándares de la Oficina del Coordinador Nacional de Tecnología de la Información en Salud (ONC).

Esta guía te mostrará cómo instalar OpenEMR en el servidor Ubuntu 24.04 con el LEMP Stack (Linux, Nginx, MariaDB y PHP-FPM). También te mostraremos cómo asegurar OpenEMR con HTTPS de Let’s Encrypt y abrir los puertos HTTP y HTTPS a través de UFW (Firewall Sin Complicaciones).

Requisitos previos

Para comenzar con esta guía, asegúrate de tener:

  • Un servidor Ubuntu 24.04
  • Un usuario no root con privilegios de administrador
  • Un nombre de dominio que apunte a la dirección IP del servidor

Instalando dependencias de LEMP

OpenEMR es una aplicación basada en la web escrita en PHP y MySQL. Para instalarla, debes asegurarte de que tanto PHP como MySQL estén instalados. En esta guía, estarás ejecutando OpenEMR con el LEMP Stack (Linux, Nginx, MariaDB y PHP). Así que por ahora, estarás instalando esos paquetes a través del repositorio APT.

Para comenzar, ejecuta el comando ‘ apt ‘ a continuación para actualizar tu índice de paquetes de Ubuntu e instalar los paquetes del LEMP Stack (Linux, Nginx, MariaDB y PHP-FPM). Ingresa ‘Y’ para confirmar la instalación.

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

install deps

Una vez que la instalación esté completa, verifica el estado del servicio ‘ nginx ‘ con el comando ‘systemctl’ a continuación. Asegúrate de que Nginx esté en ejecución y habilitado.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

check nginx

Ahora verifica el servicio ‘ mariadb ‘ usando el siguiente comando. Verás que el servidor MariaDB está en ejecución y habilitado en tu servidor Ubuntu.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

check mariadb

Por último, verifica el servicio ‘ php8.3-fpm ‘ con el comando a continuación. Verás que el servicio PHP-FPM está en funcionamiento.

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

check php-fpm

Configurando PHP-FPM

Una vez que el LEMP Stack esté instalado, configuremos la instalación de PHP-FPM editando el ‘php.ini’, luego reiniciando el servicio PHP-FPM y aplicando tus cambios.

Edita el archivo ‘ php.ini ‘ con el editor ‘ nano ‘.

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

Cambia la configuración predeterminada con lo siguiente. Asegúrate de ajustar el ‘ memory_limit ‘ con tu RAM actual.

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

Guarda el archivo y sal del editor cuando termines.

A continuación, ejecuta el comando ‘chgrp’ a continuación para cambiar la propiedad del directorio ‘ /var/lib/php/sessions ‘ al usuario ‘ www-data ‘.

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

Por último, reinicia el servicio ‘ php8.3-fpm ‘ con el comando a continuación. Esto aplicará tus cambios a tu instalación de PHP-FPM.

sudo systemctl restart php8.3-fpm

Configurando el servidor MariaDB

Ahora que PHP está configurado, configuremos el servidor MariaDB y creemos una nueva base de datos para OpenEMR. En esta sección, asegurarás el servidor MariaDB con la utilidad ‘ mariadb-secure-installation ‘ y crearás una nueva base de datos y usuario a través del cliente ‘ mariadb ‘.

Primero, ejecuta el comando ‘ mariadb-secure-installation ‘ a continuación para asegurar tu servidor MariaDB.

sudo mariadb-secure-installation

Ahora se te preguntará sobre las siguientes configuraciones:

  • Presiona ENTER para continuar y configurar el servidor MariaDB
  • Ingresa ‘ Y ‘ para configurar la contraseña de root de MariaDB, luego escribe y repite tu contraseña
  • Ingresa ‘ Y ‘ para deshabilitar el inicio de sesión remoto para el usuario ‘ root
  • Ingresa ‘ Y ‘ para eliminar la base de datos ‘ test ‘ y sus privilegios
  • Ingresa ‘ Y ‘ para completar la configuración

Después de asegurar el servidor MariaDB, necesitas crear una nueva base de datos y usuario que serán utilizados por la instalación de OpenEMR.

Inicia sesión en el servidor MariaDB con el comando ‘ mariadb ‘ a continuación. Ingresa tu contraseña de root de MariaDB cuando se te solicite.

sudo mariadb -u root -p

Ejecuta las siguientes consultas para crear una nueva base de datos y usuario para OpenEMR. En este ejemplo, crearás una nueva base de datos ‘ openemr ‘ con el usuario ‘ openemruser ‘ y la contraseña es ‘ password ‘. Puedes ajustar los detalles de la base de datos con tu información.

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

create database and user

Ahora ejecuta la consulta a continuación para verificar los privilegios del ‘openemruser’. Asegúrate de que el usuario pueda acceder a la base de datos ‘openemr’.

SHOW GRANTS FOR openemruser@localhost;

Por último, escribe ‘ quit ‘ para salir del servidor MariaDB.

show user privileges

Descargando el código fuente de OpenEMR

Ahora que has configurado PHP-FPM y el servidor MariaDB, el siguiente paso es descargar el código fuente de OpenEMR y configurar la instalación con los permisos y la propiedad adecuados.

Ve al directorio ‘ /var/www ‘ y descarga el código fuente de OpenEMR usando el comando ‘ wget ‘ a continuación.

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

Una vez descargado, ejecuta el comando ‘tar’ a continuación para extraer el código fuente de OpenEMR y renombrar el nuevo directorio a ‘ openemr ‘. Con esto, el código fuente de OpenEMR se almacenará en el directorio ‘ /var/www/openemr ‘.

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

Por último, ejecuta el comando ‘chown’ a continuación para cambiar la propiedad del directorio ‘ /var/www/openemr ‘ al usuario ‘ www-data ‘.

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

Configurando el bloque del servidor Nginx

Después de descargar el código fuente de OpenEMR, crearás un nuevo bloque de servidor Nginx que se utilizará para ejecutar tu instalación de OpenEMR. Así que asegúrate de que tienes tu nombre de dominio listo y apuntado a la dirección IP del servidor.

Crea una nueva configuración de bloque de servidor Nginx ‘ /etc/nginx/sites-available/openemr ‘ con el siguiente comando del editor ‘ nano ‘.

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

Inserta la configuración y asegúrate de cambiar la opción ‘ server_name ‘ con tu nombre de dominio.

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;  
}  
  
# Pasar scripts PHP al servidor FastCGI  
location ~* \.php$ {  
try_files $uri =404;  
fastcgi_index index.php;  
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # Depende de la versión de PHP  
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;  
fastcgi_param DOCUMENT_ROOT $realpath_root;  
include fastcgi_params;  
}  
  
# denegar acceso a archivos/directorios escribibles  
location ~* ^/sites/*/(documents|edi|era) {  
denegar todo;  
return 404;  
}  
  
# denegar acceso a ciertos directorios  
location ~* ^/(contrib|tests) {  
denegar todo;  
return 404;  
}  
  
# Alternativamente, se puede denegar todo acceso a estos archivos  
location ~* ^/(admin|setup|acl_setup|acl_upgrade|sl_convert|sql_upgrade|gacl/setup|ippf_upgrade|sql_patch)\.php {  
denegar todo;  
return 404;  
}  
  
location = /favicon.ico {  
log_not_found off;  
access_log off;  
}  
  
location = /robots.txt {  
log_not_found off;  
access_log off;  
}  
  
location ~ /\. {  
denegar todo;  
}  
}

Guarda el archivo y sal del editor.

Ahora ejecuta el comando a continuación para activar el bloque del servidor ‘openemr’ y verificar tu sintaxis de Nginx. Si tu sintaxis de Nginx es correcta y adecuada, verás una salida como ‘ test is successful - syntax is ok ‘.

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

setup nginx

Por último, ejecuta el comando ‘ systemctl ‘ a continuación para reiniciar el servidor web Nginx y aplicar tus cambios.

sudo systemctl restart nginx

Asegurando OpenEMR con HTTPS

En esta sección, instalarás Certbot y asegurarás OpenEMR con HTTPS. Esto funcionará si estás utilizando un nombre de dominio público y un servidor. En un servidor local o de desarrollo, puedes usar certificados autofirmados.

Antes de configurar SSL, ejecuta el comando ‘ufw’ a continuación para abrir ambos servicios HTTP y HTTPS en tu servidor. Verás una salida como ‘success’.

Sudo ufw allow 'Nginx Full'

Ahora instala el ‘ certbot ‘ y el plugin ‘ python3-certbot-nginx ‘ con el siguiente comando ‘ apt ‘. Ingresa ‘Y’ para confirmar la instalación.

sudo apt install certbot python3-certbot-nginx -y

Después de que la instalación esté completa, ejecuta el comando ‘certbot’ a continuación para generar certificados SSL y asegurar tu instalación de OpenEMR.

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

Una vez que el proceso haya terminado, tus certificados SSL estarán disponibles en el directorio ‘ /etc/letsencrypt/live/domain.com ‘. Además, tu instalación de OpenEMR estará asegurada con HTTPS.

Instalando OpenEMR

Abre tu navegador web y visita https://openemr.howtoforge.local/ a través de un navegador web.

Primero, el instalador verificará los permisos del código fuente de OpenEMR, así que asegúrate de tener los permisos adecuados.

installation

Selecciona la opción ‘ He creado la base de datos ‘ para configurar tu integración de base de datos.

i have the database

Ingresa los detalles de tu base de datos y el nuevo administrador para OpenEMR.

database settings

La inicialización de la base de datos se estará ejecutando y tu usuario administrador será creado.

installation

A continuación, asegúrate de que tu configuración de PHP cumpla con los requisitos de OpenEMR.

php configuration

Una vez que la instalación esté completa, serás redirigido a la página de inicio de sesión de OpenEMR. Escribe tu usuario administrador y contraseña, luego haz clic en Iniciar sesión.

login

Si es exitoso, verás el siguiente panel de control de OpenEMR.

dashboard

Conclusión

¡Felicidades! Has completado la instalación de OpenEMR en el servidor Ubuntu 24.04. OpenEMR está en funcionamiento con PHP-FPM, el servidor web Nginx y el servidor MariaDB. También has asegurado OpenEMR con HTTPS a través de Certbot y Let’s Encrypt.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.