OpenEMR là công cụ quản lý hồ sơ sức khỏe điện tử và hoạt động y tế nguồn mở. Công cụ này được Văn phòng Điều phối viên Quốc gia về Công nghệ Thông tin Y tế (ONC) chứng nhận và có hồ sơ sức khỏe tích hợp, quản lý hoạt động, lập lịch, thanh toán điện tử, quốc tế hóa, hỗ trợ miễn phí và nhiều tính năng khác. Nó có thể theo dõi thông tin nhân khẩu học của bệnh nhân, lên lịch cho bệnh nhân, duy trì hồ sơ sức khỏe cực kỳ chi tiết với các báo cáo xét nghiệm, thuốc men và quy trình, theo dõi đơn thuốc của họ, hỗ trợ thanh toán y tế, tạo báo cáo chi tiết và hỗ trợ nhiều ngôn ngữ.
Trong hướng dẫn này, bạn sẽ học cách cài đặt phần mềm OpenEMR trên máy chủ chạy Rocky Linux 9.
[*]
Một số gói mà hệ thống của bạn cần.
Một số gói này có thể đã được cài đặt trên hệ thống của bạn.
Tường lửa hoạt động với nhiều vùng khác nhau và vùng công cộng là vùng mặc định mà chúng ta sẽ sử dụng. Liệt kê tất cả các dịch vụ và cổng đang hoạt động trên tường lửa.
Nó sẽ hiển thị đầu ra sau.
OpenEMR cần các cổng HTTP và HTTPS để hoạt động. Mở chúng ra.
Tải lại tường lửa để áp dụng các thay đổi.
Liệt kê lại tất cả các dịch vụ.
Bạn sẽ nhận được thông báo sau đầu ra.
Tạo và mở tệp
Dán mã sau vào nó.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Cài đặt máy chủ Nginx.
Xác minh cài đặt.
Bật và khởi động máy chủ Nginx.
Kiểm tra trạng thái của máy chủ.
Kiểm tra phiên bản MySQL.
Bật và khởi động MySQL dịch vụ.
Chạy tập lệnh cài đặt bảo mật MySQL.
Bạn sẽ được yêu cầu cài đặt Validate Password Component. Nó kiểm tra độ mạnh của mật khẩu được sử dụng trong MySQL. Nhấn Y để cài đặt. Tiếp theo, bạn sẽ được yêu cầu đặt mức độ chính sách xác thực mật khẩu. Chọn 2 vì đây là mức mạnh nhất.
Tiếp theo, bạn sẽ được yêu cầu đặt mật khẩu root mới. Nhập mật khẩu theo các yêu cầu được chỉ định ở trên. Nhập
Tiếp theo, nhập Y để xóa người dùng ẩn danh, không cho phép đăng nhập gốc từ xa, xóa cơ sở dữ liệu thử nghiệm và tải lại đặc quyền bảng.
Tạo một cơ sở dữ liệu mẫu.
Tạo một người dùng SQL tài khoản.
Cấp tất cả các quyền trên cơ sở dữ liệu cho người dùng.
Xóa người dùng quyền.
Thoát khỏi shell.
Tiếp theo, cài đặt kho lưu trữ Remi.
Kiểm tra PHP có sẵn luồng.
Phiên bản mặc định là 8.1. Bật kho lưu trữ PHP 8.2 của Remi.
Cài đặt PHP và các tiện ích mở rộng bắt buộc theo yêu cầu của OpenEMR.
Cài đặt thư viện TIFF Tools. Thư viện này không có trong kho lưu trữ cơ sở nhưng có trong kho lưu trữ CRB (trước đây là Powertools).
Xác minh cài đặt.
Bật và khởi động PHP-FPM service.
Cài đặt Snapd.
Bật và khởi động dịch vụ Snap.
Cài đặt gói lõi Snap và đảm bảo rằng phiên bản Snapd của bạn là ngày.
Tạo các liên kết cần thiết để Snapd hoạt động.
Phát hành lệnh sau để cài đặt Certbot.
Sử dụng lệnh sau để đảm bảo lệnh Certbot có thể chạy được bằng cách tạo liên kết tượng trưng đến
Xác minh cài đặt.
Chạy lệnh sau để tạo SSL Chứng chỉ.
Lệnh trên sẽ tải chứng chỉ xuống thư mục
Tạo nhóm Diffie-Hellman chứng chỉ.
Kiểm tra dịch vụ lập lịch gia hạn Certbot.
Bạn sẽ tìm thấy
Thực hiện chạy thử quy trình để kiểm tra xem việc gia hạn SSL có hoạt động không tốt.
Nếu bạn không thấy lỗi nào, bạn đã hoàn tất. Chứng chỉ của bạn sẽ tự động gia hạn.
Giải nén các tệp.
Di chuyển các tệp đã giải nén đến thư mục gốc của web thư mục.
Cấp quyền cho người dùng Nginx đối với thư mục gốc web.
Áp dụng chính sách.
Áp dụng chính sách để cho phép Nginx cấp quyền truy cập vào MySQL.
Áp dụng chính sách để cho phép kết nối đến các máy chủ bên ngoài. Điều này là cần thiết để gửi email.
Chúng ta cần thiết lập người dùng/nhóm Unix của các tiến trình PHP thành nginx. Tìm các dòng
Tìm
Tiếp theo, hãy bình luận dòng sau như được hiển thị bằng cách đặt dấu chấm phẩy trước dòng đó.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Tăng thời gian thực thi cho PHP-FPM và PHP-CLI lên 60 giây.
Đặt giá trị của biến
Tăng giới hạn bộ nhớ cho PHP-FPM từ 128MB lên 512MB.
Tăng kích thước tệp tải lên lên 30MB.
Tăng số lượng biến đầu vào tối đa lên 3000.
Cho phép truy cập, theo góc nhìn của PHP, các tệp cục bộ bằng các câu lệnh LOAD DATA.
Khởi động lại PHP-FPM dịch vụ.
Thay đổi nhóm thư mục phiên PHP thành Nginx.
Dán mã sau vào đó.
Lưu ý thư mục gốc được sử dụng trong cấu hình Nginx là
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Mở tệp
Thêm dòng sau vào trước dòng
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Xác minh tệp cấu hình Nginx cú pháp.
Khởi động lại dịch vụ Nginx.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22508%22%3E%3C/svg%3E
Tại đây, nó sẽ kiểm tra quyền đối với tệp và xác nhận xem bạn có thể tiến hành bước 1 hay không. Nếu bạn thấy từ
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22370%22%3E%3C/svg%3E
Ở trang tiếp theo, bạn sẽ được hỏi xem bạn có muốn trình cài đặt tạo cơ sở dữ liệu hay sử dụng cơ sở dữ liệu được tạo sẵn không. Chọn tùy chọn Tôi đã tạo cơ sở dữ liệu và nhấp vào nút để tiến hành bước 2.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22671%22%3E%3C/svg%3E
Ở trang tiếp theo, hãy điền thông tin xác thực cơ sở dữ liệu mà bạn đã định cấu hình ở bước 4 trước đó. Ngoài ra, hãy nhập thông tin xác thực tài khoản quản trị viên của bạn. Đảm bảo tên người dùng của bạn dài từ 12 ký tự trở lên, nếu không, bạn sẽ gặp lỗi. Bạn có thể bật xác thực hai yếu tố (2FA) tại đây nhưng bạn nên định cấu hình sau khi cài đặt. Nhấp vào nút để tạo cơ sở dữ liệu và tài khoản người dùng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22450%22%3E%3C/svg%3E
Trang tiếp theo sẽ hiển thị trạng thái cài đặt và sẽ hiển thị cho bạn tên người dùng và mật khẩu. Nhấp vào nút để tiến hành bước 4.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22665%22%3E%3C/svg%3E
Trang tiếp theo sẽ liệt kê các giá trị được đề xuất và hiện tại từ tệp
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22570%22%20height=%2240%22%3E%3C/svg%3E
Khi bạn đã hài lòng, hãy nhấp vào nút để tiến hành bước 5.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22537%22%3E%3C/svg%3E
Bước tiếp theo liệt kê các thiết lập máy chủ Apache mà chúng ta sẽ bỏ qua vì chúng ta đang sử dụng máy chủ Nginx. Nhấp vào nút để tiếp tục đến trang tiếp theo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22458%22%3E%3C/svg%3E
Tại đây, bạn sẽ được yêu cầu chọn một chủ đề cho bảng quản trị. Chọn tùy chọn Giữ nguyên và nhấp vào nút để tiếp tục. Bạn có thể thay đổi chủ đề từ bảng quản trị sau này, tuy nhiên bạn sẽ không thể thấy chúng trông như thế nào. Nếu bạn chọn từ trang cài đặt, bạn cũng có thể kiểm tra chúng trông như thế nào trước khi chọn. Chúng tôi sẽ sử dụng chủ đề mặc định.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22679%22%3E%3C/svg%3E
Trang cuối liệt kê một số lưu ý cuối cùng về phần mềm và thông tin đăng nhập tài khoản. Nhấp vào nút Bắt đầu để mở trang đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22698%22%20height=%22538%22%3E%3C/svg%3E
Bạn sẽ nhận được cửa sổ bật lên đăng ký OpenEMR để nhận thông báo từ trang web của họ. Bạn có thể bỏ qua và nhập thông tin đăng nhập của mình và nhấp vào nút Đăng nhập để truy cập bảng điều khiển.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22423%22%3E%3C/svg%3E
Nếu bạn không cấu hình xác thực hai yếu tố trong quá trình cài đặt, hãy thực hiện bằng cách nhấp vào biểu tượng hình đại diện ở trên cùng bên phải và chọn tùy chọn Quản lý MFA.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22287%22%20height=%22241%22%3E%3C/svg%3E
Ở trang tiếp theo, chọn Phương pháp xác thực từ menu thả xuống và bắt đầu cấu hình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22342%22%3E%3C/svg%3E
Bạn có thể bắt đầu sử dụng OpenEMR để quản lý doanh nghiệp chăm sóc sức khỏe của mình từ đây.
Trong hướng dẫn này, bạn sẽ học cách cài đặt phần mềm OpenEMR trên máy chủ chạy Rocky Linux 9.
Điều kiện tiên quyết
-
Máy chủ chạy Rocky Linux 9.
-
Người dùng sudo không phải root.
-
Tên miền đủ điều kiện (FQDN) nhưopenemr.example.com
.
-
Đảm bảo mọi thứ đều đã cập nhật.
Mã:
$ sudo dnf update
Một số gói mà hệ thống của bạn cần.
Mã:
$ sudo dnf install wget curl nano unzip yum-utils policycoreutils-python-utils -y
Bước 1 - Cấu hình Tường lửa
Bước đầu tiên là cấu hình tường lửa. Rocky Linux sử dụng Tường lửa Firewalld. Kiểm tra trạng thái của tường lửa.
Mã:
$ sudo firewall-cmd --state
running
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
cockpit dhcpv6-client ssh
Mã:
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Mã:
$ sudo firewall-cmd --reload
Mã:
$ sudo firewall-cmd --permanent --list-services
Mã:
cockpit dhcpv6-client http https ssh
Bước 2 - Cài đặt Nginx
Rocky Linux 9 đi kèm với phiên bản Nginx cũ hơn. Bạn cần tải xuống kho lưu trữ Nginx chính thức để cài đặt phiên bản mới nhất.Tạo và mở tệp
/etc/yum.repos.d/nginx.repo
để tạo kho lưu trữ Nginx chính thức.
Mã:
$ sudo nano /etc/yum.repos.d/nginx.repo
Mã:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Cài đặt máy chủ Nginx.
Mã:
$ sudo dnf install -y nginx
Mã:
$ nginx -v
nginx version: nginx/1.24.0
Mã:
$ sudo systemctl enable nginx --now
Mã:
$ sudo systemctl status nginx
? nginx.service - nginx - high performance web server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: disabled) Active: active (running) since Thu 2023-06-15 10:20:00 UTC; 1s ago Docs: http://nginx.org/en/docs/ Process: 1411 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS) Main PID: 1412 (nginx) Tasks: 2 (limit: 5922) Memory: 1.9M CPU: 7ms CGroup: /system.slice/nginx.service ??1412 "nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf" ??1413 "nginx: worker process"
Bước 3 - Cài đặt MySQL
Rocky Linux 9 được tích hợp phiên bản MySQL mới nhất. Bạn có thể cài đặt nó bằng một lệnh duy nhất.
Mã:
$ sudo dnf install mysql-server
Mã:
$ mysql --version
mysql Ver 8.0.32 for Linux on x86_64 (Source distribution)
Mã:
$ sudo systemctl enable mysqld --now
Mã:
$ sudo mysql_secure_installation
Mã:
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?
Press y|Y for Yes, any other key for No: Y
There are three levels of password validation policy:
LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Y
khi được nhắc tiếp tục với mật khẩu gốc đã chọn.
Mã:
Please set the password for root here.
New password:
Re-enter new password:
Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y
Mã:
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y - Dropping test database...
Success. - Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Success.
All done!
Bước 4 - Cấu hình MySQL
Đăng nhập vào shell MySQL. Nhập mật khẩu gốc của bạn khi được nhắc.
Mã:
$ sudo mysql -u root -p
Mã:
mysql> CREATE DATABASE openemr;
Mã:
mysql> CREATE USER 'openemruser'@'localhost' IDENTIFIED BY 'Your_password2';
Mã:
mysql> GRANT ALL PRIVILEGES ON openemr.* TO 'openemruser'@'localhost';
Mã:
mysql> FLUSH PRIVILEGES;
Mã:
mysql> exit
Bước 5 - Cài đặt PHP và các tiện ích mở rộng của nó
Chúng ta cần cài đặt PHP 8.2 để OpenEMR hoạt động. Bước đầu tiên là lấy kho lưu trữ Epel.
Mã:
$ sudo dnf install epel-release -y
Mã:
$ sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
Mã:
$ dnf module list php -y
Name Stream Profiles Summary
php 8.1 common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 9 - x86_64
Name Stream Profiles Summary
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
php remi-8.1 common [d], devel, minimal PHP scripting language
php remi-8.2 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Mã:
$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.2
Mã:
$ sudo dnf install 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 php-ldap
Mã:
$ sudo dnf install libtiff-tools --enablerepo=crb
Mã:
$ php --version
PHP 8.2.7 (cli) (built: Jun 6 2023 21:28:56) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies
Mã:
$ sudo systemctl enable php-fpm --now
Bước 6 - Cài đặt SSL
Chúng ta cần cài đặt Certbot để tạo chứng chỉ SSL. Chúng ta sẽ sử dụng trình cài đặt gói Snapd cho việc đó. Vì Rocky Linux không đi kèm với nó, hãy cài đặt trình cài đặt Snapd. Nó yêu cầu kho lưu trữ EPEL hoạt động mà chúng tôi đã cài đặt trước đó cho PHP để chúng tôi có thể bỏ qua bước này.Cài đặt Snapd.
Mã:
$ sudo dnf install -y snapd
Mã:
$ sudo systemctl enable snapd --now
Mã:
$ sudo snap install core && sudo snap refresh core
Mã:
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Mã:
$ sudo snap install --classic certbot
/usr/bin
thư mục.
Mã:
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Mã:
$ certbot --version
certbot 2.6.0
Mã:
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [emailprotected] -d openemr.example.com
/etc/letsencrypt/live/openemr.example.com
trên máy chủ của bạn.Tạo nhóm Diffie-Hellman chứng chỉ.
Mã:
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Mã:
$ sudo systemctl list-timers
snap.certbot.renew.service
là một trong những dịch vụ được lên lịch chạy.
Mã:
NEXT LEFT LAST PASSED UNIT ACTIVATES
-----------------------------------------------------------------------------------------------------------------------------------------
Thu 2023-06-15 12:29:25 UTC 54min left Thu 2023-06-15 11:18:44 UTC 16min ago dnf-makecache.timer dnf-makecache.service
Thu 2023-06-15 12:51:00 UTC 1h 15min left - - snap.certbot.renew.timer snap.certbot.renew.service
Mã:
$ sudo certbot renew --dry-run
Bước 7 - Tải xuống OpenEMR
Truy cập trang tải xuống OpenEMR và lấy liên kết cho phiên bản OpenEMR mới nhất. Tải OpenEMR về máy chủ.
Mã:
$ wget https://sourceforge.net/projects/openemr/files/OpenEMR%20Current/7.0.1/openemr-7.0.1.tar.gz
Mã:
$ tar -pxzf openemr-7.0.1.tar.gz
Mã:
$ sudo mv openemr-7.0.1 /var/www/html/openemr
Mã:
$ sudo chown -R nginx:nginx /var/www/html/openemr
Bước 8 - Cấu hình SELinux
Thay đổi ngữ cảnh bảo mật tệp cho OpenEMR.
Mã:
$ sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/openemr(/.*)?"
Mã:
$ sudo restorecon -Rv /var/www/html/openemr/
Mã:
$ sudo setsebool -P httpd_can_network_connect_db 1
Mã:
$ sudo setsebool -P httpd_can_network_connect 1
Bước 8 - Cấu hình PHP-FPM
Mở tệp/etc/php-fpm.d/www.conf
.
Mã:
$ sudo nano /etc/php-fpm.d/www.conf
user=www-data
và group=www-data
trong tệp và thay đổi chúng thành nginx
.
Mã:
...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
; will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...
;listen.owner = nobody
, ;listen.group = nobody
và ;listen.mode=0660
các dòng trong tệp và thay đổi chúng như được hiển thị bên dưới.
Mã:
; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. The owner
; and group can be specified either by name or by their numeric IDs.
; Default Values: user and group are set as the running user
; mode is set to 0660
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
Mã:
;listen.acl_users = apache,nginx
Tăng thời gian thực thi cho PHP-FPM và PHP-CLI lên 60 giây.
Mã:
$ sudo sed -i 's/max_execution_time = 30/max_execution_time = 60/' /etc/php.ini
max_input_time
thành 1
.
Mã:
$ sudo sed -i 's/max_input_time = 60/max_input_time = -1/' /etc/php.ini
Mã:
$ sudo sed -i 's/memory_limit = 128M/memory_limit = 512M/' /etc/php.ini
Mã:
$ sudo sed -i 's/post_max_size = 8M/post_max_size = 30M/' /etc/php.ini
$ sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 30M/' /etc/php.ini
Mã:
$ sudo sed -i 's/;max_input_vars = 1000/max_input_vars = 3000/g' /etc/php.ini
Mã:
$ sudo sed -i 's/;mysqli.allow_local_infile = On/mysqli.allow_local_infile = On/g' /etc/php.ini
Mã:
$ sudo systemctl restart php-fpm
Mã:
$ sudo chgrp -R nginx /var/lib/php/session
Bước 9 - Cấu hình Nginx
Tạo và mở tệp/etc/nginx/conf.d/openemr.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/conf.d/openemr.conf
Mã:
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name openemr.example.com; access_log /var/log/nginx/openemr.access.log; error_log /var/log/nginx/openemr.error.log; # SSL ssl_certificate /etc/letsencrypt/live/openemr.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/openemr.example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/openemr.example.com/chain.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1; ssl_stapling on; ssl_stapling_verify on; ssl_dhparam /etc/ssl/certs/dhparam.pem; # use https://blog.cloudflare.com/announcing-1111 Cloudfare+Apnic labs, It is free and secure resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] valid=300s; root /var/www/html/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-fpm/www.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; }
}
# enforce HTTPS
server { listen 80; listen [::]:80; server_name openemr.example.com; return 301 https://$host$request_uri;
}
/var/www/html/openemr
.Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc sau khi hoàn tất.
Mở tệp
/etc/nginx/nginx.conf
để chỉnh sửa.
Mã:
$ sudo nano /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;
.
Mã:
server_names_hash_bucket_size 64;
Xác minh tệp cấu hình Nginx cú pháp.
Mã:
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Mã:
$ sudo systemctl restart nginx
Bước 10 - Cài đặt OpenEMR
Mở URLhttps://openemr.example.com
trong trình duyệt của bạn và bạn sẽ thấy màn hình thiết lập sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22508%22%3E%3C/svg%3E
Tại đây, nó sẽ kiểm tra quyền đối với tệp và xác nhận xem bạn có thể tiến hành bước 1 hay không. Nếu bạn thấy từ
ready
màu xanh lá cây, điều đó có nghĩa là bạn có thể tiếp tục. Nhấp vào nút màu xanh lam để tiếp tục bước 1.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22370%22%3E%3C/svg%3E
Ở trang tiếp theo, bạn sẽ được hỏi xem bạn có muốn trình cài đặt tạo cơ sở dữ liệu hay sử dụng cơ sở dữ liệu được tạo sẵn không. Chọn tùy chọn Tôi đã tạo cơ sở dữ liệu và nhấp vào nút để tiến hành bước 2.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22671%22%3E%3C/svg%3E
Ở trang tiếp theo, hãy điền thông tin xác thực cơ sở dữ liệu mà bạn đã định cấu hình ở bước 4 trước đó. Ngoài ra, hãy nhập thông tin xác thực tài khoản quản trị viên của bạn. Đảm bảo tên người dùng của bạn dài từ 12 ký tự trở lên, nếu không, bạn sẽ gặp lỗi. Bạn có thể bật xác thực hai yếu tố (2FA) tại đây nhưng bạn nên định cấu hình sau khi cài đặt. Nhấp vào nút để tạo cơ sở dữ liệu và tài khoản người dùng.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22450%22%3E%3C/svg%3E
Trang tiếp theo sẽ hiển thị trạng thái cài đặt và sẽ hiển thị cho bạn tên người dùng và mật khẩu. Nhấp vào nút để tiến hành bước 4.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22665%22%3E%3C/svg%3E
Trang tiếp theo sẽ liệt kê các giá trị được đề xuất và hiện tại từ tệp
php.ini
của bạn. Đảm bảo các giá trị hiện tại đáp ứng yêu cầu. Trình cài đặt hiển thị giá trị sai cho biến max_execution_time
vì một lý do nào đó ngay cả khi bạn đã đặt đúng. Bạn có thể bỏ qua điều đó. Bạn có thể xác minh các giá trị hiện tại bằng cách sử dụng các lệnh sau.data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22570%22%20height=%2240%22%3E%3C/svg%3E
Khi bạn đã hài lòng, hãy nhấp vào nút để tiến hành bước 5.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22537%22%3E%3C/svg%3E
Bước tiếp theo liệt kê các thiết lập máy chủ Apache mà chúng ta sẽ bỏ qua vì chúng ta đang sử dụng máy chủ Nginx. Nhấp vào nút để tiếp tục đến trang tiếp theo.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22458%22%3E%3C/svg%3E
Tại đây, bạn sẽ được yêu cầu chọn một chủ đề cho bảng quản trị. Chọn tùy chọn Giữ nguyên và nhấp vào nút để tiếp tục. Bạn có thể thay đổi chủ đề từ bảng quản trị sau này, tuy nhiên bạn sẽ không thể thấy chúng trông như thế nào. Nếu bạn chọn từ trang cài đặt, bạn cũng có thể kiểm tra chúng trông như thế nào trước khi chọn. Chúng tôi sẽ sử dụng chủ đề mặc định.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22679%22%3E%3C/svg%3E
Trang cuối liệt kê một số lưu ý cuối cùng về phần mềm và thông tin đăng nhập tài khoản. Nhấp vào nút Bắt đầu để mở trang đăng nhập.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22698%22%20height=%22538%22%3E%3C/svg%3E
Bạn sẽ nhận được cửa sổ bật lên đăng ký OpenEMR để nhận thông báo từ trang web của họ. Bạn có thể bỏ qua và nhập thông tin đăng nhập của mình và nhấp vào nút Đăng nhập để truy cập bảng điều khiển.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22423%22%3E%3C/svg%3E
Nếu bạn không cấu hình xác thực hai yếu tố trong quá trình cài đặt, hãy thực hiện bằng cách nhấp vào biểu tượng hình đại diện ở trên cùng bên phải và chọn tùy chọn Quản lý MFA.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22287%22%20height=%22241%22%3E%3C/svg%3E
Ở trang tiếp theo, chọn Phương pháp xác thực từ menu thả xuống và bắt đầu cấu hình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22342%22%3E%3C/svg%3E
Bạn có thể bắt đầu sử dụng OpenEMR để quản lý doanh nghiệp chăm sóc sức khỏe của mình từ đây.