OpenEMR 설치 · 6 min read · Sep 08, 2025

Ubuntu 24.04 서버에 OpenEMR 설치하는 방법

OpenEMR은 오픈 소스 건강 기록 및 의료 실무 관리 솔루션입니다. 완전히 통합된 전자 건강 기록 및 실무 관리, 일정 관리, 전자 청구 및 국제화 지원을 제공합니다. OpenEMR은 ONC 인증을 받았으며, 이는 OpenEMR이 건강 정보 기술을 위한 국가 조정자 사무소(ONC)의 기준을 충족함을 의미합니다.

이 가이드는 LEMP 스택(리눅스, Nginx, MariaDB 및 PHP-FPM)을 사용하여 Ubuntu 24.04 서버에 OpenEMR을 설치하는 방법을 보여줍니다. 또한 Let’s Encrypt를 통해 OpenEMR을 HTTPS로 보호하고 UFW(간단한 방화벽)를 통해 HTTP 및 HTTPS 포트를 여는 방법도 보여줍니다.

필수 조건

이 가이드를 시작하기 전에 다음을 확인하세요:

  • Ubuntu 24.04 서버
  • 관리자 권한이 있는 비루트 사용자
  • 서버의 IP 주소를 가리키는 도메인 이름

LEMP 종속성 설치

OpenEMR은 PHP와 MySQL로 작성된 웹 기반 애플리케이션입니다. 이를 설치하려면 PHP와 MySQL이 모두 설치되어 있어야 합니다. 이 가이드에서는 LEMP 스택(리눅스, Nginx, MariaDB 및 PHP)으로 OpenEMR을 실행할 것입니다. 따라서 지금은 APT 저장소를 통해 해당 패키지를 설치할 것입니다.

시작하려면 아래의 ‘apt‘ 명령어를 실행하여 Ubuntu 패키지 인덱스를 업데이트하고 LEMP 스택 패키지(리눅스, Nginx, MariaDB 및 PHP-FPM)를 설치합니다. 설치를 확인하려면 ‘Y’를 입력하세요.

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

설치가 완료되면 아래의 ‘systemctl’ 명령어로 ‘nginx‘ 서비스 상태를 확인하세요. Nginx가 실행 중이고 활성화되어 있는지 확인하세요.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

check nginx

이제 다음 명령어를 사용하여 ‘mariadb‘ 서비스를 확인하세요. MariaDB 서버가 Ubuntu 서버에서 실행 중이고 활성화되어 있는 것을 볼 수 있습니다.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

check mariadb

마지막으로 아래의 명령어로 ‘php8.3-fpm‘ 서비스를 확인하세요. PHP-FPM 서비스가 정상적으로 실행되고 있는 것을 볼 수 있습니다.

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

check php-fpm

PHP-FPM 구성

LEMP 스택이 설치되면 ‘php.ini’ 파일을 편집하여 PHP-FPM 설치를 구성한 다음 PHP-FPM 서비스를 재시작하고 변경 사항을 적용합니다.

php.ini ‘ 파일을 ‘ nano ‘ 편집기로 편집합니다.

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

기본 구성을 다음과 같이 변경합니다. 현재 RAM에 맞게 ‘ memory_limit ‘을 조정하세요.

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

파일을 저장하고 편집기를 종료합니다.

다음으로 아래의 ‘chgrp’ 명령어를 실행하여 ‘ /var/lib/php/sessions ‘ 디렉토리의 소유권을 ‘ www-data ‘ 사용자로 변경합니다.

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

마지막으로 아래의 명령어로 ‘ php8.3-fpm ‘ 서비스를 재시작합니다. 이렇게 하면 PHP-FPM 설치에 변경 사항이 적용됩니다.

sudo systemctl restart php8.3-fpm

MariaDB 서버 구성

이제 PHP가 구성되었으므로 MariaDB 서버를 구성하고 OpenEMR용 새 데이터베이스를 생성합니다. 이 섹션에서는 ‘ mariadb-secure-installation ‘ 유틸리티를 사용하여 MariaDB 서버를 보호하고 ‘ mariadb ‘ 클라이언트를 통해 새 데이터베이스와 사용자를 생성합니다.

먼저 아래의 ‘ mariadb-secure-installation ‘ 명령어를 실행하여 MariaDB 서버를 보호합니다.

sudo mariadb-secure-installation

이제 다음 구성에 대해 질문을 받게 됩니다:

  • ENTER를 눌러 MariaDB 서버를 계속 구성합니다.
  • MariaDB 루트 비밀번호를 설정하려면 ‘ Y ‘를 입력한 다음 비밀번호를 입력하고 반복합니다.
  • root ‘ 사용자에 대한 원격 로그인을 비활성화하려면 ‘ Y ‘를 입력합니다.
  • 데이터베이스 ‘ test ‘ 및 해당 권한을 삭제하려면 ‘ Y ‘를 입력합니다.
  • 구성을 완료하려면 ‘ Y ‘를 입력합니다.

MariaDB 서버가 보호된 후 OpenEMR 설치에 사용할 새 데이터베이스와 사용자를 생성해야 합니다.

아래의 ‘ mariadb ‘ 명령어로 MariaDB 서버에 로그인합니다. 프롬프트가 나타나면 MariaDB 루트 비밀번호를 입력합니다.

sudo mariadb -u root -p

다음 쿼리를 실행하여 OpenEMR용 새 데이터베이스와 사용자를 생성합니다. 이 예제에서는 ‘ openemr ‘라는 새 데이터베이스와 ‘ openemruser ‘라는 사용자, 비밀번호는 ‘ password ‘를 생성합니다. 데이터베이스 세부정보는 귀하의 정보로 조정할 수 있습니다.

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

이제 아래의 쿼리를 실행하여 ‘openemruser’의 권한을 확인합니다. 사용자가 ‘openemr’ 데이터베이스에 접근할 수 있는지 확인하세요.

SHOW GRANTS FOR openemruser@localhost;

마지막으로 ‘ quit ‘를 입력하여 MariaDB 서버에서 로그아웃합니다.

show user privileges

OpenEMR 소스 코드 다운로드

이제 PHP-FPM과 MariaDB 서버를 구성했으므로 다음 단계는 OpenEMR 소스 코드를 다운로드하고 적절한 권한과 소유권으로 설치를 설정하는 것입니다.

/var/www ‘ 디렉토리로 이동하여 아래의 ‘ wget ‘ 명령어를 사용하여 OpenEMR 소스 코드를 다운로드합니다.

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

다운로드가 완료되면 아래의 ‘tar’ 명령어를 실행하여 OpenEMR 소스 코드를 추출하고 새 디렉토리의 이름을 ‘ openemr ‘로 변경합니다. 이렇게 하면 OpenEMR 소스 코드가 ‘ /var/www/openemr ‘ 디렉토리에 저장됩니다.

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

마지막으로 아래의 ‘chown’ 명령어를 실행하여 ‘ /var/www/openemr ‘ 디렉토리의 소유권을 ‘ www-data ‘ 사용자로 변경합니다.

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

Nginx 서버 블록 설정

OpenEMR 소스 코드를 다운로드한 후 OpenEMR 설치를 실행하는 데 사용할 새 Nginx 서버 블록을 생성합니다. 따라서 도메인 이름이 준비되어 있고 서버 IP 주소를 가리키고 있는지 확인하세요.

새 Nginx 서버 블록 구성 ‘ /etc/nginx/sites-available/openemr ‘을 다음 ‘ nano ‘ 편집기 명령어로 생성합니다.

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

구성을 삽입하고 ‘ server_name ‘ 옵션을 귀하의 도메인 이름으로 변경하세요.

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

파일을 저장하고 편집기를 종료합니다.

이제 아래의 명령어를 실행하여 ‘openemr’ 서버 블록을 활성화하고 Nginx 구문을 확인합니다. 올바르고 적절한 Nginx 구문이 있으면 ‘ test is successful - syntax is ok ‘와 같은 출력을 볼 수 있습니다.

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

setup nginx

마지막으로 아래의 ‘ systemctl ‘ 명령어를 실행하여 Nginx 웹 서버를 재시작하고 변경 사항을 적용합니다.

sudo systemctl restart nginx

HTTPS로 OpenEMR 보호

이 섹션에서는 Certbot을 설치하고 OpenEMR을 HTTPS로 보호합니다. 이는 공개 도메인 이름과 서버를 사용하는 경우에 작동합니다. 로컬 서버나 개발 환경에서는 자체 서명된 인증서를 사용할 수 있습니다.

SSL을 설정하기 전에 아래의 ‘ufw’ 명령어를 실행하여 서버에서 HTTP 및 HTTPS 서비스를 모두 엽니다. ‘success’와 같은 출력을 볼 수 있습니다.

Sudo ufw allow 'Nginx Full'

이제 아래의 ‘ apt ‘ 명령어로 ‘ certbot ‘ 및 ‘ python3-certbot-nginx ‘ 플러그인을 설치합니다. 설치를 확인하려면 ‘Y’를 입력하세요.

sudo apt install certbot python3-certbot-nginx -y

설치가 완료되면 아래의 ‘certbot’ 명령어를 실행하여 SSL 인증서를 생성하고 OpenEMR 설치를 보호합니다.

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

프로세스가 완료되면 SSL 인증서는 ‘ /etc/letsencrypt/live/domain.com ‘ 디렉토리에 저장됩니다. 또한 OpenEMR 설치는 HTTPS로 보호됩니다.

OpenEMR 설치

웹 브라우저를 열고 https://openemr.howtoforge.local/에 방문합니다.

먼저 설치 프로그램이 OpenEMR 소스 코드의 권한을 확인하므로 적절한 권한이 있는지 확인하세요.

installation

I have created the database ‘ 옵션을 선택하여 데이터베이스 통합을 설정합니다.

i have the database

데이터베이스 세부정보와 OpenEMR의 새 관리자 계정을 입력합니다.

database settings

데이터베이스 초기화가 진행되며 관리 사용자가 생성됩니다.

installation

다음으로 PHP 구성 요구 사항이 OpenEMR 요구 사항을 충족하는지 확인합니다.

php configuration

설치가 완료되면 OpenEMR 로그인 페이지로 리디렉션됩니다. 관리자 사용자 이름과 비밀번호를 입력한 후 로그인을 클릭합니다.

login

성공하면 다음과 같은 OpenEMR 대시보드를 볼 수 있습니다.

dashboard

결론

축하합니다! Ubuntu 24.04 서버에 OpenEMR 설치를 완료했습니다. OpenEMR은 PHP-FPM, Nginx 웹 서버 및 MariaDB 서버와 함께 실행되고 있습니다. 또한 Certbot과 Let’s Encrypt를 통해 OpenEMR을 HTTPS로 보호했습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.