So installierst du OpenEMR auf einem Ubuntu 24.04 Server
OpenEMR ist eine Open-Source-Lösung für Gesundheitsakten und Praxismanagement. Es handelt sich um eine vollständig integrierte elektronische Gesundheitsakte und Praxisverwaltung, Terminplanung, elektronische Rechnungsstellung und Unterstützung der Internationalisierung. OpenEMR ist ONC-zertifiziert, was bedeutet, dass OpenEMR die Standards des Office of the National Coordinator for Health Information Technology (ONC) erfüllt.
Diese Anleitung zeigt dir, wie du OpenEMR auf dem Ubuntu 24.04 Server mit dem LEMP Stack (Linux, Nginx, MariaDB und PHP-FPM) installierst. Außerdem zeigen wir dir, wie du OpenEMR mit HTTPS von Let’s Encrypt sicherst und HTTP- und HTTPS-Ports über UFW (Uncomplicated Firewall) öffnest.
Voraussetzungen
Um mit dieser Anleitung zu beginnen, musst du Folgendes haben
- Einen Ubuntu 24.04 Server
- Einen Nicht-Root-Benutzer mit Administrator-Rechten
- Einen Domainnamen, der auf die IP-Adresse des Servers verweist
Installation der LEMP-Abhängigkeiten
OpenEMR ist eine webbasierte Anwendung, die in PHP und MySQL geschrieben wurde. Um sie zu installieren, musst du sicherstellen, dass sowohl PHP als auch MySQL installiert sind. In dieser Anleitung wird OpenEMR mit dem LEMP-Stack (Linux, Nginx, MariaDB und PHP) ausgeführt. Daher wirst du diese Pakete zunächst über das APT-Repository installieren.
Um zu beginnen, führe den Befehl„apt“ aus, um deinen Ubuntu-Paketindex zu aktualisieren und die LEMP Stack-Pakete (Linux, Nginx, MariaDB und PHP-FPM) zu installieren. Gib „Y“ ein, um die Installation zu bestätigen.
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
Nachdem die Installation abgeschlossen ist, überprüfe den Status des„nginx„-Dienstes mit dem unten stehenden Befehl „systemctl“. Stelle sicher, dass Nginx läuft und aktiviert ist.
sudo systemctl is-enabled nginx sudo systemctl status nginx
Überprüfe nun den Dienst„mariadb“ mit dem folgenden Befehl. Du wirst sehen, dass der MariaDB-Server auf deinem Ubuntu-Server läuft und aktiviert ist.
sudo systemctl is-enabled mariadb sudo systemctl status mariadb
Überprüfe abschließend den Dienst„php8.3-fpm“ mit dem folgenden Befehl. Du wirst sehen, dass der PHP-FPM-Dienst läuft und aktiviert ist.
sudo systemctl is-enabled php8.3-fpm sudo systemctl status php8.3-fpm
PHP-FPM konfigurieren
Sobald der LEMP Stack installiert ist, kannst du die PHP-FPM-Installation konfigurieren, indem du die Datei „php.ini“ bearbeitest, den PHP-FPM-Dienst neu startest und deine Änderungen anwendest.
Bearbeite die Datei„php.ini“ mit dem Editor„nano„.
sudo nano /etc/php/8.3/fpm/php.ini
Ändere die Standardkonfiguration wie folgt. Achte darauf, dass du das„memory_limit“ an deinen aktuellen Arbeitsspeicher anpasst.
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
Speichere die Datei und beende den Editor, wenn du fertig bist.
Als Nächstes führst du den Befehl „chgrp“ aus, um den Eigentümer des Verzeichnisses„/var/lib/php/sessions“ auf den Benutzer„www-data“ zu ändern.
sudo chgrp -R www-data /var/lib/php/sessions
Starten Sie schließlich den Dienst„php8.3-fpm“ mit dem unten stehenden Befehl neu. Damit werden die Änderungen in deiner PHP-FPM-Installation übernommen.
sudo systemctl restart php8.3-fpm
MariaDB-Server konfigurieren
Jetzt, da PHP konfiguriert ist, können wir den MariaDB-Server konfigurieren und eine neue Datenbank für OpenEMR erstellen. In diesem Abschnitt sicherst du den MariaDB-Server mit dem Dienstprogramm„mariadb-secure-installation“ und erstellst eine neue Datenbank und einen neuen Benutzer über den„mariadb„-Client.
Führe zunächst den Befehl„mariadb-secure-installation“ aus, um deinen MariaDB-Server zu sichern.
sudo mariadb-secure-installation
Nun wirst du nach den folgenden Konfigurationen gefragt:
- Drücke ENTER, um fortzufahren und den MariaDB-Server zu konfigurieren
- Gib„Y“ ein, um das MariaDB-Root-Passwort einzurichten, und wiederhole dein Passwort.
- Gib„Y“ ein, um die Fernanmeldung für den Benutzer„root“ zu deaktivieren
- Gib„Y“ ein, um die Datenbank„test“ und ihre Berechtigungen zu löschen
- Gib„Y“ ein, um die Konfiguration abzuschließen
Nachdem der MariaDB-Server gesichert ist, musst du eine neue Datenbank und einen neuen Benutzer erstellen, die von der OpenEMR-Installation verwendet werden.
Melde dich mit dem unten stehenden Befehl„mariadb“ am MariaDB-Server an. Gib dein MariaDB-Root-Passwort ein, wenn du dazu aufgefordert wirst.
sudo mariadb -u root -p
Führe die folgenden Abfragen aus, um eine neue Datenbank und einen neuen Benutzer für OpenEMR zu erstellen. In diesem Beispiel erstellst du eine neue Datenbank„openemr“ mit dem Benutzer„openemruser“ und dem Passwort„password„. Du kannst die Datenbankdetails mit deinen Informationen anpassen.
CREATE DATABASE openemr; CREATE USER 'openemruser'@'localhost' IDENTIFIED BY 'Your_password2'; GRANT ALL PRIVILEGES ON openemr.* TO 'openemruser'@'localhost'; FLUSH PRIVILEGES;
Führe nun die folgende Abfrage aus, um die Rechte des Benutzers „openemruser“ zu überprüfen. Vergewissere dich, dass der Benutzer auf die Datenbank „openemr“ zugreifen kann.
SHOW GRANTS FOR openemruser@localhost;
Zum Schluss gibst du„quit“ ein, um den MariaDB-Server zu verlassen.
Herunterladen des OpenEMR-Quellcodes
Nachdem du den PHP-FPM- und den MariaDB-Server konfiguriert hast, musst du als Nächstes den OpenEMR-Quellcode herunterladen und die Installation mit den richtigen Berechtigungen und Eigentümern einrichten.
Gehe in das Verzeichnis„/var/www“ und lade den OpenEMR-Quellcode mit dem unten stehenden Befehl„wget“ herunter.
cd /var/www/ wget https://sourceforge.net/projects/openemr/files/OpenEMR%20Current/7.0.2/openemr-7.0.2.tar.gz
Nach dem Download entpackst du den OpenEMR-Quellcode mit dem Befehl „tar“ und benennst das neue Verzeichnis in„openemr“ um. Damit wird der OpenEMR-Quellcode im Verzeichnis„/var/www/openemr“ gespeichert.
tar -pxzf openemr-7.0.2.tar.gz mv openemr-7.0.2 openemr
Zum Schluss führst du den Befehl „chown“ aus, um den Eigentümer des Verzeichnisses„/var/www/openemr“ auf den Benutzer„www-data“ zu ändern.
sudo chown -R www-data:www-data /var/www/openemr
Nginx Server Block einrichten
Nachdem du den OpenEMR-Quellcode heruntergeladen hast, erstellst du einen neuen Nginx-Serverblock, auf dem deine OpenEMR-Installation laufen wird. Stelle also sicher, dass du deinen Domainnamen bereit hast und auf die IP-Adresse des Servers verweist.
Erstelle eine neue Nginx-Serverblock-Konfiguration„/etc/nginx/sites-available/openemr“ mit dem folgenden Editor-Befehl„nano„.
sudo nano /etc/nginx/sites-available/openemr
Füge die Konfiguration ein und stelle sicher, dass du die Option„server_name“ durch deinen Domainnamen ersetzt.
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; } }
Speichere die Datei und beende den Editor.
Führe nun den folgenden Befehl aus, um den Serverblock „openemr“ zu aktivieren und deine Nginx-Syntax zu überprüfen. Wenn die Nginx-Syntax korrekt ist, siehst du eine Ausgabe wie„test is successful – syntax is ok„.
sudo ln -s /etc/nginx/sites-available/openemr /etc/nginx/sites-enabled/ sudo nginx -t
Zum Schluss führst du den Befehl„systemctl“ aus, um den Nginx-Webserver neu zu starten und deine Änderungen zu übernehmen.
sudo systemctl restart nginx
OpenEMR mit HTTPS absichern
In diesem Abschnitt wirst du Certbot installieren und OpenEMR mit HTTPS sichern. Das funktioniert, wenn du einen öffentlichen Domainnamen und Server verwendest. Auf einem lokalen Server oder in der Entwicklung kannst du selbstsignierte Zertifikate verwenden.
Bevor du SSL einrichtest, führe den unten stehenden Befehl „ufw“ aus, um sowohl HTTP- als auch HTTPS-Dienste auf deinem Server zu öffnen. Du wirst eine Ausgabe wie „Erfolg“ sehen.
Sudo ufw allow 'Nginx Full'
Installiere nun das Plugin„certbot“ und„python3-certbot-nginx“ mit dem folgenden„apt„-Befehl. Gib „Y“ ein, um die Installation zu bestätigen.
sudo apt install certbot python3-certbot-nginx -y
Nachdem die Installation abgeschlossen ist, führe den Befehl „certbot“ aus, um SSL-Zertifikate zu erzeugen und deine OpenEMR-Installation zu sichern.
sudo certbot --nginx -d openemr.howtoforge.local
Sobald der Vorgang abgeschlossen ist, sind deine SSL-Zertifikate im Verzeichnis„/etc/letsencrypt/live/domain.com“ verfügbar. Außerdem wird deine OpenEMR-Installation mit HTTPS gesichert sein.
Installation von OpenEMR
Öffne deinen Webbrowser und rufe https://openemr.howtoforge.local/ über einen Webbrowser auf.
Zuerst prüft das Installationsprogramm die Berechtigungen für den OpenEMR-Quellcode; stelle also sicher, dass du die richtigen Rechte hast.
Wähle die Option„Ich habe die Datenbank erstellt„, um deine Datenbankintegration einzurichten.
Gib deine Datenbankdetails und den neuen Administrator-Admin für OpenEMR ein.
Die Datenbankinitialisierung wird nun ausgeführt und dein Admin-Benutzer wird erstellt.
Stelle als Nächstes sicher, dass deine PHP-Konfiguration mit den OpenEMR-Anforderungen übereinstimmt.
Sobald die Installation abgeschlossen ist, wirst du auf die OpenEMR-Anmeldeseite weitergeleitet. Gib deinen Admin-Benutzer und dein Passwort ein und klicke dann auf Anmelden.
Wenn du erfolgreich bist, siehst du das folgende OpenEMR-Dashboard.
Fazit
Herzlichen Glückwunsch! Du hast die Installation von OpenEMR auf dem Ubuntu 24.04 Server abgeschlossen. OpenEMR läuft jetzt mit dem PHP-FPM, dem Nginx-Webserver und dem MariaDB-Server. Außerdem hast du OpenEMR mit HTTPS über Certbot und Let’s Encrypt abgesichert.