Cómo instalar OpenEMR en Debian 12

OpenEMR es una historia clínica electrónica y una herramienta de gestión de consultas médicas de código abierto. Está certificada por la Oficina del Coordinador Nacional de Tecnología de la Información Sanitaria (ONC) y ofrece historiales médicos integrados, gestión de consultas, programación, facturación electrónica, internacionalización, asistencia gratuita y mucho más. Puede realizar un seguimiento de los datos demográficos de los pacientes, programar citas, mantener historiales médicos extremadamente detallados con informes de laboratorio, medicamentos y procedimientos, realizar un seguimiento de sus recetas, ayudar con la facturación médica, generar informes detallados y soporte multilingüe.

En este tutorial, aprenderás a instalar el software OpenEMR en un servidor con Debian 12.

Requisitos previos

  • Un servidor con Debian 12.
  • Un usuario sudo no root.
  • Un nombre de dominio completo (FQDN) como openemr.example.com.
  • Asegúrate de que todo está actualizado.
    $ sudo apt update
    $ sudo apt upgrade
    
  • Pocos paquetes que necesite tu sistema.
    $ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring unzip -y
    

    Puede que algunos de estos paquetes ya estén instalados en tu sistema.

Paso 1 – Configurar el Cortafuegos

El primer paso es configurar el cortafuegos. Debian viene con ufw (Uncomplicated Firewall) por defecto.

Comprueba si el cortafuegos se está ejecutando.

$ sudo ufw status

Obtendrás la siguiente salida.

Status: inactive

Permite el puerto SSH para que el cortafuegos no rompa la conexión actual al activarlo.

$ sudo ufw allow OpenSSH

Permite también los puertos HTTP y HTTPS.

$ sudo ufw allow http
$ sudo ufw allow https

Habilita el cortafuegos

$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Comprueba de nuevo el estado del cortafuegos.

$ sudo ufw status

Deberías ver un resultado similar.

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443                        ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)

Paso 2 – Instala Nginx

Debian 12 incluye una versión antigua de Nginx. Para instalar la última versión, tienes que descargar el repositorio oficial de Nginx.

Importa la clave de firma de Nginx.

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Añade el repositorio de la versión estable de Nginx.

$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/debian `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

Actualiza los repositorios del sistema.

$ sudo apt update

Instala Nginx.

$ sudo apt install nginx

Verifica la instalación. En sistemas Debian, el siguiente comando sólo funcionará con sudo.

$ sudo nginx -v
nginx version: nginx/1.24.0

Inicia el servidor Nginx.

$ sudo systemctl start nginx

Comprueba el estado del servicio.

? nginx.service - nginx - high performance web server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
     Active: active (running) since Tue 2023-08-08 02:03:03 UTC; 5s ago
       Docs: https://nginx.org/en/docs/
    Process: 4929 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
   Main PID: 4930 (nginx)
      Tasks: 2 (limit: 2315)
     Memory: 1.8M
        CPU: 12ms
     CGroup: /system.slice/nginx.service
             ??4930 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf"
             ??4931 "nginx: worker process"

Paso 3 – Instala MariaDB

Debian 12 no incluye MySQL por defecto y aún no han publicado un paquete oficial para ello. Por lo tanto, utilizaremos MariaDB para ello. MariaDB tampoco tiene un paquete oficial para Debian 12, pero Debian lo incluye. Por lo tanto, instálalo utilizando el siguiente comando.

$ sudo apt install mariadb-server

Comprueba la versión de MySQL.

$ mysql --version
mysql  Ver 15.1 Distrib 10.11.3-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper

Ejecuta el script de instalación segura de MariaDB.

$ sudo mysql_secure_installation

Se te pedirá la contraseña de root. Pulsa Intro porque no le hemos puesto ninguna contraseña.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none):

A continuación, se te preguntará si quieres cambiar al método de autenticación por socket Unix. El complemento unix_socket te permite utilizar las credenciales de tu sistema operativo para conectarte al servidor MariaDB. Como ya tienes una cuenta raíz protegida, introduce n para continuar.

OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] n

A continuación, se te preguntará si quieres cambiar la contraseña de root. En Debian 12, la contraseña de root está estrechamente ligada al mantenimiento automatizado del sistema, por lo que conviene no modificarla. Escribe n para continuar.

 ... skipping.

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] n

A continuación, se te harán algunas preguntas para mejorar la seguridad de MariaDB. Escribe Y para eliminar los usuarios anónimos, desautorizar los inicios de sesión remotos de root, eliminar la base de datos de prueba y recargar las tablas de privilegios.

 ... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Puedes entrar en el intérprete de comandos de MariaDB escribiendo sudo mysql o sudo mariadb en la línea de comandos.

Paso 4 – Configurar MariaDB

Accede al intérprete de comandos MariaDB.

$ sudo mysql

Crea la base de datos OpenEMR.

mysql> CREATE DATABASE openemr;

Crea la cuenta de usuario OpenEMR.

mysql> CREATE USER 'openemruser'@'localhost' IDENTIFIED BY 'Your_password2!';

Concede todos los privilegios sobre la base de datos al usuario.

mysql> GRANT ALL PRIVILEGES ON openemr.* TO 'openemruser'@'localhost';

Como no vamos a modificar el usuario root, debes crear otro usuario SQL para realizar tareas administrativas que empleen autenticación por contraseña. Elige una contraseña segura para éste.

MariaDB> GRANT ALL ON *.* TO 'navjot'@'localhost' IDENTIFIED BY 'Yourpassword32!' WITH GRANT OPTION;

Elimina los privilegios del usuario.

mysql> FLUSH PRIVILEGES;

Sal del intérprete de comandos.

mysql> exit

Paso 5 – Instalar PHP y sus extensiones

Debian 12 incluye PHP 8.2 por defecto. Puedes instalarlo ejecutando el siguiente comando.

$ sudo apt install 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

Para estar siempre con la última versión de PHP o si quieres instalar varias versiones de PHP, añade el repositorio PHP de Ondrej.

Primero, importa la clave GPG del repositorio PHP de Sury.

$ sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg

Añade el repositorio PHP de Ondrej Sury.

$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'

Actualiza la lista de repositorios del sistema.

$ sudo apt update	

A continuación, instala PHP y sus extensiones requeridas por OpenEMR.

$ sudo apt install php8.2-fpm php8.2-mysql php8.2-bcmath php8.2-xml php8.2-zip php8.2-curl php8.2-mbstring php8.2-gd php8.2-tidy php8.2-intl php8.2-cli php8.2-soap imagemagick libtiff-tools php8.2-ldap

Verifica la instalación.

$ php --version
PHP 8.2.8 (cli) (built: Jul 16 2023 11:00:43) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.8, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.8, Copyright (c), by Zend Technologies

Paso 6 – Instalar SSL

Necesitamos instalar Certbot para generar el certificado SSL. Puedes instalar Certbot utilizando el repositorio de Debian u obtener la última versión utilizando la herramienta Snapd. Nosotros utilizaremos la versión Snapd.

Debian 12 no viene con Snapd instalado. Instala el paquete Snapd.

$ sudo apt install snapd

Ejecuta los siguientes comandos para asegurarte de que tu versión de Snapd está actualizada.

$ sudo snap install core && sudo snap refresh core

Instala Certbot.

$ sudo snap install --classic certbot

Utiliza el siguiente comando para asegurarte de que se puede ejecutar el comando Certbot creando un enlace simbólico al directorio /usr/bin.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Comprueba si Certbot funciona correctamente.

$ certbot --version
certbot 2.6.0

Ejecuta el siguiente comando para generar un certificado SSL.

$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d openemr.example.com

El comando anterior descargará un certificado en el directorio /etc/letsencrypt/live/openemr.example.com de tu servidor.

Genera un certificado de grupo Diffie-Hellman.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Comprueba el servicio programador de renovación de Certbot.

$ sudo systemctl list-timers

Encontrarás snap.certbot.renew.service como uno de los servicios programados para ejecutarse.

NEXT                        LEFT          LAST                        PASSED    UNIT                      ACTIVATES
.....
Tue 2023-08-08 03:09:00 UTC 23min left    Tue 2023-08-08 02:39:00 UTC 6min ago  phpsessionclean.timer        phpsessionclean.service
Tue 2023-08-08 04:21:00 UTC 1h 35min left -                           -         snap.certbot.renew.timer     snap.certbot.renew.service
Tue 2023-08-08 06:25:00 UTC 3h 39min left Mon 2023-08-07 13:54:08 UTC 12h ago   ntpsec-rotate-stats.timer    ntpsec-rotate-stats.service

Realiza una ejecución en seco del proceso para comprobar si la renovación SSL funciona correctamente.

$ sudo certbot renew --dry-run

Si no ves ningún error, ya está todo listo. Tu certificado se renovará automáticamente.

Paso 7 – Descarga OpenEMR

Visita la página de descargas de OpenEMR y coge el enlace de la última versión de OpenEMR. Descarga OpenEMR en el servidor.

$ wget https://sourceforge.net/projects/openemr/files/OpenEMR%20Current/7.0.1/openemr-7.0.1.tar.gz

Extrae los archivos.

$ tar -pxzf openemr-7.0.1.tar.gz

Crea el directorio /var/www/html.

$ sudo mkdir /var/www/html -p

Mueve los archivos extraídos al directorio web.

$ sudo mv openemr-7.0.1 /var/www/html/openemr

Da permisos al usuario Nginx sobre el directorio raíz web.

$ sudo chown -R nginx:nginx /var/www/html/openemr

Paso 8 – Instalar phpMyAdmin

Antes de configurar PHP-FPM, instalaremos phpMyAdmin, que podrás utilizar para navegar y editar la base de datos.

Descarga el archivo de phpMyAdmin para el idioma español. Coge el enlace de la última versión de la página de descargas de phpMyAdmin.

$ wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-english.tar.gz

Extrae el archivo comprimido al directorio público.

$ sudo tar -xzf phpMyAdmin-5.2.1-english.tar.gz -C /var/www/html/openemr

Cambia al directorio público.

$ cd /var/www/html/openemr

Cambia el nombre del directorio extraído a algo oscuro para mejorar la seguridad.

$ sudo mv phpMyAdmin-5.2.1-english sm175

Paso 9 – Configurar phpMyAdmin

Copia el archivo de configuración de ejemplo.

$ sudo cp sm175/config.sample.inc.php sm175/config.inc.php

Abre el archivo de configuración para editarlo.

$ sudo nano sm175/config.inc.php

Busca la línea $cfg['blowfish_secret'] = ''; e introduce una cadena aleatoria de 32 caracteres para la autenticación basada en cookies.

Puedes utilizar el generador blowfish online de phpSolved o hacerlo a través de la línea de comandos.

Copia el valor y pégalo como se muestra.

$cfg['blowfish_secret'] = 'Tc/HfLPBOAPxJ-rhQP}HJoZEK69c3j:m';

Guarda el archivo pulsando Ctrl + X e introduciendo Y cuando se te solicite.

Cambia la propiedad del directorio phpMyAdmin al servidor Nginx.

$ sudo chown -R nginx:nginx /var/www/html/openemr/sm175

Elimina el directorio de configuración phpMyAdmin.

$ sudo rm -rf /var/www/html/openemr/sm175/setup

Paso 10 – Configurar PHP-FPM

Abre el archivo /etc/php/8.2/fpm/pool.d/www.conf.

$ sudo nano /etc/php/8.2/fpm/pool.d/www.conf

Necesitamos establecer el usuario/grupo Unix de los procesos PHP a nginx. Busca las líneas user=www-data y group=www-data en el archivo y cámbialas por nginx.

; Unix user/group of the child processes. This can be used only if the master
; process running user is root. It is set after the child process is created.
; The user and group can be specified either by their name or by their numeric
; IDs.
; Note: If the user is root, the executable needs to be started with
;       --allow-to-run-as-root option to work.
; Default Values: The user is set to master process running user by default.
;                 If the group is not set, the user's group is used.
user = nginx
group = nginx
...

Busca las líneas listen.owner = www-data y listen.group = www-data en el archivo y cámbialas por nginx.

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. The owner
; and group can be specified either by name or by their numeric IDs.
; Default Values: Owner is set to the master process running user. If the group
;                 is not set, the owner's group is used. Mode is set to 0660.
listen.owner = nginx
listen.group = nginx

Guarda el archivo pulsando Ctrl + X e introduciendo Y cuando se te solicite.

Aumenta el tiempo de ejecución de PHP-FPM y PHP-CLI a 60 segundos.

$ sudo sed -i 's/max_execution_time = 30/max_execution_time = 60/' /etc/php/8.2/fpm/php.ini

Establece el valor de la variable max_input_time en 1.

$ sudo sed -i 's/max_input_time = 60/max_input_time = -1/' /etc/php/8.2/fpm/php.ini

Aumenta el límite de memoria para PHP-FPM de 128MB a 512MB.

$ sudo sed -i 's/memory_limit = 128M/memory_limit = 512M/' /etc/php/8.2/fpm/php.ini

Aumenta el tamaño de subida de archivos a 30MB.

$ sudo sed -i 's/post_max_size = 8M/post_max_size = 30M/' /etc/php/8.2/fpm/php.ini
$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 30M/' /etc/php/8.2/fpm/php.ini

Aumenta el número de variables de entrada máximas a 3000.

$ sudo sed -i 's/;max_input_vars = 1000/max_input_vars = 3000/g' /etc/php/8.2/fpm/php.ini

Permite acceder, desde la perspectiva de PHP, a archivos locales con sentencias LOAD DATA.

$ sudo sed -i 's/;mysqli.allow_local_infile = On/mysqli.allow_local_infile = On/g' /etc/php/8.2/fpm/php.ini

Reinicia el servicio PHP-FPM.

$ sudo systemctl restart php8.2-fpm

Cambia el grupo del directorio de sesiones PHP a Nginx.

$ sudo chgrp -R nginx /var/lib/php/sessions

Paso 11 – Configurar Nginx

Crea y abre el archivo /etc/nginx/conf.d/openemr.conf para editarlo.

$ sudo nano /etc/nginx/conf.d/openemr.conf

Pega en él el siguiente código.

server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name  openemr.example.com;

    access_log  /var/log/nginx/openemr.access.log;
    error_log   /var/log/nginx/openemr.error.log;

    # SSL
    ssl_certificate         /etc/letsencrypt/live/openemr.example.com/fullchain.pem;
    ssl_certificate_key     /etc/letsencrypt/live/openemr.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/openemr.example.com/chain.pem;
    ssl_session_timeout  1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    # use https://blog.cloudflare.com/announcing-1111 Cloudfare+Apnic labs, It is free and secure
    resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] valid=300s;

    root /var/www/html/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-fpm/www.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;
    }
}

# enforce HTTPS
server {
    listen       80;
    listen       [::]:80;
    server_name  openemr.example.com;
    return 301   https://$host$request_uri;
}

Observa que el directorio raíz que se utilizará en la configuración de Nginx es /var/www/html/wallabag/public/.

Guarda el archivo pulsando Ctrl + X e introduciendo Y cuando se te pida una vez hayas terminado.

Abre el archivo /etc/nginx/nginx.conf para editarlo.

$ sudo nano /etc/nginx/nginx.conf

Añade la siguiente línea antes de la línea include /etc/nginx/conf.d/*.conf;.

server_names_hash_bucket_size  64;

Guarda el archivo pulsando Ctrl + X e introduciendo Y cuando se te solicite.

Verifica la sintaxis del archivo de configuración de Nginx.

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Reinicia el servicio Nginx.

$ sudo systemctl restart nginx

Paso 12 – Instalar OpenEMR

Abre la URL https://openemr.example.com en tu navegador y verás la siguiente pantalla de configuración.

Comprobación de la instalación de OpenEMR

Aquí comprueba los permisos de los archivos y confirma si puedes continuar con el paso 1 o no. Si ves la palabra ready en verde, significa que puedes continuar. Pulsa el botón azul para continuar con el paso 1.

Asistente de configuración de la base de datos OpenEMR

En la página siguiente, se te preguntará si quieres que el instalador cree la base de datos o que utilice una ya creada. Selecciona la opción Ya he creado la base de datos y pulsa el botón para proceder al paso 2.

Base de datos OpenEMR y detalles de la cuenta

En la página siguiente, introduce las credenciales de la base de datos que configuraste anteriormente en el paso 4. Introduce también las credenciales de tu cuenta de administrador. Asegúrate de que tu nombre de usuario tiene 12 o más caracteres, de lo contrario, aparecerá un error. Aquí puedes activar la autenticación de dos factores (2FA), pero se recomienda configurarla más tarde, después de la instalación. Haz clic en el botón para crear la base de datos y la cuenta de usuario.

OpenEMR Crear Base de Datos y Usuario

La siguiente página mostrará el estado de la instalación y te indicará el nombre de usuario y la contraseña. Pulsa el botón para pasar al paso 4.

OpenEMR Configurar PHP

La siguiente página mostrará los valores recomendados y actuales de tu archivo php.ini. Asegúrate de que los valores actuales satisfacen los requisitos. Por alguna razón, el instalador muestra valores erróneos para la variable max_execution_time aunque la hayas configurado correctamente. Puedes ignorar esto. Puedes verificar el valor actual utilizando el siguiente comando.

Verificación de valores PHP de OpenEMR

Cuando estés satisfecho, pulsa el botón para continuar con el paso 5.

Configuración Apache de OpenEMR

El siguiente paso enumera la configuración del servidor Apache, que ignoraremos puesto que estamos utilizando el servidor Nginx. Pulsa el botón para pasar a la página siguiente.

Tema OpenEMR Select

Aquí se te pedirá que selecciones un tema para el panel de administración. Selecciona la opción Mantener actual y pulsa el botón para continuar. Puedes cambiar el tema desde el panel de administración más adelante, pero no podrás ver su aspecto. Si eliges desde la página del instalador, también podrás comprobar cómo quedan antes de seleccionarlos. Nosotros nos quedaremos con el tema por defecto.

Paso final de la instalación de OpenEMR

La última página contiene algunas notas finales sobre el software y las credenciales de la cuenta. Haz clic en el botón Inicio para abrir la página de acceso.

Página de inicio de sesión de OpenEMR

Aparecerá una ventana emergente de registro en OpenEMR para obtener anuncios de su sitio web. Puedes ignorar e introducir tus credenciales y hacer clic en el botón Iniciar sesión para acceder al panel de control.

Panel de OpenEMR

Si no configuraste la autenticación de dos factores durante la instalación, hazlo haciendo clic en el icono del avatar de la parte superior derecha y seleccionando la opción Gestión MFA.

Menú OpenEMR 2FA

En la página siguiente, selecciona el método de autenticación en el menú desplegable y empieza a configurarlo.

Página de tipo 2FA de OpenEMR

A partir de aquí ya puedes empezar a utilizar OpenEMR para gestionar tu negocio sanitario. Para acceder a phpMyAdmin, visita la URL https://openemr.example.com/sm175/ en tu navegador. Puedes acceder utilizando las credenciales de la base de datos de OpenEMR o el usuario con privilegios de root que creaste en el paso 4 para acceder a phpMyAdmin.

Inicio de sesión en phpMyAdmin de OpenEMR

Conclusión

Con esto concluye nuestro tutorial sobre la instalación de OpenEMR en un servidor Debian 12. Si tienes alguna pregunta, publícala en los comentarios a continuación.

Scroll al inicio