Installazione software · 7 min read · Sep 08, 2025
Come installare OpenEMR su Ubuntu 24.04 Server

OpenEMR è una soluzione open-source per la gestione dei registri sanitari e della pratica medica. È un sistema completamente integrato di registrazione elettronica della salute e gestione della pratica, programmazione, fatturazione elettronica e supporto per l’internazionalizzazione. OpenEMR è certificato ONC, il che significa che OpenEMR soddisfa gli standard dell’Ufficio del Coordinatore Nazionale per la Tecnologia dell’Informazione Sanitaria (ONC).
Questa guida ti mostrerà come installare OpenEMR sul server Ubuntu 24.04 con il LEMP Stack (Linux, Nginx, MariaDB e PHP-FPM). Ti mostreremo anche come proteggere OpenEMR con HTTPS tramite Let’s Encrypt e aprire le porte HTTP e HTTPS tramite UFW (Uncomplicated Firewall).
Prerequisiti
Per iniziare con questa guida, assicurati di avere:
- Un server Ubuntu 24.04
- Un utente non root con privilegi di amministratore
- Un nome di dominio che punta all’indirizzo IP del server
Installazione delle dipendenze LEMP
OpenEMR è un’applicazione web basata su PHP e MySQL. Per installarlo, devi assicurarti che PHP e MySQL siano installati. In questa guida, eseguirai OpenEMR con il LEMP Stack (Linux, Nginx, MariaDB e PHP). Quindi, per ora, installerai quei pacchetti tramite il repository APT.
Per iniziare, esegui il comando ‘ apt ‘ qui sotto per aggiornare l’indice dei pacchetti di Ubuntu e installare i pacchetti del LEMP Stack (Linux, Nginx, MariaDB e PHP-FPM). Inserisci ‘Y’ per confermare l’installazione.
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
Dopo che l’installazione è completata, controlla lo stato del servizio ‘ nginx ‘ con il comando ‘systemctl’ qui sotto. Assicurati che Nginx sia in esecuzione e abilitato.
sudo systemctl is-enabled nginx
sudo systemctl status nginx
Ora controlla il servizio ‘ mariadb ‘ utilizzando il seguente comando. Vedrai che il server MariaDB è in esecuzione e abilitato sul tuo server Ubuntu.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Infine, controlla il servizio ‘ php8.3-fpm ‘ con il comando qui sotto. Vedrai che il servizio PHP-FPM è attivo e funzionante.
sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm
Configurazione di PHP-FPM
Una volta installato il LEMP Stack, configuriamo l’installazione di PHP-FPM modificando il ‘php.ini’, quindi riavviando il servizio PHP-FPM e applicando le modifiche.
Modifica il file ‘ php.ini ‘ con l’editor ‘ nano ‘.
sudo nano /etc/php/8.3/fpm/php.iniCambia la configurazione predefinita con la seguente. Assicurati di regolare il ‘ memory_limit ‘ con la tua RAM attuale.
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 = OnSalva il file ed esci dall’editor quando hai finito.
Successivamente, esegui il comando ‘chgrp’ qui sotto per cambiare la proprietà della directory ‘ /var/lib/php/sessions ‘ all’utente ‘ www-data ‘.
sudo chgrp -R www-data /var/lib/php/sessionsInfine, riavvia il servizio ‘ php8.3-fpm ‘ con il comando qui sotto. Questo applicherà le modifiche alla tua installazione di PHP-FPM.
sudo systemctl restart php8.3-fpmConfigurazione del server MariaDB
Ora che PHP è configurato, configuriamo il server MariaDB e creiamo un nuovo database per OpenEMR. In questa sezione, proteggerai il server MariaDB con l’utilità ‘ mariadb-secure-installation ‘ e creerai un nuovo database e utente tramite il client ‘ mariadb ‘.
Per prima cosa, esegui il comando ‘ mariadb-secure-installation ‘ qui sotto per proteggere il tuo server MariaDB.
sudo mariadb-secure-installationOra ti verrà chiesto di configurare quanto segue:
- Premi INVIO per continuare e configurare il server MariaDB
- Inserisci ‘ Y ‘ per impostare la password di root di MariaDB, quindi digita e ripeti la tua password
- Inserisci ‘ Y ‘ per disabilitare il login remoto per l’utente ‘ root ‘
- Inserisci ‘ Y ‘ per eliminare il database ‘ test ‘ e i suoi privilegi
- Inserisci ‘ Y ‘ per completare la configurazione
Dopo che il server MariaDB è stato protetto, devi creare un nuovo database e utente che verranno utilizzati dall’installazione di OpenEMR.
Accedi al server MariaDB con il comando ‘ mariadb ‘ qui sotto. Inserisci la tua password di root di MariaDB quando richiesto.
sudo mariadb -u root -pEsegui le seguenti query per creare un nuovo database e utente per OpenEMR. In questo esempio, creerai un nuovo database ‘ openemr ‘ con l’utente ‘ openemruser ‘ e la password è ‘ password ‘. Puoi regolare i dettagli del database con le tue informazioni.
CREATE DATABASE openemr;
CREATE USER 'openemruser'@'localhost' IDENTIFIED BY 'Your_password2';
GRANT ALL PRIVILEGES ON openemr.* TO 'openemruser'@'localhost';
FLUSH PRIVILEGES;
Ora esegui la query qui sotto per controllare i privilegi per l’ ‘openemruser’. Assicurati che l’utente possa accedere al database ‘openemr’.
SHOW GRANTS FOR openemruser@localhost;Infine, digita ‘ quit ‘ per uscire dal server MariaDB.

Download del codice sorgente di OpenEMR
Ora che hai configurato PHP-FPM e il server MariaDB, il passo successivo è scaricare il codice sorgente di OpenEMR e impostare l’installazione con i permessi e la proprietà corretti.
Vai alla directory ‘ /var/www ‘ e scarica il codice sorgente di OpenEMR utilizzando il comando ‘ wget ‘ qui sotto.
cd /var/www/
wget https://sourceforge.net/projects/openemr/files/OpenEMR%20Current/7.0.2/openemr-7.0.2.tar.gzUna volta scaricato, esegui il comando ‘tar’ qui sotto per estrarre il codice sorgente di OpenEMR e rinominare la nuova directory in ‘ openemr ‘. Con questo, il codice sorgente di OpenEMR sarà memorizzato nella directory ‘ /var/www/openemr ‘.
tar -pxzf openemr-7.0.2.tar.gz
mv openemr-7.0.2 openemrInfine, esegui il comando ‘chown’ qui sotto per cambiare la proprietà della directory ‘ /var/www/openemr ‘ all’utente ‘ www-data ‘.
sudo chown -R www-data:www-data /var/www/openemrConfigurazione del blocco del server Nginx
Dopo aver scaricato il codice sorgente di OpenEMR, creerai un nuovo blocco del server Nginx che verrà utilizzato per eseguire la tua installazione di OpenEMR. Assicurati di avere il tuo nome di dominio pronto e puntato all’indirizzo IP del server.
Crea una nuova configurazione del blocco del server Nginx ‘ /etc/nginx/sites-available/openemr ‘ con il seguente comando dell’editor ‘ nano ‘.
sudo nano /etc/nginx/sites-available/openemrInserisci la configurazione e assicurati di cambiare l’opzione ‘ server_name ‘ con il tuo nome di 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;
}
# 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; # Dipende dalla versione di PHP
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
include fastcgi_params;
}
# nega l'accesso a file/directory scrivibili
location ~* ^/sites/*/(documents|edi|era) {
denied all;
return 404;
}
# nega l'accesso a determinate directory
location ~* ^/(contrib|tests) {
denied all;
return 404;
}
# In alternativa, tutto l'accesso a questi file può essere negato
location ~* ^/(admin|setup|acl_setup|acl_upgrade|sl_convert|sql_upgrade|gacl/setup|ippf_upgrade|sql_patch)\.php {
denied all;
return 404;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
log_not_found off;
access_log off;
}
location ~ /\. {
denied all;
}
}Salva il file ed esci dall’editor.
Ora esegui il comando qui sotto per attivare il blocco del server ‘openemr’ e verificare la sintassi di Nginx. Se hai corretto e la sintassi di Nginx è corretta, vedrai un output come ‘ test is successful - syntax is ok ‘.
sudo ln -s /etc/nginx/sites-available/openemr /etc/nginx/sites-enabled/
sudo nginx -t
Infine, esegui il comando ‘ systemctl ‘ qui sotto per riavviare il server web Nginx e applicare le modifiche.
sudo systemctl restart nginxProteggere OpenEMR con HTTPS
In questa sezione, installerai Certbot e proteggerai OpenEMR con HTTPS. Questo funzionerà se stai utilizzando un nome di dominio pubblico e un server. Su un server locale o di sviluppo, puoi utilizzare certificati autofirmati.
Prima di configurare SSL, esegui il comando ‘ufw’ qui sotto per aprire sia i servizi HTTP che HTTPS sul tuo server. Vedrai un output come ‘success’.
Sudo ufw allow 'Nginx Full'Ora installa il ‘ certbot ‘ e il plugin ‘ python3-certbot-nginx ‘ con il seguente comando ‘ apt ‘. Inserisci ‘Y’ per confermare l’installazione.
sudo apt install certbot python3-certbot-nginx -yDopo che l’installazione è completata, esegui il comando ‘certbot’ qui sotto per generare certificati SSL e proteggere la tua installazione di OpenEMR.
sudo certbot --nginx -d openemr.howtoforge.localUna volta terminato il processo, i tuoi certificati SSL saranno disponibili nella directory ‘ /etc/letsencrypt/live/domain.com ‘. Inoltre, la tua installazione di OpenEMR sarà protetta con HTTPS.
Installazione di OpenEMR
Apri il tuo browser web e visita https://openemr.howtoforge.local/ tramite un browser web.
Per prima cosa, l’installer controllerà i permessi del codice sorgente di OpenEMR, quindi assicurati di avere i permessi corretti.

Seleziona l’opzione ‘ Ho creato il database ‘ per impostare l’integrazione del database.

Inserisci i dettagli del tuo database e il nuovo amministratore per OpenEMR.

L’inizializzazione del database sarà in esecuzione e il tuo utente admin sarà creato.

Successivamente, assicurati che la tua configurazione PHP soddisfi i requisiti di OpenEMR.

Una volta completata l’installazione, verrai reindirizzato alla pagina di accesso di OpenEMR. Digita il tuo utente admin e la password, quindi fai clic su Login.

Se tutto va a buon fine, vedrai il seguente cruscotto di OpenEMR.

Conclusione
Congratulazioni! Hai completato l’installazione di OpenEMR sul server Ubuntu 24.04. OpenEMR è attivo e funzionante con PHP-FPM, server web Nginx e server MariaDB. Hai anche protetto OpenEMR con HTTPS tramite Certbot e Let’s Encrypt.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.