Cách cài đặt OpenEMR trên Ubuntu 24.04 Server

theanh

Administrator
Nhân viên
OpenEMR là giải pháp quản lý hồ sơ sức khỏe và hoạt động y tế nguồn mở. Đây là giải pháp quản lý hồ sơ sức khỏe điện tử và hoạt động y tế, lập lịch, thanh toán điện tử và hỗ trợ quốc tế hóa được tích hợp đầy đủ. OpenEMR được ONC chứng nhận, nghĩa là OpenEMR đáp ứng các tiêu chuẩn của Văn phòng Điều phối viên Quốc gia về Công nghệ Thông tin Y tế (ONC).

Hướng dẫn này sẽ chỉ cho bạn cách cài đặt OpenEMR trên máy chủ Ubuntu 24.04 với LEMP Stack (Linux, Nginx, MariaDB và PHP-FPM). Chúng tôi cũng sẽ chỉ cho bạn cách bảo mật OpenEMR bằng HTTPS từ Let's Encrypt và mở các cổng HTTP và HTTPS thông qua UFW (Tường lửa đơn giản).

Điều kiện tiên quyết​

Để bắt đầu với hướng dẫn này, hãy đảm bảo bạn có:
  • Máy chủ Ubuntu 24.04
  • Người dùng không phải root có quyền quản trị viên
  • Tên miền trỏ đến địa chỉ IP của máy chủ

Cài đặt LEMP Dependencies​

OpenEMR là ứng dụng dựa trên web được viết bằng PHP và MySQL. Để cài đặt ứng dụng, bạn phải đảm bảo rằng cả PHP và MySQL đều được cài đặt. Trong hướng dẫn này, bạn sẽ chạy OpenEMR với LEMP Stack (Linux, Nginx, MariaDB và PHP). Vì vậy, hiện tại, bạn sẽ cài đặt các gói đó thông qua kho lưu trữ APT.

Để bắt đầu, hãy chạy lệnh 'apt' bên dưới để cập nhật chỉ mục gói Ubuntu của bạn và cài đặt các gói LEMP Stack (Linux, Nginx, MariaDB và PHP-FPM). Nhập 'Y' để xác nhận cài đặt.
Mã:
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

2024-12-27-124032_1320x398_scrot.png



Sau khi cài đặt hoàn tất, hãy kiểm tra trạng thái dịch vụ 'nginx' bằng lệnh 'systemctl' bên dưới. Đảm bảo Nginx đang chạy và được bật.
Mã:
sudo systemctl is-enabled nginx
sudo systemctl status nginx

2024-12-27-125800_868x279_scrot.png



Bây giờ hãy kiểm tra dịch vụ 'mariadb' bằng lệnh sau. Bạn sẽ thấy máy chủ MariaDB đang chạy và được bật trên máy chủ Ubuntu của bạn.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

2024-12-27-125808_887x350_scrot.png



Cuối cùng, hãy kiểm tra dịch vụ 'php8.3-fpm' bằng lệnh bên dưới. Bạn sẽ thấy dịch vụ PHP-FPM đã hoạt động.
Mã:
sudo systemctl is-enabled php8.3-fpm
sudo systemctl status php8.3-fpm

2024-12-27-125816_927x322_scrot.png


Cấu hình PHP-FPM​

Sau khi LEMP Stack được cài đặt, hãy cấu hình cài đặt PHP-FPM bằng cách chỉnh sửa 'php.ini', sau đó khởi động lại dịch vụ PHP-FPM và áp dụng thay đổi.

Chỉnh sửa tệp 'php.ini' bằng trình chỉnh sửa 'nano'.
Mã:
sudo nano /etc/php/8.3/fpm/php.ini
Thay đổi cấu hình mặc định bằng lệnh sau. Đảm bảo điều chỉnh 'memory_limit' với RAM hiện tại của bạn.
Mã:
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
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.

Tiếp theo, chạy lệnh 'chgrp' bên dưới để thay đổi quyền sở hữu thư mục '/var/lib/php/sessions' thành người dùng 'www-data'.
Mã:
sudo chgrp -R www-data /var/lib/php/sessions
Cuối cùng, khởi động lại dịch vụ 'php8.3-fpm' bằng lệnh bên dưới. Thao tác này sẽ áp dụng các thay đổi của bạn vào cài đặt PHP-FPM.
Mã:
sudo systemctl restart php8.3-fpm

Cấu hình máy chủ MariaDB​

Bây giờ PHP đã được cấu hình, hãy cấu hình máy chủ MariaDB và tạo cơ sở dữ liệu mới cho OpenEMR. Trong phần này, bạn sẽ bảo mật máy chủ MariaDB bằng tiện ích 'mariadb-secure-installation' và tạo cơ sở dữ liệu và người dùng mới thông qua máy khách 'mariadb'.

Trước tiên, hãy chạy lệnh 'mariadb-secure-installation' bên dưới để bảo mật máy chủ MariaDB của bạn.
Mã:
sudo mariadb-secure-installation
Bây giờ bạn sẽ được hỏi về các cấu hình sau:
  • Nhấn ENTER để tiếp tục và cấu hình máy chủ MariaDB
  • Nhập 'Y' để thiết lập mật khẩu gốc MariaDB, sau đó nhập và lặp lại mật khẩu của bạn
  • Nhập 'Y' để vô hiệu hóa đăng nhập từ xa cho người dùng 'root'
  • Nhập 'Y' để xóa cơ sở dữ liệu 'test' và các đặc quyền của nó
  • Nhập 'Y' để hoàn tất cấu hình
Sau khi máy chủ MariaDB được bảo mật, bạn cần tạo một cơ sở dữ liệu và người dùng mới sẽ được cài đặt OpenEMR sử dụng.

Đăng nhập vào máy chủ MariaDB bằng lệnh 'mariadb' bên dưới. Nhập mật khẩu gốc MariaDB của bạn khi được nhắc.
Mã:
sudo mariadb -u root -p
Chạy các truy vấn sau để tạo cơ sở dữ liệu và người dùng mới cho OpenEMR. Trong ví dụ này, bạn sẽ tạo cơ sở dữ liệu mới 'openemr' với người dùng 'openemruser' và mật khẩu là 'password'. Bạn có thể điều chỉnh thông tin chi tiết về cơ sở dữ liệu bằng thông tin của mình.
Mã:
CREATE DATABASE openemr;
CREATE USER 'openemruser'@'localhost' IDENTIFIED BY 'Your_password2';
GRANT ALL PRIVILEGES ON openemr.* TO 'openemruser'@'localhost';
FLUSH PRIVILEGES;

2024-12-27-130423_862x299_scrot.png



Bây giờ hãy chạy truy vấn bên dưới để kiểm tra quyền cho 'openemruser'. Đảm bảo rằng người dùng có thể truy cập cơ sở dữ liệu 'openemr'.
Mã:
SHOW GRANTS FOR openemruser@localhost;
Cuối cùng, nhập 'quit' để thoát khỏi máy chủ MariaDB.


2024-12-27-130443_850x291_scrot.png


Tải xuống mã nguồn OpenEMR​

Bây giờ bạn đã định cấu hình PHP-FPM và MariaDB máy chủ, bước tiếp theo là tải xuống mã nguồn OpenEMR và thiết lập cài đặt với quyền và quyền sở hữu phù hợp.

Đi đến thư mục '/var/www' và tải xuống mã nguồn OpenEMR bằng lệnh 'wget' bên dưới.
Mã:
cd /var/www/
wget https://sourceforge.net/projects/openemr/files/OpenEMR%20Current/7.0.2/openemr-7.0.2.tar.gz
Sau khi tải xuống, hãy chạy lệnh 'tar' bên dưới để giải nén mã nguồn OpenEMR và đổi tên thư mục mới thành 'openemr'. Với lệnh này, mã nguồn OpenEMR sẽ được lưu trữ trong thư mục '/var/www/openemr'.
Mã:
tar -pxzf openemr-7.0.2.tar.gz
mv openemr-7.0.2 openemr
Cuối cùng, hãy chạy lệnh 'chown' bên dưới để thay đổi quyền sở hữu thư mục '/var/www/openemr' thành người dùng 'www-data'.
Mã:
sudo chown -R www-data:www-data /var/www/openemr

Thiết lập Khối máy chủ Nginx​

Sau khi tải xuống mã nguồn OpenEMR, bạn sẽ tạo một khối máy chủ Nginx mới sẽ được sử dụng để chạy cài đặt OpenEMR của bạn. Vì vậy, hãy đảm bảo rằng bạn đã chuẩn bị tên miền và trỏ đến địa chỉ IP của máy chủ.

Tạo cấu hình khối máy chủ Nginx mới '/etc/nginx/sites-available/openemr' bằng lệnh biên tập 'nano' sau.
Mã:
sudo nano /etc/nginx/sites-available/openemr
Chèn cấu hình và đảm bảo thay đổi tùy chọn 'server_name' bằng tên miền của bạn tên.
Mã:
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;
}
}
Lưu tệp và thoát khỏi trình chỉnh sửa.

Bây giờ hãy chạy lệnh bên dưới để kích hoạt khối máy chủ 'openemr' và xác minh cú pháp Nginx của bạn. Nếu cú pháp Nginx của bạn đúng và phù hợp, bạn sẽ thấy đầu ra như sau 'test is successful - syntax is ok'.
Mã:
sudo ln -s /etc/nginx/sites-available/openemr /etc/nginx/sites-enabled/
sudo nginx -t

2024-12-27-133823_921x213_scrot.png



Cuối cùng, hãy chạy lệnh 'systemctl' bên dưới để khởi động lại máy chủ web Nginx và áp dụng changes.
Mã:
sudo systemctl restart nginx

Bảo mật OpenEMR bằng HTTPS​

Trong phần này, bạn sẽ cài đặt Certbot và bảo mật OpenEMR bằng HTTPS. Điều này sẽ hiệu quả nếu bạn đang sử dụng tên miền công cộng và máy chủ. Trên máy chủ cục bộ hoặc phát triển, bạn có thể sử dụng chứng chỉ Tự ký.

Trước khi thiết lập SSL, hãy chạy lệnh 'ufw' bên dưới để mở cả dịch vụ HTTP và HTTPS trên máy chủ của bạn. Bạn sẽ thấy đầu ra là 'thành công'.
Mã:
Sudo ufw allow 'Nginx Full'
Bây giờ hãy cài đặt plugin 'certbot' và 'python3-certbot-nginx' bằng lệnh 'apt' sau. Nhập 'Y' để xác nhận cài đặt.
Mã:
sudo apt install certbot python3-certbot-nginx -y
Sau khi cài đặt hoàn tất, hãy chạy lệnh 'certbot' bên dưới để tạo chứng chỉ SSL và bảo mật cài đặt OpenEMR của bạn.
Mã:
sudo certbot --nginx -d openemr.howtoforge.local
Sau khi quá trình hoàn tất, chứng chỉ SSL của bạn sẽ có trong thư mục '/etc/letsencrypt/live/domain.com'. Ngoài ra, cài đặt OpenEMR của bạn sẽ được bảo mật bằng HTTPS.

Cài đặt OpenEMR​

Mở trình duyệt web của bạn và truy cậphttps://openemr.howtoforge.local/ thông qua trình duyệt web.

Đầu tiên, trình cài đặt sẽ kiểm tra quyền của mã nguồn OpenEMR, vì vậy hãy đảm bảo bạn có quyền thích hợp.


2024-12-27-133939_1192x823_scrot.png



Chọn tùy chọn 'Tôi đã tạo cơ sở dữ liệu' để thiết lập tích hợp cơ sở dữ liệu của bạn.


2024-12-27-133957_1193x588_scrot.png



Nhập thông tin chi tiết về cơ sở dữ liệu và quản trị viên mới cho OpenEMR.


2024-12-27-134236_1148x893_scrot.png



Quá trình khởi tạo cơ sở dữ liệu sẽ diễn ra và người dùng quản trị của bạn sẽ được tạo.


2024-12-27-134323_1192x717_scrot.png



Tiếp theo, hãy đảm bảo cấu hình PHP của bạn đáp ứng các yêu cầu của OpenEMR.


2024-12-27-134342_1198x891_scrot.png



Sau khi cài đặt hoàn tất, bạn sẽ được chuyển hướng đến trang đăng nhập OpenEMR. Nhập tên người dùng quản trị và mật khẩu của bạn, sau đó nhấp vào Đăng nhập.


2024-12-27-134430_808x587_scrot.png



Nếu thành công, bạn sẽ thấy bảng điều khiển OpenEMR sau.


2024-12-27-134621_1913x741_scrot.png


Kết luận​

Xin chúc mừng! Bạn đã hoàn tất quá trình cài đặt OpenEMR trên máy chủ Ubuntu 24.04. OpenEMR đang hoạt động với PHP-FPM, máy chủ web Nginx và máy chủ MariaDB. Bạn cũng đã bảo mật OpenEMR bằng HTTPS thông qua Certbot và Let's Encrypt.
 
Back
Bên trên