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
설치가 완료되면 아래의 ‘systemctl’ 명령어로 ‘nginx‘ 서비스 상태를 확인하세요. Nginx가 실행 중이고 활성화되어 있는지 확인하세요.
sudo systemctl is-enabled nginx
sudo systemctl status nginx
이제 다음 명령어를 사용하여 ‘mariadb‘ 서비스를 확인하세요. MariaDB 서버가 Ubuntu 서버에서 실행 중이고 활성화되어 있는 것을 볼 수 있습니다.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
마지막으로 아래의 명령어로 ‘php8.3-fpm‘ 서비스를 확인하세요. PHP-FPM 서비스가 정상적으로 실행되고 있는 것을 볼 수 있습니다.
sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-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-fpmMariaDB 서버 구성
이제 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;
이제 아래의 쿼리를 실행하여 ‘openemruser’의 권한을 확인합니다. 사용자가 ‘openemr’ 데이터베이스에 접근할 수 있는지 확인하세요.
SHOW GRANTS FOR openemruser@localhost;마지막으로 ‘ quit ‘를 입력하여 MariaDB 서버에서 로그아웃합니다.

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/openemrNginx 서버 블록 설정
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
마지막으로 아래의 ‘ systemctl ‘ 명령어를 실행하여 Nginx 웹 서버를 재시작하고 변경 사항을 적용합니다.
sudo systemctl restart nginxHTTPS로 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 소스 코드의 권한을 확인하므로 적절한 권한이 있는지 확인하세요.

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

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

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

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

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

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

결론
축하합니다! Ubuntu 24.04 서버에 OpenEMR 설치를 완료했습니다. OpenEMR은 PHP-FPM, Nginx 웹 서버 및 MariaDB 서버와 함께 실행되고 있습니다. 또한 Certbot과 Let’s Encrypt를 통해 OpenEMR을 HTTPS로 보호했습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.