So installierst du OpenEMR unter Debian 12

OpenEMR ist ein Open-Source-Tool für die elektronische Gesundheitsakte und das Praxismanagement. Es ist vom Office of the National Coordinator for Health Information Technology (ONC) zertifiziert und bietet integrierte Gesundheitsakten, Praxismanagement, Terminplanung, elektronische Rechnungsstellung, Internationalisierung, kostenlosen Support und vieles mehr. Es kann die demografischen Daten der Patienten erfassen, die Patienten einplanen, sehr detaillierte Gesundheitsakten mit Laborberichten, Medikamenten und Prozeduren führen, ihre Rezepte verfolgen, bei der medizinischen Abrechnung helfen, detaillierte Berichte erstellen und mehrere Sprachen unterstützen.

In diesem Tutorial erfährst du, wie du die OpenEMR-Software auf einem Server mit Debian 12 installierst.

Voraussetzungen

  • Ein Server, auf dem Debian 12 läuft.
  • Ein sudo-Benutzer ohne Root-Rechte.
  • Ein vollständig qualifizierter Domainname (FQDN) wie openemr.example.com.
  • Stelle sicher, dass alles auf dem neuesten Stand ist.
    $ sudo apt update
    $ sudo apt upgrade
    
  • Ein paar Pakete, die dein System benötigt.
    $ sudo apt install wget curl nano ufw software-properties-common dirmngr apt-transport-https gnupg2 ca-certificates lsb-release debian-archive-keyring unzip -y
    

    Einige dieser Pakete sind vielleicht schon auf deinem System installiert.

Schritt 1 – Firewall konfigurieren

Der erste Schritt besteht darin, die Firewall zu konfigurieren. Debian wird standardmäßig mit ufw (Uncomplicated Firewall) ausgeliefert.

Überprüfe, ob die Firewall aktiv ist.

$ sudo ufw status

Du wirst die folgende Ausgabe erhalten.

Status: inactive

Erlaube den SSH-Port, damit die Firewall die aktuelle Verbindung nicht unterbricht, wenn du sie aktivierst.

$ sudo ufw allow OpenSSH

Lasse auch HTTP- und HTTPS-Ports zu.

$ sudo ufw allow http
$ sudo ufw allow https

Aktiviere die Firewall

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

Überprüfe den Status der Firewall erneut.

$ sudo ufw status

Du solltest eine ähnliche Ausgabe sehen.

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)

Schritt 2 – Nginx installieren

Debian 12 wird mit einer älteren Version von Nginx ausgeliefert. Um die neueste Version zu installieren, musst du das offizielle Nginx-Repository herunterladen.

Importiere den Signierschlüssel von Nginx.

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

Füge das Repository für die stabile Version von Nginx hinzu.

$ 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

Aktualisiere die System-Repositories.

$ sudo apt update

Installiere Nginx.

$ sudo apt install nginx

Überprüfe die Installation. Auf Debian-Systemen funktioniert der folgende Befehl nur mit sudo.

$ sudo nginx -v
nginx version: nginx/1.24.0

Starten Sie den Nginx-Server.

$ sudo systemctl start nginx

Überprüfe den Status des Dienstes.

? 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"

Schritt 3 – MariaDB installieren

Debian 12 wird standardmäßig nicht mit MySQL ausgeliefert und es wurde noch kein offizielles Paket dafür veröffentlicht. Deshalb werden wir MariaDB dafür verwenden. Auch für MariaDB gibt es kein offizielles Paket für Debian 12, aber es wird mit Debian ausgeliefert. Deshalb installierst du es mit dem folgenden Befehl.

$ sudo apt install mariadb-server

Überprüfe die Version von MySQL.

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

Führe das MariaDB-Skript zur sicheren Installation aus.

$ sudo mysql_secure_installation

Du wirst nach dem Root-Passwort gefragt. Drücke die Eingabetaste, denn wir haben kein Passwort dafür festgelegt.

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):

Als nächstes wirst du gefragt, ob du zur Unix-Socket-Authentifizierungsmethode wechseln möchtest. Mit dem unix_socket Plugin kannst du deine Betriebssystem-Zugangsdaten verwenden, um dich mit dem MariaDB-Server zu verbinden. Da du bereits ein geschütztes Root-Konto hast, gibst du n ein, um fortzufahren.

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

Als nächstes wirst du gefragt, ob du dein Root-Passwort ändern möchtest. Unter Debian 12 ist das Root-Passwort eng mit der automatischen Systemwartung verknüpft, daher solltest du es nicht ändern. Gib n ein, um fortzufahren.

 ... skipping.

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

Change the root password? [Y/n] n

Als nächstes werden dir einige Fragen gestellt, um die Sicherheit von MariaDB zu verbessern. Gib Y ein, um anonyme Benutzer zu entfernen, Remote-Root-Logins zu verbieten, die Testdatenbank zu entfernen und die Berechtigungstabellen neu zu laden.

 ... 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!

Du kannst die MariaDB-Shell aufrufen, indem du sudo mysql oder sudo mariadb in die Befehlszeile eingibst.

Schritt 4 – MariaDB konfigurieren

Melde dich in der MariaDB-Shell an.

$ sudo mysql

Erstelle die OpenEMR-Datenbank.

mysql> CREATE DATABASE openemr;

Erstelle das OpenEMR-Benutzerkonto.

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

Erteile dem Benutzer alle Rechte für die Datenbank.

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

Da wir den Root-Benutzer nicht ändern, solltest du einen weiteren SQL-Benutzer für die Durchführung von Verwaltungsaufgaben anlegen, die eine Passwortauthentifizierung erfordern. Wähle ein sicheres Passwort für diesen Benutzer.

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

Lösche die Benutzerrechte.

mysql> FLUSH PRIVILEGES;

Beende die Shell.

mysql> exit

Schritt 5 – Installiere PHP und seine Erweiterungen

Debian 12 wird standardmäßig mit PHP 8.2 ausgeliefert. Du kannst es installieren, indem du den folgenden Befehl ausführst.

$ 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

Wenn du immer die neueste Version von PHP verwenden oder mehrere Versionen installieren willst, füge Ondrejs PHP-Repository hinzu.

Importiere zunächst den PHP-GPG-Schlüssel aus Surys Repository.

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

Füge das PHP-Repository von Ondrej Sury hinzu.

$ 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'

Aktualisiere die Liste der System-Repositorys.

$ sudo apt update	

Als Nächstes installierst du PHP und die für OpenEMR erforderlichen Erweiterungen.

$ 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

Überprüfe die Installation.

$ 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

Schritt 6 – SSL installieren

Wir müssen Certbot installieren, um das SSL-Zertifikat zu erstellen. Du kannst Certbot entweder über das Repository von Debian installieren oder die neueste Version mit dem Snapd-Tool herunterladen. Wir werden die Snapd-Version verwenden.

Bei Debian 12 ist Snapd noch nicht installiert. Installiere das Snapd-Paket.

$ sudo apt install snapd

Führe die folgenden Befehle aus, um sicherzustellen, dass deine Version von Snapd auf dem neuesten Stand ist.

$ sudo snap install core && sudo snap refresh core

Installiere Certbot.

$ sudo snap install --classic certbot

Verwende den folgenden Befehl, um sicherzustellen, dass der Certbot-Befehl ausgeführt werden kann, indem du einen symbolischen Link zum Verzeichnis /usr/bin erstellst.

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

Überprüfe, ob Certbot richtig funktioniert.

$ certbot --version
certbot 2.6.0

Führe den folgenden Befehl aus, um ein SSL-Zertifikat zu erzeugen.

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

Mit dem obigen Befehl wird ein Zertifikat in das Verzeichnis /etc/letsencrypt/live/openemr.example.com auf deinem Server heruntergeladen.

Erstelle ein Diffie-Hellman-Gruppenzertifikat.

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

Überprüfe den Certbot-Erneuerungszeitplanungsdienst.

$ sudo systemctl list-timers

Du findest snap.certbot.renew.service als einen der Dienste, die für die Ausführung vorgesehen sind.

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

Führe einen Probelauf des Prozesses durch, um zu prüfen, ob die SSL-Erneuerung einwandfrei funktioniert.

$ sudo certbot renew --dry-run

Wenn du keine Fehler siehst, bist du bereit. Dein Zertifikat wird automatisch erneuert.

Schritt 7 – OpenEMR herunterladen

Besuche die OpenEMR-Downloadseite und hole dir den Link für die neueste Version von OpenEMR. Lade OpenEMR auf den Server herunter.

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

Entpacke die Dateien.

$ tar -pxzf openemr-7.0.1.tar.gz

Erstelle das Verzeichnis /var/www/html.

$ sudo mkdir /var/www/html -p

Verschiebe die entpackten Dateien in das Webverzeichnis.

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

Erteile dem Nginx-Benutzer Rechte für das Web-Root-Verzeichnis.

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

Schritt 8 – Installiere phpMyAdmin

Bevor wir PHP-FPM konfigurieren, installieren wir phpMyAdmin, mit dem du die Datenbank durchsuchen und bearbeiten kannst.

Lade die Archivdatei von phpMyAdmin für die englische Sprache herunter. Den Link für die neueste Version findest du auf der phpMyAdmin Download-Seite.

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

Entpacke das Archiv in das öffentliche Verzeichnis.

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

Wechsle in das öffentliche Verzeichnis.

$ cd /var/www/html/openemr

Benenne das entpackte Verzeichnis in einen obskuren Namen um, um die Sicherheit zu erhöhen.

$ sudo mv phpMyAdmin-5.2.1-english sm175

Schritt 9 – phpMyAdmin konfigurieren

Kopiere die Beispielkonfigurationsdatei.

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

Öffne die Konfigurationsdatei zum Bearbeiten.

$ sudo nano sm175/config.inc.php

Suche die Zeile $cfg['blowfish_secret'] = ''; und gib eine 32-stellige Zufallszeichenfolge für die Cookie-basierte Authentifizierung ein.

Du kannst den Online-Blowfish-Generator von phpSolved verwenden oder ihn über die Kommandozeile eingeben.

Kopiere den Wert und füge ihn wie gezeigt ein.

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

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Ändere den Eigentümer des phpMyAdmin-Verzeichnisses auf den Nginx-Server.

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

Lösche das phpMyAdmin Setup-Verzeichnis.

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

Schritt 10 – PHP-FPM konfigurieren

Öffne die Datei /etc/php/8.2/fpm/pool.d/www.conf.

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

Wir müssen den Unix-Benutzer/die Unix-Gruppe der PHP-Prozesse auf nginx setzen. Finde die Zeilen user=www-data und group=www-data in der Datei und ändere sie in 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
...

Finde die Zeilen listen.owner = www-data und listen.group = www-data in der Datei und ändere sie in 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

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Erhöhe die Ausführungszeit für PHP-FPM und PHP-CLI auf 60 Sekunden.

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

Setze den Wert der Variable max_input_time auf 1.

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

Erhöhe das Speicherlimit für PHP-FPM von 128 MB auf 512 MB.

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

Erhöhe die Datei-Upload-Größe auf 30 MB.

$ 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

Erhöhe die Anzahl der maximalen Eingabevariablen auf 3000.

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

Erlaube aus PHP-Sicht den Zugriff auf lokale Dateien mit LOAD DATA-Anweisungen.

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

Starte den PHP-FPM-Dienst neu.

$ sudo systemctl restart php8.2-fpm

Ändere die Gruppe des PHP-Sessions-Verzeichnisses auf Nginx.

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

Schritt 11 – Nginx konfigurieren

Erstelle und öffne die Datei /etc/nginx/conf.d/openemr.conf zum Bearbeiten.

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

Füge den folgenden Code in die Datei ein.

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;
}

Beachte, dass das Stammverzeichnis, das in der Nginx-Konfiguration verwendet werden soll, /var/www/html/wallabag/public/ ist.

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du danach gefragt wirst.

Öffne die Datei /etc/nginx/nginx.conf zum Bearbeiten.

$ sudo nano /etc/nginx/nginx.conf

Füge die folgende Zeile vor der Zeile include /etc/nginx/conf.d/*.conf; ein.

server_names_hash_bucket_size  64;

Speichere die Datei, indem du Strg + X drückst und Y eingibst, wenn du dazu aufgefordert wirst.

Überprüfe die Syntax der Nginx-Konfigurationsdatei.

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

Starte den Nginx-Dienst neu.

$ sudo systemctl restart nginx

Schritt 12 – Installiere OpenEMR

Öffne die URL https://openemr.example.com in deinem Browser und du wirst den folgenden Einrichtungsbildschirm sehen.

OpenEMR-Installationsprüfung

Hier werden die Dateiberechtigungen geprüft und bestätigt, ob du mit Schritt 1 fortfahren kannst oder nicht. Wenn du das Wort ready in grüner Schrift siehst, bedeutet das, dass du fortfahren kannst. Klicke auf die blaue Schaltfläche, um mit Schritt 1 fortzufahren.

OpenEMR Datenbank Setup-Assistent

Auf der nächsten Seite wirst du gefragt, ob du möchtest, dass das Installationsprogramm die Datenbank erstellt oder eine vorgefertigte Datenbank verwendet. Wähle die Option Ich habe die Datenbank bereits erstellt und klicke auf die Schaltfläche, um zu Schritt 2 zu gelangen.

OpenEMR Datenbank und Kontodaten

Auf der nächsten Seite gibst du die Zugangsdaten für die Datenbank ein, die du in Schritt 4 konfiguriert hast. Gib auch die Zugangsdaten für dein Administratorkonto ein. Achte darauf, dass dein Benutzername 12 oder mehr Zeichen lang ist, sonst bekommst du eine Fehlermeldung. Du kannst hier die Zwei-Faktor-Authentifizierung (2FA) aktivieren, aber es wird empfohlen, sie später nach der Installation zu konfigurieren. Klicke auf die Schaltfläche, um die Datenbank und das Benutzerkonto zu erstellen.

OpenEMR Datenbank und Benutzer erstellen

Auf der nächsten Seite wird der Installationsstatus angezeigt und du bekommst den Benutzernamen und das Passwort angezeigt. Klicke auf die Schaltfläche, um mit Schritt 4 fortzufahren.

OpenEMR PHP konfigurieren

Auf der nächsten Seite werden die empfohlenen und aktuellen Werte aus deiner php.ini Datei aufgelistet. Vergewissere dich, dass die aktuellen Werte den Anforderungen entsprechen. Das Installationsprogramm zeigt aus irgendeinem Grund die falschen Werte für die Variable max_execution_time an, auch wenn du sie richtig gesetzt hast. Du kannst dies ignorieren. Du kannst den aktuellen Wert mit dem folgenden Befehl überprüfen.

OpenEMR PHP Wertüberprüfung

Wenn du zufrieden bist, klicke auf die Schaltfläche, um mit Schritt 5 fortzufahren.

OpenEMR Apache Einstellungen

Im nächsten Schritt werden die Einstellungen für den Apache-Server aufgeführt, die wir ignorieren, da wir den Nginx-Server verwenden. Klicke auf die Schaltfläche, um zur nächsten Seite zu gelangen.

OpenEMR Thema wählen

Hier wirst du aufgefordert, ein Thema für das Administrationspanel auszuwählen. Wähle die Option Aktuell halten und klicke auf die Schaltfläche, um fortzufahren. Du kannst das Thema später im Administrationsbereich ändern, allerdings kannst du dann nicht mehr sehen, wie es aussieht. Wenn du es auf der Installationsseite auswählst, kannst du vor der Auswahl auch sehen, wie es aussieht. Wir bleiben bei dem Standardthema.

OpenEMR-Installation letzter Schritt

Auf der letzten Seite findest du einige abschließende Hinweise zur Software und zu den Anmeldedaten für das Konto. Klicke auf die Schaltfläche Start, um die Anmeldeseite zu öffnen.

OpenEMR-Anmeldeseite

Du bekommst ein OpenEMR-Registrierungs-Popup, um Ankündigungen von deren Website zu erhalten. Du kannst es ignorieren, deine Anmeldedaten eingeben und auf die Schaltfläche Anmelden klicken, um auf das Dashboard zuzugreifen.

OpenEMR Dashboard

Wenn du die Zwei-Faktor-Authentifizierung während der Installation nicht konfiguriert hast, tue dies, indem du auf das Avatar-Symbol oben rechts klickst und die Option MFA Management auswählst.

OpenEMR 2FA Menü

Auf der nächsten Seite wählst du die Authentifizierungsmethode aus dem Dropdown-Menü aus und beginnst mit der Konfiguration.

OpenEMR 2FA Type Page

Von nun an kannst du OpenEMR für die Verwaltung deines Gesundheitsunternehmens nutzen. Um auf phpMyAdmin zuzugreifen, rufe die URL https://openemr.example.com/sm175/ in deinem Browser auf. Du kannst dich entweder mit den Zugangsdaten für die OpenEMR-Datenbank anmelden oder mit dem Benutzer mit Root-Rechten, den du in Schritt 4 erstellt hast, um dich bei phpMyAdmin anzumelden.

OpenEMR phpMyAdmin Anmeldung

Fazit

Damit ist unsere Anleitung zur Installation von OpenEMR auf einem Debian 12-Server abgeschlossen. Wenn du noch Fragen hast, schreibe sie in die Kommentare unten.

Das könnte dich auch interessieren …